从TS文件中提取DVB Subtitle字幕的简要教程
2013-10-21韦斌
韦斌
欧洲发达国家和地区(包括我国香港特区),其数字电视广播的字幕普遍采用欧洲DVB Subtitling标准,在卫星电视、有线电视及地面数字电视广播上大量采用。目前国内的观众可以从香港地面数字电视广播或亚洲3S卫星4000MHz频点凤凰卫视那组码流里接触到该字幕系统。DVB Subtitling系统具有可显示、可关闭字幕的功能,还可以选择多种文字字幕服务(前提是运营商提供多语种字幕广播),这是一种比较人性化的字幕系统,也称Close Caption。而我们国内电视上常见的内嵌字幕(也称Open Caption开放型字幕),字幕与图像是一体的,无法分离,更无法关闭或选多语种,两者的优劣对比,高下立判。图(1-3)
使用码流分析软件,可以看到采用DVB Subtitling标准制作字幕的节目,有DVB Subtitles字样的TS私有流,即为DVB字幕。
用 VLC media player 等软件播放能显示 DVB Subtitles字幕。DVB Subtitles为图形字幕,内含时间轴,不能直接提取为文本格式。
提取这种字幕,可以用OCR光学字符识别软件,把字幕提取出来成为 SUP 或 IDX/SUB 字幕文件。目前能提取DVB字幕的文件为ProjectX及DVBSub2Text,前者可将DVB中的中文及其他文字字幕提取转换为SUB文件,而DVBSub2Tex暂不支持中文识别,但识别及提取英文或拉丁文字幕却非常准确便捷,准确率接近100%,可一次性直接转换为Srt字幕文件。现我们分别介绍两种软件的使用方法。
使用DVBSub2Text
提取英文或拉丁文字幕
1、启动DVBSub2Text程序。由于目前DVBSub2Text对中文及日文等的支持不理想,识别出来的都是乱码,我们只用它来OCR识别英文字幕。
2、点击左上角File Open MPEG -TS,打开电脑中的DVB TS流文件
3、我们要选的是英文字幕转换,故将前面两条轨道的勾选框去掉(见图8)
用记事本直接打开,可以看到我们已经得到一个完整的Srt文件,英文字母的识别率几乎为100%(当然也偶有错误,故最好检查一遍),但有一些特殊符号,如分隔行的“-”,识别出来的却变成,我们需要用替换的办法把它替换为“-”。在记事本中点击编辑-替换-将替换为-,最后点击“全部替换”,即可得到一个合格的Srt字幕文件。如果替换效果不佳,还需要人工检查一下,将乱码的符号删除或替换掉。
用这种方法提取DVB Subtitles英文字幕是目前最为便捷高效的办法。如果我们收录到国外无中文字幕的DVB节目,可先用此法分离提取Srt格式字幕,并可在此字幕基础上,根据英文内容及时间轴制作中文字幕,就要比根据图像声音听译记录字幕的方法快捷准确得多了。我不知道网络上那些美剧字幕组是否是用此法来制作中文字幕,我用此法测试制作的中文版Srt字幕,一部电影只需一个上午就完成字幕翻译制作工作,连视频及声音都不需要打开。
有时会出现字幕时间轴整体提前或滞后几百毫秒的问题,只需用其他Srt字幕编辑软件调整一下即可(如SrtEdit2012等),在此不再赘述。
使用ProjectX提取中文字幕
对于非英文或拉丁文的汉语阿拉伯语日语等图形字幕,目前用DVBSub2Text做OCR识别,还是很不成熟的,出来的都是乱码,这主要是软件暂时缺乏字库支持,如果以后能支持汉字等字库, DVBSub2Text将是很好用的一款DVB字幕提取软件,故目前我们只能选用另一种方法。我们这里借助的是ProjectX_0.91.0软件版本,它是运行在JAVA环境下的,故需要先下载JAVA软件,可到其官方网站免费下载。推荐下载脱机版,方便以后在无网络的地方使用。
ProjectX_0.91.0.zip下载地址为
http://sourceforge.net/projects/project-x/
直接下载地址:
http://sourceforge.net/projects/ ... download?_test=goal
JAVA脱机安装WIN版的直接下载地址
http://sdlc-esd.sun.com/ESD6/JSC ... Host=javadl.sun.com
这两款软件下载安装完毕后,即可运行ProjectX_0.91.0
现在,需要用另外一个软件,把提取出来的时间轴及图形字幕,通过OCR光学字符识别软件识别出来,这里我们选用国内网友马健编写的免费软件IdxSubOcr,这是目前对汉字OCR识别率最高的软件。该软件需要跟微软Office2003或2007版本的MODI一起使用才有效。我们可以在安装Offices时选择安装MODI(在Office工具选项中选,见图25),这样才能有效利用Office自带的OCR光学识别程序,帮助我们对图形字幕进行识别。
用IdxSubOcr打开其中一个sub.idx文件。见下图。这样可以OCR出繁体字幕。
提取出来的字幕,最好再进行校对,即可完成DVB字幕的抽取。Srt字幕可转换成多种字幕格式,适合各种用途。
另外,我们在录制DVB数字电视广播节目时,为保证节目的完整性,往往连片头、片尾及片中插播的广告等节目也录了进去。在对节目进行编辑时,需要用其他TS流处理软件进行分割,舍弃无用的内容后再合并。这其中最重要的是要保留TS流中的原始数据,而有些TS流复用软件会把DVB Subtitle字幕数据丢失掉(如tsMuXerGui等)。
由于DVB Subtitle字幕制作技术目前仅为个别英国专业公司所掌握,我们对其代码还未完全了解,暂时无法提供与DVB Subtitle字幕完全兼容的字幕制作技术。电视机构对外节目交流如果使用DVB Subtitle字幕,还是需要购买英国某公司的专业字幕设备。笔者现在找到另外一种非常简单的DVB字幕制作及播出、解码的解决方案,可以将Srt字幕直接编码为TS私有流,与视频音频(可以是多音轨)封装为一套节目的TS流,在数字电视广播通道中传输与解码,用户终端电视机上展现的效果与DVB Subtitling几乎完全一致,可自由选择显示或关闭台词字幕,可选多种语种字幕(如果TS流中有多语种字幕),可以认为是目前所知的最简单实用的DVB字幕系统,而且完全是免费的。此字幕系统已经进行内部多次内部测试,效果相当好。我将于近期公开其制作方法,供有兴趣的读者参考,也欢迎广电同行进行相关测试。