我正在创建一个包含 4 个不同文件的 MKV 容器:
为此,我使用以下ffmpeg脚本:
ffmpeg -i video.mp4 -i audio_es.mp4 -i audio_en.mp4 -i subtitles.ass \
-map 0:v -map 1:a -map 2:a -map 3:s \
-metadata:s:a:0 language=spa \
-metadata:s:a:1 language=eng \
-metadata:s:s:0 language=spa -disposition:s:0 -default \
-default -c:v copy -c:a copy -c:a copy -c:s copy result.mkv
Run Code Online (Sandbox Code Playgroud)
看起来result.mkv很棒,一切都按预期工作,除了一件事:字幕仍然设置为默认轨道,因此 VLC 等播放器会自动显示它们。我已经尝试了很多不同的方法来避免旗帜发生这种情况disposition,但我无法让它发挥作用。
我应该如何修改脚本以使 MKV 的字幕轨道不被标记为default?
提前致谢!
对于 Matroska ( .mkv) 输出,请使用-default_mode以下选项:
ffmpeg -i video.mp4 -i audio_es.mp4 -i audio_en.mp4 -i subtitles.ass \
-map 0:v -map 1:a -map 2:a -map 3:s \
-metadata:s:a:0 language=spa \
-metadata:s:a:1 language=eng \
-metadata:s:s:0 language=spa \
-default_mode infer_no_subs \
-c copy result.mkv
Run Code Online (Sandbox Code Playgroud)
此选项需要 FFmpeg 4.3 或更高版本,或者使用当前 git master 分支的构建。
| 归档时间: |
|
| 查看次数: |
4313 次 |
| 最近记录: |