原文链接:自动重启挂掉的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