文字识别 (OCR)
从视频画面中提取已有的烧录字幕
什么是文字识别 (OCR)
文字识别 (OCR) 功能可以从视频画面中提取已有的烧录字幕(硬字幕),生成可编辑的 SRT 字幕文件。适用于视频中已经有可见字幕、但没有独立字幕文件的情况,例如从网络下载的带字幕视频、电视节目录制等。
与语音识别不同,OCR 分析的是视频画面而非音频轨道,因此它能识别任何已经"烧录"在画面上的文字。
使用步骤
- 导入视频到素材库将视频文件拖入极客连的素材库,或点击「添加视频」按钮选择文件。
- 选择「字幕已经印在画面上」在设置区选择这一项(也就是从画面里识别,即 OCR),用于字幕已经烧录在画面上的视频。
- 选择原文语言选择视频字幕的 OCR 识别语言。
- 点击「运行 文字识别」确认设置后,点击按钮开始处理。
- 确认字幕区域打开框选页时会自动检测字幕行并用红色标记标出精确位置——多数情况下拖动时间轴确认标记贴着字幕、点「确认」即可。检测不准时,在画面上拖动鼠标画一个框即可覆盖。OCR 只读取该区域内的文字,自动忽略 Logo、水印、台标等其它内容(详见下方说明)。
- 颜色采样(可选)只有当你在「更多设置」里开启了「精确过滤字幕(按颜色)」时,才会进入颜色选择器步骤——在视频帧上涂抹字幕文字来采样颜色(详见下方说明);否则 OCR 会读取框内的每一行,这一步会被跳过。
- 确认颜色在颜色选择器中完成涂抹后,点击「确认颜色」继续。
- 等待 OCR 完成系统自动逐帧扫描视频画面,提取文字内容。
- 查看结果完成!打开字幕编辑器查看和编辑识别结果。
确认字幕区域
点击运行后会进入框选页。打开时系统会自动检测字幕行:检测到后用红色标记标出精确位置,右侧同时出现「检测到的字幕行」条目。多数情况下你只需拖动时间轴,确认红色标记始终贴着字幕,然后点「确认」即可开始识别——无需手动画框。
如果检测的位置不对,直接在画面上拖动鼠标画一个框,以你画的框为准(检测行不会消失,可随时用条目上的「删除」单独管理)。这一步告诉 OCR 只读取该区域内的文字,自动忽略画面里的 Logo、水印、台标和其它文字,让提取结果只包含字幕行。
框选页会实时标出画面上检测到的文字区域:暂停或拖动时间轴时,将被识别的文字会浮现检测框,框选是否框准、有没有混进别的文字一目了然(不需要时可勾选「隐藏文字检测框」)。如果框内混进了小号的干扰文字——比如游戏界面数据、角落小字——拖动「忽略小字」滑杆即可排除:被过滤掉的检测框会实时变淡,拖到干扰文字全部变淡、只剩字幕清晰高亮即可。
精细过滤字幕——按颜色(可选)
默认情况下,OCR 会读取框内的每一行文字。如果框里还是夹进了和字幕大小接近的干扰——比如同一区域内的水印或画面台标——就在更多设置里开启「精确过滤字幕(按颜色)」。它会增加一个选择器步骤,让你按字幕的颜色把真正的字幕单独锁定出来。不开启的话,OCR 会直接读取框内的所有文字。(按字体大小过滤已经内建在上一步框选页的「忽略小字」滑杆里,无需开启本选项。)
采样字幕颜色
- 在视频帧上用鼠标涂抹字幕文字区域,系统会自动采集涂抹位置的颜色
- 用 +/- 按钮缩放画面,方便精确涂抹小号字幕
- 涂错了可以点击「清除涂抹」重新来过
- 达到最小采样量后,「确认颜色」按钮变为可点击状态
尽量在字幕文字笔画上涂抹,避免涂到周围背景——采样越精确,识别效果越好。
按字体大小过滤去哪了?
字体大小过滤已经前移到框选字幕区域那一步:直接拖「忽略小字」滑杆,看着检测框实时变淡来排除小号干扰文字,不再需要在这里手填像素数值。颜色选择页现在专注一件事——涂抹取色。
过滤掉某种语言(可选)
有些画面同时烧录了两种文字——例如日语视频又额外配了中文字幕,或者一种语言的台标压在另一种语言的字幕下方。「过滤文字」设置可以排除整一种文字,让 OCR 跳过它:选择你不要的那种语言(日语、韩语、中文、泰语或阿拉伯语),那种文字就会被丢掉,只留下你的字幕行。
OCR 设置详解
| 设置 | 说明 | 建议 |
|---|---|---|
| 原文语言 | OCR 识别的语言 | 选择视频字幕的语言 |
| 检测间隔 | 极客连检查画面变化的频率——0.1s(最精细)/ 0.25s(精细)/ 0.3s(准确)/ 0.5s(标准)/ 1.0s(快速,准确度较低) | 默认设置够用;字幕切换很快、有一闪而过字幕的视频可降到 0.1s,代价是处理时间更长 |
| 过滤文字 | 排除指定语种字符 | 画面中有不需要的日文/韩文/泰文等时使用 |
| 精确过滤字幕(按颜色) | 关闭(默认)= 读取框内的每一行;开启 = 增加一个选择器步骤,按字幕的颜色和字体大小把字幕单独锁定出来 | 画面比较杂乱、框内还夹着水印、Logo 或台标时开启 |
常见问题
为什么识别出很多乱码?
可能是颜色采样不够精确,导致 OCR 引擎把背景纹理也当作文字处理了。建议重新采样,尽量只涂抹字幕文字的笔画区域。也可以换一帧字幕更清晰的画面重新操作。想更系统地把水印、台标、画面文字过滤掉,参见只提取字幕、去掉水印和忽略异种语言台标。
支持哪些语言?
目前 OCR 支持以下语言:英文、中文简体、中文繁体、中英双语、日文、韩文、越南语、西班牙语、葡萄牙语、法语、德语、意大利语、印尼语。
为什么有些字幕没有被识别到?
检测间隔可能太大,字幕一闪而过没有被采样到。尝试将检测间隔降低到 0.1s(最精细),可以捕获切换更快、一闪而过的字幕。代价是处理时间会相应增加。