起因
一直以为MP4无法封装外挂字幕,直到今天看到MEGUI混流器中输出MP4时也可添加外挂字幕

于是试着封装了一个MP4,效果和MKV相同。
字幕编码
MKV中.SRT字幕的编码格式
那么,.SRT封装入MP4后是什么编码呢?

显然,用MP4封装外挂字幕的过程中,UTF-8编码的.SRT文件被重新编码成TIMED_TEXT编码的文件了。
探索
笔者将装有TIMED_TEXT字幕的MP4拖入MKVTOOLNIX,发现其字幕流并未被识别。猜测可能原因:1:MKVTOOLNIX对MP4文件只侦测其音频流和视频流;2:笔者使用的MKVTOOLNIX版本过于老旧。

笔者又使用MEGUI自带的流提取器进行试验,发现其不支持对MP4文件的流提取

笔者未实验小丸工具箱等其他软件。
TIMED_TXT字幕的提取
ffmpeg -i input.mp4 -map 0:s sub.ass
结论
1、MP4中外挂字幕的编码:TIMED_TEXT(又称:.TTXT,MOV_TEXT)
2、用以上命令导出的字幕文件为SSA编码
后话

本文探讨了MP4格式下外挂字幕的编码转换过程,揭示了.SRT字幕在MP4中以TIMED_TEXT编码呈现,并通过ffmpeg命令实现TIMED_TEXT字幕的提取,最终导出为SSA编码的字幕文件。
4337

被折叠的 条评论
为什么被折叠?



