『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: louis_lee

[新奇玩法] 【立省100%】小米系可视门铃本地存储

  [复制链接]

0

主题

24

帖子

1216

积分

金牌会员

Rank: 6Rank: 6

积分
1216
金钱
1192
HASS币
0
发表于 2023-3-13 17:53:49 | 显示全部楼层
本帖最后由 miaoer 于 2023-3-13 18:07 编辑
louis_lee 发表于 2023-3-13 16:09
我用的小米门锁pro(带可视门铃),可以播放完视频,与米家APP一致。我看我自己门铃生产的m3u8文件,应该 ...

但是我单独的这个智能门铃的确有问题,换vlc可以正常播放
代码中最后一行将ffmpeg命令改为vlc命令可以生成视频
回复

使用道具 举报

18

主题

587

帖子

4297

积分

元老级技术达人

积分
4297
金钱
3675
HASS币
182
 楼主| 发表于 2023-3-13 18:21:27 | 显示全部楼层
home-assistant docker容器不自带vlc,自带ffmpeg,所以我想用ffmpeg再试试。
回复

使用道具 举报

18

主题

587

帖子

4297

积分

元老级技术达人

积分
4297
金钱
3675
HASS币
182
 楼主| 发表于 2023-3-13 18:24:17 | 显示全部楼层
dscao 发表于 2023-3-13 17:45
下载后,有4个文件:

1678700582475.key

如果视频不涉及隐私的话,方便私我一下m3u8地址嘛?我看看ffmpeg还能抢救下不
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24443
金钱
23012
HASS币
290
发表于 2023-3-13 18:35:20 | 显示全部楼层
本帖最后由 dscao 于 2023-3-13 18:42 编辑
louis_lee 发表于 2023-3-13 18:24
如果视频不涉及隐私的话,方便私我一下m3u8地址嘛?我看看ffmpeg还能抢救下不 ...

好的。有空研究一下吧。
对了,iphone的浏览器可以正常打开这个m3u8地址的视频。 电脑的浏览器不行,PotPlayer也不行。


刚刚也试了一下vlc播放器,确实可以。
回复

使用道具 举报

0

主题

24

帖子

1216

积分

金牌会员

Rank: 6Rank: 6

积分
1216
金钱
1192
HASS币
0
发表于 2023-3-13 19:31:52 | 显示全部楼层
本帖最后由 miaoer 于 2023-3-13 19:38 编辑
louis_lee 发表于 2023-3-13 18:21
home-assistant docker容器不自带vlc,自带ffmpeg,所以我想用ffmpeg再试试。

我这边今天试了一段时间,没找到解决办法  我也期待您的尝试,ffmpeg的确比较方便
以下是使用vlc的方法,遇到同样问题的朋友可以暂时使用这个方法:

1、 安装vlc:    1)如果是docker容器中:
apk add vlc
   2)如果是debian主机中:
sudo apt-get install vlc


2、修改vlc可使用root用户运行(可选,docker容器中这样比较方便):
cp /usr/bin/vlc /usr/bin/vlc-backup
needle=$(objdump -d /usr/bin/vlc | grep euid | tail -1 | awk '{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6;}')
sed -ir "s/$needle/\xb8\x01\x00\x00\x00/" /usr/bin/vlc
若docker容器中运行提示objdump不存在,可以复制到主机中替换完成再转移回去:
cp /usr/bin/vlc /usr/bin/vlc-backup
cp /usr/bin/vlc /config/
needle=$(objdump -d /usr/local/dockers/homeassistant/config/vlc | grep euid | tail -1 | awk '{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6;}')  # 主机中运行
sed -ir "s/$needle/\xb8\x01\x00\x00\x00/" /usr/local/dockers/homeassistant/config/vlc  # 主机中运行
mv /config/vlc /usr/bin/vlc

3、按照楼主原流程继续,但是将xiaomi_video_autosave.sh中最后一行替换为:
# ffmpeg -i $video_url -acodec copy -vcodec copy -f mp4 $file_name
cvlc -vvv $video_url -vvv "vlc://quit" --sout "#standard{access=file,mux=mp4,dst=$file_name}"








评分

参与人数 2金钱 +36 收起 理由
dscao + 20 论坛有你更精彩!
louis_lee + 16 谢谢!

查看全部评分

回复

使用道具 举报

27

主题

1294

帖子

5895

积分

元老级技术达人

积分
5895
金钱
4576
HASS币
100
发表于 2023-3-13 20:05:14 | 显示全部楼层
终于有人发小米的了,我最近在尝试涂鸦的,看不到实时视频流的地址。而且原理上每次触发的地址是不一样的,比较麻烦。
小米的这个地址是在camera属性里直接能看到吗?
回复

使用道具 举报

18

主题

587

帖子

4297

积分

元老级技术达人

积分
4297
金钱
3675
HASS币
182
 楼主| 发表于 2023-3-13 20:45:31 | 显示全部楼层
25989406 发表于 2023-3-13 20:05
终于有人发小米的了,我最近在尝试涂鸦的,看不到实时视频流的地址。而且原理上每次触发的地址是不一样的, ...

miot auto插件就放在camera属性里了
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24443
金钱
23012
HASS币
290
发表于 2023-3-14 09:21:48 | 显示全部楼层
miaoer 发表于 2023-3-13 19:31
我这边今天试了一段时间,没找到解决办法  我也期待您的尝试,ffmpeg的确比较方便
以下是使用vlc的方法, ...

haos中ha升级一下就需要重新配置,想着在nodered中配置,结果出现以下错误,生成了一个0k或1k的不可用mp4文件。

[00007f0c955ec0d0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[00007f0c955c2cc0] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[00007f0c955c2cc0] main interface error: no suitable interface module
[00007f0c958419b0] main libvlc error: interface "dbus,none" initialization failed
[00007f0c955c5a90] main interface error: no suitable interface module
[00007f0c958419b0] main libvlc error: interface "globalhotkeys,none" initialization failed
[00007f0c955c5aa0] dummy interface: using the dummy interface module...
[00007f0c951e9590] mjpeg demux error: cannot peek
回复

使用道具 举报

0

主题

24

帖子

1216

积分

金牌会员

Rank: 6Rank: 6

积分
1216
金钱
1192
HASS币
0
发表于 2023-3-14 15:38:05 | 显示全部楼层
dscao 发表于 2023-3-14 09:21
haos中ha升级一下就需要重新配置,想着在nodered中配置,结果出现以下错误,生成了一个0k或1k的不可用mp4 ...

这个应该是系统问题了,我这边没有nodered

测试了几段使用vlc转换的,用ffmpeg检测发现有dts问题
[null @ 0x7f765c1b7ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 43 >= 40
[null @ 0x7f765c1b7ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 46 >= 46
[null @ 0x7f765c1b7ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 49 >= 49
[null @ 0x7f765c1b7ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 55 >= 55


推测ffmpeg转换出来的视频不全就是因为这个原因导致的,使用如下命令可以获取一小段正常视频:
ffmpeg -i $video_url -acodec copy -vcodec h264 -f mp4 $file_name


@louis_lee 楼主可以参考一下看看,这这边暂时没找到解决这个问题的方法,vlc估计是忽略了这个错误,但是转换出来的视频在web端也只能看一小段,在播放器中可以正常观看
回复

使用道具 举报

7

主题

91

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
金钱
1083
HASS币
10
发表于 2023-3-14 18:12:01 | 显示全部楼层
总是提醒这个,也修改了几次,找不到原因

door_video_autosave uses an unknown service
The automation "door_video_autosave" (automation.door_video_autosave) has an action that calls an unknown service: shell_command.xiaomi_autosave.

This error prevents the automation from running correctly. Maybe this service is no longer available, or perhaps a typo caused it.

To fix this error, edit the automation and remove the action that calls this service.

Click on SUBMIT below to confirm you have fixed this automation.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-4 15:51 , Processed in 0.058760 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表