我有很多带有多种音频和字幕语言的文件,但是曲目编号不一致(英文音频流并不总是第一个)所以使用如下命令:
ffmpeg -i "input.mkv" -map 0 -map -0:a:1 -c:v copy -c:a copy "output.mkv"
Run Code Online (Sandbox Code Playgroud)
不会产生预期的结果。在四处搜索后,我发现可以使用以下命令根据语言映射流:
ffmpeg -i "input.mkv" -map 0 -map -0:m:language:eng -c:v copy -c:a copy "output.mkv"
Run Code Online (Sandbox Code Playgroud)
但是-map -0:m:language:eng将删除所有带有英语语言标志的曲目。为了保留您可以使用的字幕轨道,-map 0:s这是一个很好的解决方案,但是,我想知道是否可以仅根据语言映射音频流。