使用 FFMPEG 修剪 MP4 文件时音频比视频长

使用 FFMPEG 修剪 MP4 文件时音频比视频长

我刚刚发现了 FFMPEG,我需要它来将大量 MP4 文件剪辑到每个文件的最后 20 秒。每个 MP4 文件都有一个视频轨道和两个音轨,并且还具有可变帧速率。

我一直在使用这行代码:

for %F in (*.mp4) do ffmpeg -sseof -20 -i "%F" -map 0:v -map 0:a -c:v copy -c:a copy "%~nF_trimmed.mp4"

修剪很顺利,但音频有问题。出现此错误时不会取消修剪过程,但我认为这与我的问题无关:

[mp4 @ 0000025740443740] track 1: codec frame size is not set
[mp4 @ 0000025740443740] track 2: codec frame size is not set

当我将修剪后的文件放入视频编辑软件时,可以看到以下内容:

編輯截圖

第二条音轨比视频轨道长。

-最短命令没有起到作用。也许我只是用错了?

答案1

我一直在捣鼓-shortest,但遇到一个问题,就是较长的音轨无法剪辑到视频的长度。我尝试使用以下方法:

ffmpeg -i INPUT -c copy -shortest OUTPUT

更仔细地阅读了该选项的文档后:

当最短输入流結束。

使用上述 FFmpeg 命令仅有的单个输入流。因此以下命令最终起作用了:

ffmpeg -i INPUT -i INPUT -c copy -shortest -map 0:v -map 1:a OUTPUT

这两个INPUT都是同一个文件。

相关内容