2017-04-01 262 views
1

我有这个批处理脚本在Windows上运行完美:FFmpeg的批处理脚本

C:\ffmpeg\bin\ffmpeg -i http://ipaddress/stream -deinterlace -c:v libx264 -pix_fmt yuv420p -s 960x540 -preset superfast -vb 1200k -maxrate 1200k -r 30 -g 60 -bufsize 8000k -c:a aac -b:a 64k -ar 44100 -ac 2 -f flv rtmp://ipaddress/live/ 

有时ffmpeg的崩溃,我怎么可以编辑批处理脚本或我可以添加到批处理文件重新启动的流内容。

感谢提前!

回答

1

我不知道ffmpeg的命令可以重新启动这种方式,
但我会限制重试次数以避免无限循环失败:

@Echo off 
Setlocal EnableDelayedExpansion 
Set Retry=0 
:loop 
C:\ffmpeg\bin\ffmpeg.exe -i http://ipaddress/stream^
    -deinterlace -c:v libx264 -pix_fmt yuv420p -s 960x540 -preset superfast^
    -vb 1200k -maxrate 1200k -r 30 -g 60 -bufsize 8000k -c:a aac -b:a 64k^
    -ar 44100 -ac 2 -f flv rtmp://ipaddress/live/^
    ||(Set /A "Retry+=1"&if !Retry! leq 3 Goto :loop) 
+0

非常感谢您! 如何编辑,如果我需要它无尽? –

+0

如果命令失败,'||'是条件执行。因此,如果ffmpeg退出时出现错误,您可以将最后一行更改为“||” goto:loop' – LotPings