【发布时间】:2016-06-14 07:51:32
【问题描述】:
我使用 ffmpeg 将 UDP 流(从 DVB 信号生成)解码为 HLS,并使用以下代码:
ffmpeg -i udp://239.1.2.1:60001?fifo_size=50000000 -acodec copy -vcodec copy -hls_time 2 -hls_wrap 5 -f hls /var/www/html/ts/1.m3u8
有时 DVB 信号会下降几秒钟或几分钟,这会导致 ffmpeg 停止编码并显示错误:
udp://239.1.2.1:60001: Connection timed out
当我在 VLC 播放器中播放 udp 并且输入流下降一段时间后,VLC 等待停止播放,当流再次开始播放时。
现在我想知道是否存在 ffmpeg 发现流停止并且不显示超时错误的方法......这意味着 FFMPEG 保持连接打开并等待每次从源开始时接收流。谢谢
【问题讨论】:
-
在
-i之前添加-timeout <microseconds> -
你知道在超时之前输出流发生了什么吗?
-
作为 ffmpeg doc timeout 用于 RTSP 输入,你的意思是它也用于 UDP 吗? ffmpeg.org/ffmpeg-protocols.html#rtsp
-
请将其作为问题的答案发布
标签: ffmpeg udp video-streaming vlc dvb