【发布时间】:2020-05-13 18:56:50
【问题描述】:
我已经阅读了许多与使用 ffmpeg 提取每种语言的流相关的帖子,但似乎-map 0:m:language:xxx 是全球性的,适用于所有流。
假设我有一个视频文件,其中希望包含一个英语音频流和一些法语字幕流,以及可能许多其他流。我想获得一个较小的文件,其中包含第一个视频轨道、(第一个)英文音频流和所有法文字幕流。
如果我跑步
ffmpeg -i "$file" -map 0:v:0 -vcodec copy -map 0:m:language:eng -acodec copy -map 0:m:language:fre -scodec copy -f matroska "${file%.*}.mkv_out"
我得到file.mkv_out所有法语或英语的音频和字幕轨道。
有没有办法做到这一点,而无需事先了解原始文件中的曲目编号?
谢谢。
【问题讨论】:
-
您好,我添加了新答案,您尝试过我的建议了吗?
-
MichalH 谢谢大家。阅读您的建议再次教会了我一些 ffmpeg 的精妙之处。我选择了单行答案,但我从两者中都学到了。
标签: ffmpeg