小编sha*_*are的帖子

改进 bash 脚本,用于检查 ffmpeg 何时将流式 IP 摄像头 rtsp 挂起到 youtube

背景

我有一个花园 IP 摄像头,喜欢将直播传输到 youtube,所以我决定使用 ffmpeg 来实现这一点。

问题

每当我的网络摄像机重新启动或失去连接时;ffmpeg 将卡在同一帧上,并且一旦 IP 摄像头恢复在线就不会恢复。

我的解决方案

我将 ffmpeg 输出记录到文件中,然后让脚本每隔几秒获取日志的最后一行并比较帧数。如果帧号匹配,它会终止 ffmpeg 进程并启动另一个 ffmpeg 进程。

我的问题

有没有更好更高效的方法呢?

日志检查器.sh

#/bin/bash
while true
do
    frameA=$(tail /home/daniel/output.txt -n 1 | sed -nr 's/.*frame=(.*)fps.*/\1/p')
    echo "$frameA"
    sleep 3
    frameB=$(tail /home/daniel/output.txt -n 1 | sed -nr 's/.*frame=(.*)fps.*/\1/p')
    echo "$frameB"

    if [ "$frameA" = "$frameB" ]
    then
        echo "Camera has hung"
        pkill ffmpeg
        echo "killed ffmpeg..."
        echo "Waiting 30 secs"
        sleep 30
        bash /home/daniel/ffmpeg.sh &
        echo "started ffpmeg.."
        echo "Waiting 30 …
Run Code Online (Sandbox Code Playgroud)

youtube ffmpeg stream rtsp

8
推荐指数
1
解决办法
3772
查看次数

标签 统计

ffmpeg ×1

rtsp ×1

stream ×1

youtube ×1