0. 说在最前
我一开始是参考囧大的帖子:[接入教程] 海康威视摄像头接入HomeAssistant的方法(Ubuntu)](https://bbs.hassbian.com/thread-464-1-2.html)
可能囧大写帖子的时候 HomeAssistant 还没更新,新版本的** ffmpeg_bin 必须写在 configuration.yaml 的 ffmpeg: 里面,不在是 **camera: 里面定义了 ,今晚就是这个把我坑的好惨。
多谢 Syjjx 在群里对我提点。
最后,建议各位看大佬们写的教程帖子的时候必须先看看官方文档,再看大佬的帖子这样才会少遇坑。大佬们的帖子写的时候可能没问题,但是后来随着系统更新会改变。
FFmpeg 接入 HomeAssistant 官方文档
1. 安装 ffmpeg。(不同操作系统安装步骤google或者百度)
我是Debian 9,安装十分简单。
1
| apt-get install libav-tools
|
里面包含了 ffmpeg,应该也可以直接这样
2. 修改配置文件
先到 configuration.yaml 添加如下配置
1 2
| ffmpeg: ffmpeg_bin: /usr/bin/ffmpeg
|
注意:如果不知道自己安装系统的 ffmpeg 绝对路径可以使用如下命令得到
1 2
| # which ffmpeg /usr/bin/ffmpeg
|
再到 configuration.yaml 写入如下配置
1 2 3 4
| camera: - platform: ffmpeg input: -rtsp_transport tcp -i rtsp://user:password@camera_ip:rtsp_prot/h264/ch1/main/av_stream extra_arguments: -pred 1 -q:v 2 -s 704x576
|
- user:是摄像枪的登陆用户名,海康威视默认是admin
- password:是摄像枪的密码,海康威视现在初始化摄像枪都需要修改密码。
- rtsp_prot:这个是 rtsp 协议的端口,可以到摄像枪网络配置里面找到。
- h264:这个是代表你的摄像枪是用什么压缩协议,大部分的摄像枪是H.264和H.265,而摄像枪里面也可以自行选择。
- ch1/main/av_stream因为我这个是老款的硬盘录像机,URL上新款的可能和我略有不同,大家可能自行百度或者google找到你的录像机 rtsp 的url了,
ch1
代表第一路视频信号。3. 故障排除
可以在终端下运行 ffmpeg -rtsp_transport tcp -i rtsp://user:password@camera_ip:rtsp_prot/h264/ch1/main/av_stream -f null -
如果无报错只刷如下显示:
1 2 3 4 5 6 7 8 9 10 11 12 13
| [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 3 >= 3 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 18 >= 18 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 21 >= 21 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 38 >= 38 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 53 >= 53 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 56 >= 56 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 73 >= 73 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 88 >= 88 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 91 >= 91 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 108 >= 108 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 123 >= 123 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 126 >= 126 [null @ 0x55ad0c230ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 143 >= 143
|
就表示你的参数没问题了。
更多参数请查看官方文档:https://home-assistant.io/components/ffmpeg/