自动重启挂掉的ffmpeg服务

自动重启挂掉的ffmpeg服务

  • 背景
  • 准备代码
    • 启动服务
    • 检查服务状态并重启
  • 执行
  • 参考

背景

工作需要进行视频流的转换,但是不稳定,需要挂掉后自动重启服务。

准备代码

启动服务

restart.sh中的内容

ffmpeg -i "rtsp://xx.xx.xx.xx:554/xxx?tcp" -vcodec mpeg2video -b 2048k -acodec libmp3lame -ab 128k -f mpegts udp://127.0.0.1:1234?pkt_size=1316 2> /dev/null &

检查服务状态并重启

check.sh中的内容

while true
do 
    num=`ps -ef | grep ffmpeg | grep -v grep | wc -l`
    if [ $num -lt 1 ]
    then
        /root/restart.sh
    fi
done

执行

screen
chmod +x check.sh
chmod +x restart.sh
./check.sh

参考

  1. Bash while Loop
  2. 把ffmpeg放到后台自动运行

你可能感兴趣的:(其他)