我正在尝试编译具有多个音轨和字幕轨以匹配的mov文件。不幸的是,只有第一个字幕轨道出现在Quicktime中(适用于Apple设备)。看着它编译-似乎第二字幕轨道没有使用tx3g格式编码
命令
ffmpeg \
-i input1.mp3 \
-i input2.mp3 \
-loop 1 \
-i black.png \
-i eng.srt -i zh.srt \
-map 0 -map 1 -map 2 -map 3 -map 4 \
-c:a aac \
-c:v libx264 -pix_fmt yuv420p -shortest \
-c:s:0 mov_text \
-tag:s:s:0 tx3g \
-c:s:1 mov_text \
-tag:s:s:1 tx3g \
-metadata:s:s:0 language=eng -metadata:s:s:1 language=chi \
-metadata:s:a:0 language=eng -metadata:s:a:1 language=chi \
output.mov
部分输出
Stream #0:3(eng): Subtitle: mov_text (tx3g / 0x67337874)
Metadata:
encoder : Lavc57.89.100 mov_text
Stream #0:4(chi): Subtitle: mov_text
Metadata:
encoder : Lavc57.89.100 mov_text
答案 0 :(得分:1)
两个字幕均已编码,但标记语法错误。由于编解码器标记仅适用于流,因此不应出现首字母s
。另外,由于它是相同的编码器,因此您可以应用全局字幕编码器。
所以
-c:s:0 mov_text \
-tag:s:s:0 tx3g \
-c:s:1 mov_text \
-tag:s:s:1 tx3g \
成为
-c:s mov_text \
-tag:s:0 tx3g \
-tag:s:1 tx3g \
可以进一步简化为
-c:s mov_text \
-tag:s tx3g \
当然,因此不能确定QT是否失败。