我有一个包含字幕轨道的 MP4 文件。当我使用以下方式提取它时
MP4Box -raw 3:output=track3 myfile.mp4
我得到一个.tx3g
文件 - 半二进制格式。我的字幕编辑器不支持它,我不知道如何将其转换为可用的格式。
我在较新的 GNU/Linux 发行版上使用 Cinnamon。
答案1
GPAC/MP4Box 维护者在这里。请阅读此内容我们的维基百科上有关字幕的页面。
可以轻松转换为 srt 或 vtt:
gpac -i myfile.mp4 -o subtitles.vtt
为了获得更好的支持,请访问我们的官方错误追踪。 谢谢!
答案2
答案3
这是一个相当丑陋的方法 - 但它有效:
- 忘记这个
.tx3g
文件。
第一阶段:
- 如果你还没有,请下载/安装MKVToolnix。
- 开始
mkvtoolnix-gui
- 将您的
myfile.mp4
源添加到新的多路复用会话中 - 仅保留字幕轨道(通过清除其他轨道的复选框)
- 设置不会覆盖任何内容的目标文件名,例如
myfile_subs.mks
- 混合它!
mkvmerge
注意:您可以在命令行上实现相同的功能,例如:
mkvmerge \
--output myfile_subs.mks --no-audio --no-video --no-global-tags \
--language 2:en '(' my_file.mp4 ')'
(对于以 0 为基础的轨道索引为 2 的英语字幕;请用与您的文件相关的值替换。)
第二阶段:
启动终端。
跑步
mkvextract myfile_subs.mkv tracks 0:subs.srt
你应该看到类似这样的内容:
Extracting track 0 with the CodecID 'S_TEXT/UTF8' to the file 'subs.srt'. Container format: SRT text subtitles Progress:
进度条会上升到 100%,此时您就完成了。
您的字幕是
subs.srt
。删除
myfile_subs.mks