找回密码
 立即注册
查看: 16198|回复: 15

IdxSubOcr:基于Netlfix字幕提取的OCR教程

27

主题

98

回帖

97

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
223848
leonvent 发表于 2018-7-29 15:30:00 | 显示全部楼层 |阅读模式
本帖最后由 leonvent 于 2019-3-10 17:07 编辑

一时兴起写了一遍OCR Netflix图形字幕的教程,扔在Q群感觉太浪费了。前后整理了一下,就发到这吧。

前言:自从Netflix在日本动画投资了一大笔钱后,Netflix平台上也有了大量的日漫作品,Netflix台区和港区也在逐步增加中文字幕,也许不久后会有很多作品会同步更新。
由于Netflix的字幕并不是嵌入视频的硬字幕,而是传统的外挂图形字幕,且没有被加密,可以提取来OCR。在字幕组的数量也在逐年下降,国内政策对线上媒体越来越紧的情况下,Netflix或许可以成为国人翻墙看片的一种新选择吧。写一篇简单的OCR Netflix图形字幕的教程应该是有意义的。


本篇教程所需要的部分工具:

一、提取NETFLIX字幕
所需工具:脚本管理器(Greasemonkey),Subtitle Edit
NETFLIX字幕并没有被加密,所以提取方法有很多,个人觉得最好用还是这款js脚本:https://greasyfork.org/en/script ... subtitle-downloader
新版字幕提取脚本可以直接提取文本,格式为VTT,可以用记事本编辑成srt
脚本安装完后登陆Netflix,用老虚的哥斯拉来做例子,我们可以看到字幕选择栏中,已经有下载的选项

下载当前的字幕或者下载整个剧集的字幕。我们这里是电影,所以下载当前的字幕就好了。下载下来是个zip压缩包,解压后就是传统XML+PNG的形式


使用SubtitleEdit,就可以生成传统的SUP或者其他的图形格式。工具 - 批量转换。字幕格式为blu-ray sup

转换速度不算快,最后得到的就是传统的sup字幕
作为最常见的PGS字幕,直接封装进视频抢个首发,是完全可以的。


评分

参与人数 3活跃度 +34400 收起 理由
liyuweiying + 12800
vxzms + 1600
2222 + 20000

查看全部评分

回复

使用道具 举报

27

主题

98

回帖

97

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
223848
leonvent  楼主| 发表于 2018-7-29 15:30:01 | 显示全部楼层
本帖最后由 leonvent 于 2019-3-10 17:08 编辑

二、OCR
OCR图形字幕的方法很多,这里仅介绍用IdxSubOcr


需要工具:
SharePointDesigner  (WIN10下如果.NET 3.5 安装失败,通常是启用或关闭windows功能里的.NET 3.5 没打开)
SubtitleEdit , Aegisub ,IdxSubOcr ,BDSup2Sub,JAVA

IdxSubOcr依赖office 的MODI,所以借助SharePointDesigner安装MODI 12.0。因为也只需安装MODI,所以其他组件就没必要安装了。
在系统上增加office 的繁体语言包(繁体系统下,应该需要简体语言包)
将繁体语言包下面的文件复制到安装到
MODI 12.0的相同文件夹下:
(64位)C:\Program Files (x86)\CommonFiles\microsoft shared\MODI\12.0
TCPRINT.DAT
TCPRINT2.DAT
TCSERHT.DAT
TCTREE.DAT
TW_BU.DAT
TW_UB.DAT
TWBIG532.DLL
双击reg文件导入注册表最后安装java,至此环境配置完成

由于IdxSubOcr只能OCR indx+sub字幕,所以我们需要把XML+PNG的字幕文件,转换成indx+sub的格式。
新版IdxSubOcr可以直接打开sup了,可以不用转换了
具体步骤:

打开BDSup2Sub, FILE  -   LOAD  - 选择之前生成好的sup - 设置好基本的参数 -  OK 。 双击右下角的方框可以修改字幕显示位置(应该没人会去做那个)


导入后,没有出现错误的话。  FILE  -   Save\Export。这样就生成了indx+sub的字幕格式

打开IdxSubOcr,载入这个indx+sub,就可以正式OCR了
最后我们得到一个OCR的初稿
回复

使用道具 举报

27

主题

98

回帖

97

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
223848
leonvent  楼主| 发表于 2018-7-29 15:30:02 | 显示全部楼层
本帖最后由 leonvent 于 2018-8-14 01:11 编辑

三、检查
无论何种OCR都不可能100%正确,接下来就要开始人工检查与除错。IdxSubOcr自身也可以进行排查工作,但是界面操作起来并不是很友善。
这里介绍一种利用Aegisub来检查的方式。原理是创建一个很长的黑视频,把之前生成的indx+sub字幕压入这个黑视频,再由Aegisub导入压制好的视频与OCR初稿。调整样式排版后,再运用一些快捷键就可以很轻松的检查。

所需工具:Aegisub,小丸工具箱

我先把OCR初稿转换ASS字幕,利用记事本先替换一些明显的错误,例如:无法正确识别“一”和 “-”这种的数字和符号。保存。


制作一个黑视频,参考这个avs脚本,用小丸工具箱会方便很多吧。(小技巧:先压一个5分钟的黑屏,然后反复拼接这个5分钟黑屏,速度要快很多
  1. x= #设置宽度
  2. y= #设置高度
  3. fps= #设置帧率
  4. duration= #设置时间长度,单位秒
  5. color=$000000 #设置颜色,$000000为黑,$FFFFFF为白
  6. framecount=Round(fps*duration)
  7. BlankClip(length=framecount,width=x,height=y,fps=fps,color=color)
  8. matrix=(y<=576)?"Rec601":"Rec709"
  9. ConvertToYV12(matrix=matrix)
复制代码


然后压制之前生成的indx+sub字幕, 各凭各U,crf30就可以了



然后载入压制视频,导入之前随便生成ASS字幕,开启自动定位时间轴
更改样式,大致对齐视频里的字幕


然后就这样一行行检查过去,按回车键进入一下条。如果有OCR错误,会很直观的看出来。熟练后,检查下来就非常快
有一种可能会出现这种情况,由于时间轴会有误差1-2帧,没显示出字幕


这时候快进一帧就可以看到了。如果这种现象普遍,把整个字幕往后移1帧。




全部检查完后,保存。大功告成。
这样的检查方式比较直接,而且有经验的字幕作者,可以做全套。
初学者第一次做可能会比较耗时,但是熟练后还是很快的,OCR一集24分钟动画并检查完毕,我个人需要大概20分钟左右



回复

使用道具 举报

27

主题

98

回帖

97

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
223848
leonvent  楼主| 发表于 2018-7-29 15:30:03 | 显示全部楼层
本帖最后由 leonvent 于 2019-3-10 17:06 编辑

FAQ:
我为什么不用SubtitleEdit直接生成indx+sub?
答:由于SubtitleEdit的转换模式直接生成indx+sub的话,会造成一些字幕被压扁的现象,还其他各种诡异问题,我个人不建议这么做。
新版IdxSubOcr可以直接打开sup了,可以不用转换了
新版字幕提取脚本可以直接提取文本,格式为VTT,可以用记事本编辑成srt

我想要改sup字幕的显示位置,该怎么做?
答:双击BDSup2Sub右下角的方框,可以修改显示位置

Netflix没有登录中国区,我看不了Netflix怎么办
答:翻墙,科学上网,切到港台日IP


怎么翻墙,科学上网,切到港台日IP?
答:我。。。百度能找就找找吧



                                              本篇作者 柊游楠
回复

使用道具 举报

27

主题

98

回帖

97

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
223848
leonvent  楼主| 发表于 2018-7-29 15:30:04 | 显示全部楼层
本帖最后由 leonvent 于 2018-8-14 01:18 编辑

占楼备用,可能会加点什么














也许我真该加点什么。

回复

使用道具 举报

27

主题

98

回帖

97

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
223848
leonvent  楼主| 发表于 2018-7-29 15:30:22 | 显示全部楼层
占楼备用,可能也不会加点什么
回复

使用道具 举报

54

主题

353

回帖

553

VC币

白金会员

Rank: 12Rank: 12Rank: 12

积分
56912

崭露头角活跃达人

zx353 发表于 2018-7-29 20:05:33 | 显示全部楼层
本帖最后由 zx353 于 2018-7-29 20:12 编辑

我最近看的几部高达剧场版字幕角色名翻译与以往完全不同。还有挺多相像字错误,像OCR版? {:6_296:}

收藏收藏。也许哪天就能用到了。{:6_307:}
回复

使用道具 举报

27

主题

98

回帖

97

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
223848
leonvent  楼主| 发表于 2018-7-30 12:37:32 | 显示全部楼层
应该是没有比这个更简单的OCR字幕的方式了吧
回复

使用道具 举报

0

主题

2

回帖

0

VC币

注册会员

Rank: 2

积分
598
kurumi01150 发表于 2018-8-4 01:01:24 | 显示全部楼层
感覺好像還不錯,只是 Netlfix 是用沒有任何特效的字幕
所以如果可以還是找字幕組做的應該會比較好
回复

使用道具 举报

21

主题

179

回帖

4435

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
1008173

崭露头角活跃达人新人登场渐入佳境

haiyang 发表于 2018-8-4 02:06:09 | 显示全部楼层
感谢楼主分享经验
我就说一点吧    aegisub可以生成空白视频  不压制一段黑视频也是可以的
百合は正義!
即将开坑:
宣传:欢迎想手抄但又没精力的朋友一来手抄呀  蜜汁号码
“530605543”
esrXP操作手册:http://bbs.vcb-s.com/thread-3809-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表