老掉牙的微软MODIocr识别引擎准确率较低,为了照顾MODIocr,esrXP需要做较多设置、试验、调整参数的工作,以便提供漂亮的黑底白字clearTxT给MODIocr,这就很考验用户的经验了。总体来说识别率不高、工作量较大。虽然esrXP已经停更多时,但是苦于没有更好的选择,长期以来字幕爱好者只能将就着用。
VideoSubFinder_5.50_x64做类似esrXP的工作(区别是保存每个字幕图片,不打包成一个idx文件),ABBYYFineReader15做类似IdxSubOcr的工作,将每个jpg字幕图片ocr识别为一个txt文件,然后回到VideoSubFinder_5.50_x64将所有txt文件合成一个srt文件。
ABBYYFineReader15号称地表最强离线文字ocr引擎,虽然比MODIocr好得多,但在实际使用效果上,对比经过数年AI人工智能训练的云识别引擎(例如百度OCR通用文字识别引擎),识别准确率还是差了一大截。
采用VideoSubFinder_5.50_x64+百度搜狗有道讯飞OCR通用文字识别引擎,整合第三方工具APP(为什么不好好利用别人的成果呢?),从开始到结束,整个字幕提取流程一气呵成,识别率高、省时省力。
总体来说,三个大步骤:
1、将字幕从视频中切片截图下来
2、将字幕图片OCR为文字
3、校对编辑字幕文字
具体步骤如下所述:
一个手机号码注册一个账号(须实名认证)。
每账号每天免费识别次数有规定(依精度不同从每天500次到每月1000次不等,每次识别1张图片,具体政策由厂家规定),如不够用可多注册几个账号,同时厂家经常有优惠活动(例如百度1元购1W次,讯飞0元购10W次,搜狗有道新注册送50、100元等)。对于长期需求用户,建议充点钱购买次数吧,价格不贵,还能支持国家高科技发展。
注册步骤很简单,可自行百度,获得的APP_ID/API_KEY/SECRET_KEY信息先保存起来下面会用到。
类似的:
注:APP2不指定,可以选用户熟悉的其他软件,例如SubtitleEdit可换成Aegisub或ArcTime
打开工具,
点击‘系统设置’
填入步骤1获得的百度OCR服务APP_ID/API_KEY/SECRET_KEY
点Browse找到步骤2安装好的APP的入口exe文件,APP1–APP2顺序不要错,然后Save保存设置。
这时,主界面的APP1、APP2按键将显示刚才设置好的exe文件名
点击主界面VideoSubF按键,将启动运行VideoSubFinder_5.50_x64
快速浏览全片,查看字幕区间矩形最大范围(注意有些视频是两层字幕),用两根竖线两根横线设置字幕截图区间(四根线在视频边缘不容易发现,试着点击选中可以移动它)。注意:矩形边框要比实际字幕稍大,不要为了节省图片尺寸而把区间设置成紧贴字幕(当然也没必要设置得太大,太大会导致叠图数量降低)。
点击Search右边的Settings,出现设置界面,我们只关心左边这块能影响Search字幕图片的参数。
第一个参数‘TextAlignment’默认设置是‘Center’,须要点击设置成‘Any’。
其他众多参数中,有一个参数至关重要,就是UseFilterColors这项,default值是空的,其他参数可以不设,这个一定要设置上,特别是非纯白字幕,例如黄色!如果不设置,有大几率会漏字幕。
在右边界面先点一下PixelColor
然后点击字幕白色文字中心骨干取色,点不准可以多点几下。
取到了颜色,会显示出来
点击Search->ClearFoders清空RGBImages目录,
然后点OCRSearch,程序开始扫描视频文件,生成RGBImages。
几分钟后扫描完成,可以关掉VideoSubFinder_5.50_x64,初次使用我们可以打开RGBImages目录看一下
打开文件看看,是RGB原色字幕截图切片,很适合喂给百度AI过的OCR引擎做识别。
点击主界面上的‘删合’按键,将打开‘删合窗’并自动定位到RGBImages目录,
我们可以在‘删合窗’中清除RGBImages目录中的空字幕图片。
一页可以显示几十张图片,浏览、选中、删除非常方便。
翻页:将鼠标指针停留在图片区,滚动鼠标滚轮,或者键盘↑↓键、键盘←→键,可以翻页(一次滚动三列)
选中:鼠标左键点击可以标记选中图片,再次点击可以去选中。Shift+鼠标左键可以连续多选、连续去选。
更多方便的功能可以看“第四节之6、删合窗(删除合并)”
如下图一处为空字幕图片,可以选中标记它:
一直标记到最后一页:
然后点‘总删合’,确认后将会把刚才标记过的所有空字幕图片删除(如果发现不能删除,多半是系统权限问题,请不要将VSF和本工具安装在C盘或桌面):
清理完空字幕图片后,点击面板上的‘返回主界面’。
百度高精度每天免费识别额度较低,如不采用叠图---多张字幕图片合成一张大图来识别以节省额度,每天只能识别较少字幕图片,因此,如果用户没有购买额度,应该在系统设置中先选上叠图,并保存设置。
点击主界面的OCR按键,程序将连接百度OCR服务器,对RGBImages目录中的所有字幕图片从头到尾按顺序做识别,只需等待完成即可(免费用户最大每秒能处理2–3次识别)
OCR识别完成了!
这时在RGBImages目录下已经为每个.jpeg文件生成了一个同名.txt字幕文件,初次使用可以看一下。
点击主界面上的‘校对’按键,将打开校对窗,校对窗显示一页6组图文。
编辑:可以用输入法进行常规的输入、删除、鼠标左键/右键插入空格等操作。
翻页:将鼠标指针停留在任一图片上,滚动鼠标滚轮,或者键盘↑↓键可以翻页。翻页将自动保存校对过的字幕。
选中:鼠标右键点击可以选中图片,再次点击可以去选中。
删除:按Delete会弹出删除提示,按回车Enter执行删除。
更多方便的功能(例如‘精准对齐’,‘一键插入空格’)可以看“第四节之7、校对窗(补漏校对)”
如果希望在SubtitleEdit等字幕软件中做校对,可以略过这个步骤,直接到下个步骤。
校对完字幕后,点击面板上的‘返回主界面’。
之所以前面在校对窗做过校对,这里又用到APP2来做编辑,是因为有些用户(例如字幕组)对字幕要求高,还需要做调轴、批量替换、方言转换等进一步校对工作。
可以大概浏览一下,然后关掉。
点击主界面SubtileE按键,将自动打开SubtitleEdit编辑刚才生成的123.srt字幕文件。
在波形图窗口里,“点击以添加波形”,打开视频文件,本例是‘倚天屠龙记之魔教教主-中字.mp4’
在波形图窗口,勾选‘选择当前播放时刻的字幕’,设定播放速度,例如200%,然后开始播放视频,字幕会同步显示在播放窗口,可随时暂停播放,进行字幕校对。
该删除的删除,该修正的修正,该替换的替换,该调轴的调轴。
一般来说,走到SubtitleEdit这步,剩下的校对工作已经不多了,有时甚至不需要校对就能用了(注重细节的用户还是认真过一遍吧)。
完成字幕校对后,点击“文件->另存为”保存校对好的字幕文件,SubtitleEdit会自动将123.srt重命名为跟视频文件同名的srt文件“倚天屠龙记之魔教教主-中字.srt”,并保存在视频文件所在目录下,方便大多数播放软件播放视频文件时自动加载同名字幕文件。
至此,整个硬字幕提取流程就走完了。
问题反馈及建议:
1、
Q:软件需要安装吗?运行出错怎么办?
A:绿色免安装。如果32bit版本运行出现“Failedtoexecutescriptpyi_rth_multiprocessing”错误,说明win7x32系统太旧,要先装KB2533623才行。如果出现找不到dll的报错,请安装Microsoft.NETFramework4.8和MicrosoftVisualC++2015-2019。如果运行过程中,执行命令或删除出错,多半是系统权限问题,请不要将VSF及工具软件解压安装在C盘、或者偷懒放到桌面运行,有这种坏习惯要改。
2、
Q:APP1、APP2指定必须要用文档例子中的第三方软件吗?
3、
Q:OCR服务商免费吗?
A:每家OCR服务商提供不同的免费识别额度(每天每月有一定数量,具体看厂家规定),业余人士可利用免费额度。同时厂家经常有优惠活动(例如百度1元购1W次,讯飞0元购10W次,搜狗、有道新注册送50、100元等)。而对于长期需求用户,建议充点钱购买次数吧,价格不贵,还能支持国家高科技发展。
4、
Q:为什么填写了OCR服务商的KEY后,不能识别?
A:请确认开通了服务商的文字识别服务,填写获得的KEY等资料前后不能有空格、双引号、单引号等其他字符,鼠标双击拷贝KEY有时候会多拷贝一个空格。如识别出现“NetworkException!”错误提示,说明无法连接到OCR厂家的服务器,请检查网络连接是否正常(不要用VPN代理),或重启一下电脑再试。
5、
Q:高精度和低精度识别率差别大吗?
A:对于清晰简单的字幕,差别不大,模糊复杂(多种语言混合)的字幕、大图识别,差别较大,在批量识别前可做识别试验,以便选择最佳设置。
6、
Q:有时候叠图出现‘间隔标记丢失,尝试纠正!’的告警提示,怎么办?
A:OCR厂商训练的机器学习模型,对不同特征的图片识别能力不同,甚至有些特殊爱好或怪癖,例如百度OCR对于模糊字幕的叠图容易丢失间隔标记(模糊与清晰并存时眼睛有点花),其他厂家的OCR则没有这种问题。有些语言类型设置会丢失第一个英文字符,有些会丢失标点,小问题不一而足。每种机器学习模型的情况都不同,在批量识别前可先做识别试验(包括加入增强魔棒),以便获得最佳设置,得到最佳识别结果。
7、
Q:极速叠图会导致识别率降低吗?
8、
Q:想切换图片做字幕文字编辑,老是要在文件列表区用鼠标点击,很不方便。
A:请用鼠标滚轮或者键盘↑↓来做图片切换浏览,滚动时请将鼠标指针停留在图片区中,然后滚动滚轮,养成使用习惯后会很方便。
9、
Q:批量识别过程中出现NetworkException错误、额度用完、手动中止,导致识别未完成,又不想重头识别,想从中断点处继续识别怎么操作?
A:主界面Restart去选中,接下来再做批量识别将自动从中断点处继续识别。
10、
Q:识别率不高、漏字、错字、漏标点、漏空格,怎么办?
A:识别率主要由OCR厂家训练的机器学习模型决定,遇到识别率问题,可以:
1)更换OCR厂家
2)更改语言类型设置
3)利用‘增强魔棒’提高识别率
4)如果用了叠图,可以改为半叠或者不叠
5)识别完成后,利用SubtitleEdit、Aegisub等字幕软件替换错误字符
11、
Q:如果不想用VSF的RGBImages想改用TXTImages来做OCR可以吗?
A:当然可以,只需要在文件列表区手动Browse打开定位到TXTImages目录即可,其他一切操作跟在RGBImages目录下无异。
12、
Q:OCR识别率挺高的,多数情况下只需要补上识别丢失的空格,就能完成文字校对工作了。在校对窗校对时,有办法提高插入空格的速度吗?
A:6.3版及以前版本支持“鼠标左键定位+鼠标右键插入空格”,须按两下鼠标插入一个空格,6.5版新增“鼠标左键一键定位+同时插入空格”功能,只需要按一下鼠标左键就能插入一个空格,变得更轻松了。
13、
Q:OCR批量识别完成后,是在校对窗中校对,还是在APP2第三方字幕软件中校对?
A:常规流程做法:OCR批量识别完成后,切换到校对窗,先缩放和移动字幕图片,做精准对齐,然后开始校对。校对完后生成SRT文件,启动APP2进行替换、转换、调轴。
有时候也可以:OCR批量识别完成后,生成SRT文件,启动APP2进行替换、转换(但不调轴),然后切换回校对窗、导入APP2加工过的SRT文件做精校对(校对完还可再次生成SRT文件,启动APP2做调轴)。具体看识别率来定。
14、
Q:网页截图识别没反应?如何提高网页、pdf文件截图识别率?
A:需要先安装第三方截图软件如Snipaste,然后配合本工具才能实现截图识别。为了提高识别率,可以选用高识别率OCR厂家、还可开启增强魔棒,并将Snipaste输出图像质量设置成100。
15、
Q:使用时遇到报毒
A:请不用担心,因为本工具采用python+pyinstaller打包,很多防毒软件会误报(除非购买白名单证书或申请鉴定)
16、
Q:有朋友担心程序植入了木马
A:我只想说:稍微做过python编程的,都知道python是解释型语言,是不能加密的,exe只是个打包。你担心木马可以读读本程序代码嘛(凡是你能找到的从1.0到最新的版本),花不了你几分钟,就能解开你的疑虑。或许你还能学到点知识,提高点水平,如果整天只会人云亦云疑心重,精神萎靡搞黄色,你这辈子也就这样了。。。
本工具仅供个人使用,为业余提取字幕的朋友提供方便,不可用于商业目的,不可侵犯他人知识产权。
同时,作者建议有长期大量需求的用户,请购买OCR服务商的额度,支持国家高科技发展。
6.5最新版(64bit、32bit)下载地址:
提取码:2021
2021.09.13更新:
1、修复了进度条长度异常问题
2021.09.02更新:
1、允许秘钥拷贝填写误多输入空格
6.3开放了5个OCR,对比6.2只开放了1个OCR
因近期OCR服务商免费额度政策调整,导致很多新用户额度不够用,故开放5个OCR,不够用的朋友可以实名申请最多5个OCR秘钥填入,从而提供5倍于单个账号的免费额度。如果还不够用,请购买OCR服务商的额度。
6.5版新增“鼠标左键一键定位+同时插入空格”功能,校对窗中文本框只须按一下鼠标左键就能插入一个空格,对于高精度版这种文字识别率很高,但是空格不能识别,需要补漏空格的校对工作,变得更轻松了。对比6.3及以前版本支持“鼠标左键定位+鼠标右键插入空格”,须按两下鼠标才能插入一个空格(继续支持)。具体请看6.5版用户使用手册-校对窗章节。
VSF+SubtitleEdit(64bit)下载(内有中文设置使用手册):