如何将SRT字幕添加为Teletext字幕流至TS容器文件
如何将SRT字幕添加为Teletext字幕流至TS容器文件
嗨,我来帮你搞定这个问题!要把SRT字幕转换成Teletext字幕流嵌入TS文件,你得调整FFmpeg的参数——毕竟Teletext和DVBSUB是完全不同的字幕格式,不用绕VobSub那一步啦,直接用FFmpeg就能搞定。
给你个实用的命令,直接从SRT生成Teletext字幕流并合并到原TS文件:
ffmpeg -probesize 60M -analyzeduration 60M \ -i "input.ts" \ -i "subtitles.srt" \ -map 0 -map 1 \ -vcodec copy -acodec copy \ -c:s teletext \ -metadata:s:s:1 service_name="Teletext Subtitles" \ -metadata:s:s:1 service_provider="Your Provider" \ OUTPUT.ts
我给你拆解下关键部分:
-c:s teletext:这是核心!指定字幕编码器为teletext,这样生成的就是标准的Teletext字幕流,而不是你之前用的DVBSUB-metadata相关参数:给字幕流添加上识别信息,方便播放器正确识别并显示字幕名称- 如果需要指定Teletext的页面号(比如常见的100页),可以加个
-teletext_page 100参数,放在-c:s teletext后面就行
另外还有几点小提醒:
- 尽量用新版本的FFmpeg,旧版本对Teletext的封装支持可能不够完善
- 不用再转成VobSub格式啦,SRT是文本字幕,直接转Teletext效率更高也更准确
- 测试的时候可以用VLC这类支持Teletext的播放器,查看媒体流信息就能确认字幕类型是不是Teletext
备注:内容来源于stack exchange,提问作者FlexMcMurphy
相关产品推荐
相关产品推荐

