请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
查看: 2390|回复: 28

为了更便捷的手抄字幕, 我搞了一个新玩具(发布 0.0.1-2-Alpha 版)

  • TA的每日心情
    开心
    2019-4-4 17:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    12

    主题

    44

    帖子

    1277

    VC币

    星辰大海

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

    积分
    340960
    NoobNeo 发表于 2019-8-11 22:37:01 | 显示全部楼层 |阅读模式
    本帖最后由 NoobNeo 于 2019-8-28 20:14 编辑
    前景提要:
    觉得 esrXP 不好用的我, 捣鼓了个新玩具 COCR, 简单解释了原理和解决方案.

    完整内容用PDF归档了, 没看过但有兴趣的可以看看.

    经过几位友人的预测试, 今天发布 Alpha 版.
    软件&硬件要求:
    操作系统Windows 7及以上
    平台X64
    CPU推荐双核双线程及以上
    可用内存最低2G及以上, 推荐4G及以上
    硬盘空间 350M及以上

    下载地址:
    百度云https://pan.baidu.com/s/1qG2v4ZyHuEaQHUz8p8vYUw
    sourceforge暂无

    关于下载与更新:
    • 如果从未下载过 Alpha 版本, 链接中选择最新版本下载
    • 如果已经下载过其他 Alpha 版本, 链接中选择最新版本且带 "patch" 的下载, 下载后放到程序目录中解压并覆盖

    版本选择: (建议选择带 jre 的版本)
    已安装 Java RuntimeCOCR-0.0.1-2-alpha
    未安装 Java RuntimeCOCR-0.0.1-2-alpha-jre

    软件主界面:


    简易说明: (详细说明看置顶楼)
    • ZIP文件解压缩后, 运行 "Caption OCR Tool.exe"
    • 点击 "Video" 载入视频
    • 点击 "Filter" 调整参数, 程序内多数参数都能通过滚轮/上下方向键来调整
    • 点击 "Start"
    • 勾选 "Manager Mode" 删减/合并字幕, 与esrXP基本类似, 第一次右击, 标记合并起点, 第二次右击为合并终点, 如果是左击, 则整组标记为删除; 第一次左击, 标记删除; 允许倒序标记.
    • 点击 "OCR" 识别字幕 或 "Export" 导出图像, 利用其他OCR软件识别字幕
    • 点击 "Save As" 导出 ASS 格式字幕

    其他说明:程序体积: 因为包含了OCR语言库及其他必要数据, 含 jre 版本的体积超过200M, 后期 Alpha 版本更新时, 只需要更新本体 (~10M)
    程序报错: 论坛私信, Telegram , 跟帖
    程序开源: 现阶段没有开源计划, 以后会开源的, 下载地址已经暗示开源
    多国语言: 嫌麻烦, 待定

    前景归档: (之前主题内容的归档)

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    评分

    参与人数 15活跃度 +216840 收起 理由
    aladdinbear + 6400 很给力!
    nebulas + 200 很给力!
    alveifbklsiu249 + 400 很给力!
    strangeqaq + 800 很给力!
    2222 + 30000 很给力!
    mung + 12800
    Whatsuperhere + 400 赞一个!
    CLANNADAO + 400 很给力!
    hungry小浩纸 + 1600
    kavenliang + 10240
    WengChiew + 25600 很给力!
    贽殿遮那 + 32000 期待一下
    haiyang + 32000 加油!
    Seekladoom + 32000 只要能做出来就是好事!慢点来吧!.
    tonyhsie + 32000 希望能越做越好 加油

    查看全部评分

    有想手抄的番或者以往字幕有问题的, 可以联系我.
    唯一联系方式 Telegram: @noobneo
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-4-4 17:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    12

    主题

    44

    帖子

    1277

    VC币

    星辰大海

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

    积分
    340960
    NoobNeo  楼主| 发表于 2019-8-24 18:59:40 | 显示全部楼层
    本帖最后由 NoobNeo 于 2019-8-28 20:18 编辑

    软件说明
    主界面部分按钮(从上至下, 从左至右):
    Open [CTRL+O]打开 COCR 文件
    Video打开视频文件
    Save [CTRL+S]保存为 COCR 文件
    Save As [CTRL+SHIFT+S]保存为 ASS 文件
    Export导出 PNG 文件
    Filter滤镜, 需要打开一个视频才能进入
    Del&Merge删除/合并字幕, 需要勾选 "Manager Mode"
    OCR图片字幕识别
    Profile偏好设置
    BAT批量处理
    Manager Mode 管理模式
    F当前打开文件的文件名
    FC视频文件的总帧数

    BAT(批处理)界面部分按钮(从左至右)
    Number of SIMUL tasks同时处理任务数量, 默认为1

    Process(滤镜处理流程) 界面与 Param Settings 对应(从上至下, 从左至右)
    其他界面比较简单, 不一一说明.

    软件内各种参数说明 标题格式 [窗口] - [区域标题]

    Video Filter - Region:
    TL X 字幕区域左上角 X 轴坐标, 一般为 0
    TL Y 字幕区域左上角 Y 轴坐标
    BR X 字幕区域右下角 X 轴坐标, 一般为视频宽度
    BR Y 字幕区域右下角 Y 轴坐标

    Param Settings - Morphology Parameter: (形态学变化)
    MedianBlur Kernel 中值滤波核尺寸, 只能是奇数, 一般设定为1或3
    Fixed Min Threshold 固定二值化的阈值
    Adaptive Block 自适应二值化核尺寸, 只能是奇数, 其他参数固定时, 应尽可能调大
    Adaptive Constant 自适应二值化常量, 可以为负数, 其他参数固定时, 应尽可能调小
    Dilate Kernel Width 背景腐蚀核尺寸 - 宽度, 尽可能调大, 不要出现大黑块, 不调整用默认值也没问题
    Dilate Kernel Height 背景腐蚀核尺寸 - 高度, 同上
    Close Kernel Width 闭运算核尺寸 - 宽度, 在确保文字区域没有被抹除的情况下, 尽可能调大
    Close Kernel Height 闭运算核尺寸 - 高度, 同上

    Param Settings - CCL Area & Pixel Count (连通区域过滤):
    Max CCL Area最大连通区域 (方形), 确保文字没有被抹除的情况下, 应尽可能调小, 通常设定为 2000~4000 左右
    Min CCL Area最小连通区域 (像素点), 去除形态学中无法过滤的小噪点, 不宜过大, 容易把汉字中的"丶"过滤掉
    Min Pixel Count字幕图片中像素数量, 小于此数值的会被判定为无效字幕, 单独一个 "一" 字大概在500上下, 不宜过大

    Param Settings - Similarity Profile (去重):
    Min SSIM ThresholdSSIM算法阈值, 高于此数值判定为重复, 不建议低于默认值, 更不建议设置小于0.9的数值, 容易误判
    Min Psnr ThresholdPsnr算法阈值, 高于此数值判定为重复, 不建议低于默认值, 如果误判严重, 建议调大, 或选用SSIM
    SSIM OR Psnr两者都是机器视觉, 与人类视觉不同, 当我们觉得两张图一样时, 机器不一定认为一样, 通常SSIM的表现优于Psnr

    Param Settings - Binarization Type: (二值化类型)
    Fixed Binarization固定二值化, 颜色波动小时建议用这个, 速度快, 性能优
    Adaptive Binarization自适应二值化, 颜色波动大时建议用这个, 速度慢, 效果好

    Param Settings - Adaptive Method: (自适应算法)
    Mean核内区域计算均值
    Gaussian核内区域计算加权均值 (高斯函数)

    Param Settings - Storage Policy: (去重保存策略)
    Min pixel count in stack保存堆内像素总量最少的
    Max pixel count in stack保存堆内像素总量最多的
    Med pixel count in stack保存堆内像素总量中位数
    First frame in stack保存堆内第一个 帧
    Last frame in stack保存堆内最后一个帧

    Profile - : (偏好设置)
    Caption Default StyleDefault 字幕样式
    Digital container format视频容器格式, BAT中根据这个来判定是否为有效视频; 打开视频对话框内快速筛选格式; FFmpeg 支持的容器
    Editor Font Size编辑框字体大小
    Frame interval提取字幕时帧间隔, 精度越高越耗时
    Count Pre Page每次加载字幕图片的数量
    OCR LanguageOCR 识别目标的语言, 支持混合语言

    滤镜参数中建议调整顺序:
    字幕区域 > 均值滤波 > 二值化类型 > 二值化类型对应参数, 其余参数基本不用动

    tesseract进阶参数:
    进阶参数位于程序目录 APP/tessdata 文件夹中, 如果不了解不建议调整!
    用文本编辑器打开 'config' 文件
    tessedit_char_blacklisttesseract识别中被排除的字符
    unrecognised_char无法识别的字符用此字符替代, 默认为无
    其他参数安装tesseract后 用 "tesseract --print-parameters" 查看



    有想手抄的番或者以往字幕有问题的, 可以联系我.
    唯一联系方式 Telegram: @noobneo
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-4-4 17:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    12

    主题

    44

    帖子

    1277

    VC币

    星辰大海

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

    积分
    340960
    NoobNeo  楼主| 发表于 2019-8-24 20:40:12 | 显示全部楼层
    本帖最后由 NoobNeo 于 2019-8-28 20:27 编辑

    测试内容: 提取时长24分钟视频的字幕所需时间
    测试方法: 两个软件调整到类似的过滤结果, 连续跑3次取平均值
    时间格式: 分 : 秒
    COCR部分参数: 保存策略: 堆中位数; 去重算法: SSIM; 自适应二值化
    因为对esrXP内部分实现方法不明, 所以COCR都选用较为严格的默认参数
    下面是结果:
    esrXP COCR
    03:52 1 frame - 08:27
    2 frame - 04:27
    3 frame - 03:02
    4 frame - 02:18
    5 frame - 01:45

    所以如果手抄字幕的视频A与打算外挂的视频B, 两者时间轴基本一致或只需要整体平移的话, 建议帧间隔选择1 或 2, 节省后期调轴的时间; 如果两者时间轴偏差大, 建议选用3 ~ 5, 节省字幕提取的时间.

    目前已知问题:
    1. win10系统下, 在编辑框内自带的输入法候选框无法跟随光标.
    解决方法: 用第三方输入法替代
    目前已考虑功能:
    1. Linux 版本
    2. GPU解决方案, 有望大幅增加图像处理速度和能力



    有想手抄的番或者以往字幕有问题的, 可以联系我.
    唯一联系方式 Telegram: @noobneo
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-4-4 17:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    12

    主题

    44

    帖子

    1277

    VC币

    星辰大海

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

    积分
    340960
    NoobNeo  楼主| 发表于 2019-8-25 16:11:07 | 显示全部楼层
    本帖最后由 NoobNeo 于 2019-8-28 20:23 编辑

    更新日志:
    0.0.1-2-alpha
    • 部分字幕时间轴错误
    • 过滤流程可视化, 辅助调参
    • 批处理可同时处理多个任务

    0.0.1-1-alpha
    • 编辑框内定位溢出导致的死循环


    有想手抄的番或者以往字幕有问题的, 可以联系我.
    唯一联系方式 Telegram: @noobneo
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18

    主题

    187

    帖子

    1940

    VC币

    星辰大海

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

    积分
    974014

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

    haiyang 发表于 2019-8-12 00:04:09 | 显示全部楼层
    太强大了  支持一下
    百合は正義!
    即将开坑:扩张少女
    宣传:欢迎想手抄但又没精力的朋友一来手抄呀  蜜汁号码
    “530605543”
    esrXP操作手册:http://bbs.vcb-s.com/thread-3809-1-1.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    12

    帖子

    5

    VC币

    至尊会员

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

    积分
    224212
    3j29cd 发表于 2019-8-12 00:11:38 | 显示全部楼层
    內存boom了 java應該也有貢獻原因
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 15:34
  • 签到天数: 412 天

    [LV.9]以坛为家II

    13

    主题

    54

    帖子

    68

    VC币

    至尊会员

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

    积分
    285697

    崭露头角

    KarlZeo 发表于 2019-8-12 12:00:46 | 显示全部楼层
    众所周知,java是吃内存的大户.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-4-4 17:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    12

    主题

    44

    帖子

    1277

    VC币

    星辰大海

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

    积分
    340960
    NoobNeo  楼主| 发表于 2019-8-12 22:09:24 | 显示全部楼层
    3j29cd 发表于 2019-8-12 00:11
    內存boom了 java應該也有貢獻原因

    opencv 采集产生大量数据, 弃用后没有及时被回收释放, 最终就 boom 了
    有想手抄的番或者以往字幕有问题的, 可以联系我.
    唯一联系方式 Telegram: @noobneo
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-8-10 00:59
  • 签到天数: 30 天

    [LV.5]常住居民I

    8

    主题

    108

    帖子

    46

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    6576

    崭露头角

    孤雨独火 发表于 2019-8-12 23:02:41 | 显示全部楼层
    哇,以前看到现在esrxp还有大把人用就觉得不可思议,现在算是快有可靠的替代品了嘛
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-8-2 15:59
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    5

    主题

    32

    帖子

    25

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    4665
    namesd 发表于 2019-8-20 06:32:14 | 显示全部楼层
    支持,这要能做出来,手抄就任务量少多了。tensorflow方面的问题去github上挂个源码然后问问?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-11-29 17:21
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    10

    主题

    27

    帖子

    25

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    15059

    崭露头角

    面包车 发表于 2019-8-20 15:48:03 | 显示全部楼层
    一个人,时间又少的话
    还是挂上github吧
    在你咕咕咕的时候
    可能就有看不过去的野生大神跳出来帮你修改好了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-4-4 17:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    12

    主题

    44

    帖子

    1277

    VC币

    星辰大海

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

    积分
    340960
    NoobNeo  楼主| 发表于 2019-8-20 19:07:42 | 显示全部楼层
    更新下状态:
    目前pre-alpha已完成, 等英语语言包训练完成就能打包发布alpha版本了.
    内存占用也大幅降低了, 批量处理4小时视频也不会OOM.
    有想手抄的番或者以往字幕有问题的, 可以联系我.
    唯一联系方式 Telegram: @noobneo
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-8-2 15:59
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    5

    主题

    32

    帖子

    25

    VC币

    中级会员

    Rank: 3Rank: 3

    积分
    4665
    namesd 发表于 2019-8-22 15:24:45 | 显示全部楼层
    NoobNeo 发表于 2019-8-20 19:07
    更新下状态:
    目前pre-alpha已完成, 等英语语言包训练完成就能打包发布alpha版本了.
    内存占用也大幅降低了,  ...

    预计什么时候可以发布?拿来试试水
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    VCB-Studio分享论坛X

    VCB-S微信公众号上线了,欢迎关注!

    欢迎关注VCB-S微信公众号,公众号将不定期推送有关本组最新资源的消息。...

    点击查看详情 
    快速回复 返回顶部 返回列表