起因
一直以为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编码