ffmpeg:是否有一种简单的方法来编辑视频分辨率,但保留所有音频和字幕

ffmpeg : is there a simple way to edit the video resolution, but keep all audio and subtitles

我想降低视频分辨率 - 通常来自 .mkv 个文件 - 但要保留所有可能的音轨(可能只有一个,可能有多个)和字幕(可能是 none,可能是几个)从原来的。我还想尽可能多地保留原始视频文件中的编码参数(尤其是那些我不理解的)。

我对ffmpeg还是个新手:起初这个想法似乎很简单,但经过多次尝试,似乎比这更复杂。我必须使用 -filter_complex 选项吗?对于我认为很容易转换的东西来说,这似乎有点矫枉过正(或过于复杂),但我可能错了。

我尝试将 -vf scale=-1:720-c copy -map 0 结合使用,这给了我一个错误,我现在明白了,但我无法进行下一步。

有什么方法可以实现吗?只能用 ffmpeg 完成还是我需要一个脚本?

你的尝试应该成功了。例如,

ffmpeg -i input.mp4 -vf scale=-1:720 -map 0 -c:a copy -c:s copy output.mp4

从输入中抓取所有流,通过缩放过滤器传递所有视频流,并复制所有音频和字幕流。

错误是什么?

keep as many encoding parameters

这是它做不到的。当您重新编码时,您可以选择最匹配可能用于输入的参数。