FFMPEG:MP4封装格式中外挂字幕的提取

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


起因

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

在这里插入图片描述
于是试着封装了一个MP4,效果和MKV相同。


字幕编码

MKV中.SRT字幕的编码格式
那么,.SRT封装入MP4后是什么编码呢?
.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编码


后话

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值