我正在使用 ffmpeg 使用 .m3u8 url 保存实时流。我经常看到以下消息。这会导致输出视频卡住。
skipping 5 segments ahead, expired from playlists
我如何告诉 ffmpeg 只写帧并忽略它们已过期?我宁愿看一段断断续续的视频,也不愿让它卡住。
最佳答案
老问题,但是 WTH ......也许它可以帮助某人。
如果我正确理解情况,则该消息意味着 ffmpeg 正在跳过 5 个完整 block (“段”)的下载。
这与“过期帧”无关,而是“我已安排下载但不再在播放列表上发布的 block ”。
5 个 block /段可能长达几秒钟,而不仅仅是 5 帧。这就是你看到卡住的原因。
也许您可以尝试对输入使用一些过滤器,这样输出多路复用器可能会填补分段间隙。看一下叠加过滤器,例如:https://ffmpeg.org/ffmpeg-filters.html#Examples-82
关于ffmpeg - 防止 FFMPEG 跳过过期帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44732849/