我正在尝试使用 生成一些视频文件ffmpeg
,但是当我使用 标志时-shortest
,我得到的文件的音频流比其视频流短几秒。我尝试了几种配置,但似乎出于某些未知(对我来说)的原因,ffmpeg
音频流总是提前约 8.3 秒结束。
我的实际情况相当复杂(我用来image2pipe
将自动生成的图像流转换为视频,并使用apad
确保音频流延伸直到视频结束),但为了简单和可重复性,我将给出一个简单的例子:
我正在使用命令ffmpeg -framerate 30 -pattern_type glob -i "images/*.bmp" -i audio.mp3 -r 30 -shortest output.mp4
。该目录images
包含 600 份https://samples-files.com/samples/Images/bmp/480-360-sample.bmp, 并且audio.mp3
是https://samples-files.com/samples/Audio/mp3/sample-file-3.mp3(这是一个1m
长文件)。我得到的输出文件可以在https://drive.google.com/file/d/1BCRhafFhTa8G-RPspv6o6ji2h6fRm8C0/view。如您所见,它可以正常播放,直到大约11s
,然后突然继续,没有音频。(使用mediainfo
,我可以确认文件持续时间为20s
,这也是视频流的持续时间,但音频流的持续时间为11.657s
)。
我的ffmpeg版本是6.0-6ubuntu1
。
我该如何解决这个问题?