我试图让FFplay在播放时停止(暂停)最后一张图片。
FFplay的默认行为似乎使用-loops
周边,这会导致最后一个音频数据包循环 - 即使图像处于暂停状态。
有没有办法停止在文件末尾播放音频?
答案 0 :(得分:1)
播放文件后可以使用-autoexit
退出。更多信息请访问:https://ffmpeg.org/ffplay-all.html#Advanced-options
答案 1 :(得分:0)
您的音频流似乎比视频流短。您可以使用ffprobe -show_streams -print_format json -v quiet << INPUT FILE >>
并查找每个流的持续时间长度。
我不确定你是否可以'循环'音频输入,但你可以连接(?)音频输入。我可以为您提供一个复杂的filter_complex
和concat
过滤器示例以与ffplay
一起使用,但我认为您应该做的是将输入流重新编码为相同的长度。
ffmpeg -i << INPUT >> -filter_complex "[0:0]fifo[v];[0:1]fifo[a];[v][a][a][a][a]concat=n=4:v=1:a=4[v_out][a_out]" -map "[v_out]" -map "[a_out]" -c:v libx264 -q:v 1 -g 30 -b:v 750k -c:a libfdk_aac -b:a 192k -q:a 1 -ar 44100 -shortest output.mp4
注意:shortest
标志将在最短流结束时停止编码(在这种情况下,可能是我们将音频流连接4次的视频同步)。