我正在使用FFMPEG(3.4.2版)将2个Raspberry Pi的2个IP摄像头(游客实时网络摄像头)流式传输到YouTube。 IPcam No.1和Raspberry No.1每个月左右会发生一次故障,如果服务未运行,则可以通过Cron作业解决该问题,该作业将重新启动脚本。
即使其相同的FFMPEG命令和相同的设置,来自2号IPcam的流也会在1小时到24小时后失败。 FFMPEG保持流式传输,并且该服务正在Raspberry上运行。 YouTube停止接收流,但是在YouTube上找不到日志。
带宽不是问题(光纤),并且摄像机都使用Cat5电缆连接。重新启动流的唯一方法(因此YouTube重新启动流)是重新启动服务(由于它是一个cronjob,仅当该服务不再运行时才重新启动该服务,因此我不得不采取措施)。我还尝试过设置另一个cron作业,该作业每15分钟就会中断一次服务,但这并不是一个很好的解决方案。
两个摄像机都流H264。
第二流在这里可以看到:https://www.youtube.com/embed/live_stream?channel=UCEJJjA5IsjE0JjuiqfxZFaw
我正在使用的命令是:
COMMAND="sudo ffmpeg -f lavfi -i anullsrc -thread_queue_size 512 -rtsp_transport tcp -i ${RTSP_URL} -vcodec libx264 -pix_fmt + -c:v copy -c:a aac -f flv ${YOUTUBE_URL}/${YOUTUBE_KEY}"
我希望有人可以帮助您提出有关命令或流失败的原因的想法。