我试图转换一些视频文件,其中包括 视频, 音频 和 字幕 流为另一种格式,使用 FFMpeg. 然而,ffmpeg却抱怨说 字幕 格式--它不能解码流。由于我不需要这个字幕流,我想知道如何才能在转换过程中禁用字幕流解码?
我终于找到了答案。
有这样一个选项 -sn
该选项禁用输入流的字幕解码。此外,还有类似的音频和视频解码选项。-an
和 -vn
分别是。
事实也证明,还有一种方法可以实现。人们可以使用 -map
选项来选择要解码的流。因此,省略字幕流中的 -map
选项的工作。
例如,如果一个电影文件有3个流。
FFmpeg的转换命令可能如下。
ffmpeg -i <input file> -sn -vcodec <video codec> -acodec <audio codec> <output file>
或
ffmpeg -i <input file> -vcodec <video codec> -acodec <audio codec> -map 0:0 -map 0:1 <output file>
以前的命令行 取消选择 的字幕流(可能是所有的,如果有几个),而后一个 选择 只有必要的流来解码。
要删除字幕流,而不重新编码视频和音频最短的命令是。
ffmpeg -i input.mkv -sn -c copy output.mkv