使用 ffmpeg 缩放视频时如何复制所有音频和字幕?

Zul*_*rib 3 ffmpeg

使用此命令将视频缩放到其分辨率的一半效果很好,但仅复制一个音频流,并且所有字幕都会丢失。

ffmpeg -hwaccel_device qsv -i $my_input_file.mkv -vf "scale=iw/2:ih/2" $my_output_file.mkv
Run Code Online (Sandbox Code Playgroud)

我只想更改视频流,就像现在一样,但复制所有其他流,包括音频、字幕和封面(如果存在),如果它们不存在,则不应抛出错误。

Gya*_*yan 6

您需要设置地图选项。请参阅http://ffmpeg.org/ffmpeg.html#Advanced-options

ffmpeg -hwaccel_device qsv -i $my_input_file.mkv -map 0 -c:a copy -c:s copy -vf "scale=iw/2:ih/2" $my_output_file.mkv

-map 0告诉 ffmpeg 输出文件中来自输入 0(第一个输入)的所有流。-c:a copy -c:s copy将复制存在的任何音频和字幕流。