视频工具 · 字幕处理

视频字幕 OCR

提取硬字幕→SRT(PaddleOCR/Tesseract)

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 59 次使用
video 截帧 + Tesseract 本地 OCR · 文件永不上传
点击 / 拖拽视频文件到此 本地识别画面中的硬字幕 · MP4 / WebM / MOV / OGG 等浏览器原生格式 local only · video never uploaded
上传一段含硬字幕(烧进画面的字幕)的视频,框选字幕区后点「开始识别」。
全程浏览器本地 OCR,视频不上传任何服务器。

诚实标注:本工具识别硬字幕(烧进画面、与画面融为一体的字幕)—— 「video.seek 逐帧截图 → 裁剪字幕区 → 本地 Tesseract OCR 识别文字 → 连续相同字幕去重合并」。 软字幕(独立字幕轨道,可开关)请用「字幕提取」类工具。 识别率取决于字幕清晰度 / 对比度 / 字体,识别结果可在下方逐条手动修正。 OCR 较慢(每帧需逐字识别),抽帧越密、时段越长越耗时。引擎与语言包随本站本地分发,识别全程本地,视频不上传。

就绪 · 选择含硬字幕的视频开始本地 OCR
第一节

关于本工具

About

剪辑师发现一段老视频里有人说话,但找不到原始字幕文件,也不愿手动打轴。把视频拖进工具,它逐帧扫描画面中的硬字幕,用 OCR 识别后按时间戳排成 SRT 格式。PaddleOCR 对中文识别率更高,Tesseract 适合英文;文件上传到服务器处理,完成后自动清除,不保留视频副本。

使用场景

翻译社交字幕稿

接了一部 90 分钟的老纪录片,源文件是内嵌硬字幕的 MP4,字幕组只给到法语 SRT。客户要中英双语对照版。手动逐句打轴至少 8 小时。用本工具提取硬字幕生成 SRT 后,直接导入翻译平台对齐时间轴,省去手动打轴环节,把精力集中在翻译本身。

法庭证据固定

一段时长 47 分钟的审讯录像,嫌疑人的关键口供以硬字幕形式出现在视频下方。辩护律师需要把这段字幕提取成可编辑的文本,用于制作书面质证意见。用本工具导出 SRT 后,可直接复制关键段落到文书里,比对着屏幕逐帧抄录快 10 倍,且时间戳精确到秒,方便庭审时快速定位。

网课字幕本地化

海外大学的一门《机器学习》公开课,视频内嵌了英文字幕,但平台不支持下载。国内学生需要一份中文字幕来辅助学习。用本工具提取出英文 SRT 后,丢进机器翻译批量转成中文,再人工校对一遍专业术语,比从零开始听写节省了至少 6 小时。

游戏实况二次创作

B 站 UP 主录制了 3 小时《艾尔登法环》无伤通关视频,游戏内对话和 UI 文字都是硬字幕。想剪一个 15 分钟的精华版,但需要保留关键剧情字幕。用本工具提取全片 SRT,按关键词(如“玛莉卡”“碎星”)筛选出相关片段的时间码,剪辑时直接跳转,不用从头到尾翻看。

老电影字幕修复

一部 1960 年代黑白电影的数字修复版,片源自带繁体中文硬字幕,但部分笔画被胶片划痕遮挡。修复师需要一份完整的字幕清单来补全缺失的文字。用本工具提取出 SRT 后,对照原片逐条检查被遮挡的条目,将缺失部分手动补入文本,比对着屏幕逐帧辨认效率高得多。

第二节

使用指南

Getting Started

使用步骤

  1. 1上传含硬字幕的视频文件(支持 mp4、mkv、avi),界面显示文件名与进度条
  2. 2选择识别引擎:PaddleOCR(中文准确率高)或 Tesseract(英文更快),下拉菜单即时切换
  3. 3点击「提取字幕」按钮,右侧区域逐行显示识别出的文本与时间戳
  4. 4预览字幕内容,点击任意行可编辑文字或调整时间偏移
  5. 5点击「导出 SRT」按钮,浏览器自动下载 .srt 文件到本地

输入输出示例

输入输出说明
视频文件:电影《星际穿越》片段(时长3分钟,硬字幕为白色简体中文,背景为太空暗色)00:00:01,200 --> 00:00:04,500 库珀,这不是你的错。 00:00:05,000 --> 00:00:08,200 我们必须面对现实。 00:00:09,100 --> 00:00:12,800 时间才是真正的敌人。 00:00:13,500 --> 00:00:16,000 (引擎轰鸣声)常规:典型电影硬字幕场景,白色文字、深色背景,PaddleOCR高精度识别。输出包含时间轴和文字内容,注意背景音效被正确忽略。
视频文件:新闻联播片段(时长1分钟,硬字幕为黄色楷体,背景为动态新闻画面,字幕位置在画面底部)00:00:00,500 --> 00:00:05,200 今天上午,国务院召开常务会议。 00:00:06,000 --> 00:00:10,800 会议强调,要持续优化营商环境。 00:00:11,500 --> 00:00:15,000 会议还研究了其他事项。常规:新闻字幕场景,黄色字体+动态背景,测试Tesseract对非标准字体和颜色的识别能力。输出准确提取了连续多行字幕。
视频文件:游戏实况录像(硬字幕为白色带黑色描边,字体为微软雅黑,字幕内容包含英文单词“Game Over”和数字“100%”)00:00:02,100 --> 00:00:05,000 任务完成度:100% 00:00:06,500 --> 00:00:09,300 Game Over 00:00:10,000 --> 00:00:13,500 重新开始?常规:游戏字幕场景,带描边文字+中英混排,验证工具对特殊样式和混合语言的兼容性。英文单词和百分号被正确识别。
视频文件:纯黑背景,白色文字,字幕内容为单个字符“一”(时长5秒,无其他干扰)00:00:00,000 --> 00:00:05,000 一边界:极简输入,测试工具对单字符的识别能力。输出正确,无多余噪声。
视频文件:硬字幕为手写体风格的艺术字,颜色为渐变蓝紫色,背景为复杂风景画面,字幕区域存在轻微模糊00:00:01,000 --> 00:00:04,500 欢[模糊]迎[模糊]来到[模糊]梦幻[模糊]仙境边界:非标准字体+模糊+复杂背景,测试识别极限。输出中部分字符被标记为[模糊],表明Tesseract对艺术字和低清晰度文字的识别率下降。
视频文件:字幕内容为纯英文“Hello World!”,字体为Arial,白色,背景为纯色,但视频帧率极低(5fps)00:00:00,000 --> 00:00:02,000 Hello World! 00:00:02,000 --> 00:00:04,000 Hello World! 00:00:04,000 --> 00:00:06,000 Hello World!边界:低帧率视频导致同一字幕被重复检测为多帧独立字幕。输出出现重复内容,暴露了工具对时间轴去重的处理逻辑——未做相邻帧合并。
视频文件:硬字幕为白色,但字幕区域被一个半透明水印(网站Logo)部分遮挡,字幕内容为“请关注我们的公众号”00:00:00,500 --> 00:00:04,000 请[遮挡]注我们的公众号易错:水印遮挡字幕,导致文字被部分截断。输出中“关”字被水印覆盖,识别为[遮挡],提示用户预处理视频去除水印可提升效果。
视频文件:字幕内容为“100% 纯棉”,但视频画面中同时存在一个与字幕字体、颜色完全相同的静态文字“100% 涤纶”(位于画面左上角,非字幕区域)00:00:00,000 --> 00:00:03,000 100% 纯棉 00:00:00,000 --> 00:00:03,000 100% 涤纶易错:画面内非字幕区域的文字被误识别为字幕。输出包含两条时间轴完全相同的文本,其中“100% 涤纶”是误报。用户需手动过滤或调整OCR区域。

常见错误对照

1.上传了滚动字幕或动态水印,误判为硬字幕

✗ 错误上传一段带滚动跑马灯广告的视频
✓ 修复上传固定位置、静态显示的硬字幕视频(如电影对白、教学PPT底部字幕)

PaddleOCR 和 Tesseract 对动态/滚动内容会逐帧识别,输出大量重复或错位文本,SRT 时间轴完全不可用。

2.字幕区域被遮挡或与背景对比度低

✗ 错误字幕为白色细体、背景也是浅色(如白色字在雪景上)
✓ 修复字幕与背景有明显对比(如白字黑底、黄字深色背景)

OCR 引擎依赖像素级灰度差异提取文字;对比度不足时,字符轮廓断裂或漏检,导致 SRT 缺句、乱码。

3.视频分辨率过低,字幕区域像素不足

✗ 错误上传 360p 以下视频,字幕区域高度不足 20 像素
✓ 修复视频分辨率 ≥ 480p,字幕区域高度 ≥ 30 像素

Tesseract 对小于 10px 的字符识别率骤降;PaddleOCR 虽支持小字,但低于 15px 时准确率仍显著下降。

4.字幕字体为艺术体/手写体/斜体

✗ 错误上传带有手写书法字体的片头字幕
✓ 修复使用标准黑体、宋体、无衬线体等常规字体

PaddleOCR 和 Tesseract 的模型主要训练于印刷体;艺术体、斜体、手写体的字符形变超出训练分布,识别结果多为乱码。

5.视频时长过长,超出服务端处理超时限制

✗ 错误上传一部 3 小时电影,等待后只得到部分 SRT
✓ 修复将长视频拆分为 ≤30 分钟的片段分别处理

后端 Go 处理对单次任务有超时限制(通常 10-15 分钟),长视频解码+OCR 耗时超限会被截断,输出不完整。

6.字幕语言为小语种或混合语言,未指定识别语言

✗ 错误上传中英混合字幕,默认只识别中文
✓ 修复在工具中明确选择「中文+英文」多语言模式

PaddleOCR 默认中文模型对纯英文识别率低,Tesseract 默认英文模型对中文输出乱码;多语言场景必须手动指定语言组合。

7.视频编码非主流格式,解码失败

✗ 错误上传 HEVC 10bit 或 AV1 编码的 .mkv 文件
✓ 修复转换为 H.264 编码的 .mp4 文件后再上传

后端 FFmpeg 对 HEVC 10bit 和 AV1 的解码依赖系统编译参数,部分部署环境不支持,导致黑屏或花帧,OCR 无结果。

第三节

工作原理

How It Works

核心公式

置信度 = 1 - (1 - P_c)^n

变量说明

  • P_c单字符识别正确概率
  • n字幕行字符总数

示例

PaddleOCR 单字符正确率 0.97,某行字幕含 20 个字符:置信度 = 1 - (1 - 0.97)^20 = 1 - 0.03^20 ≈ 1 - 5.4×10^(-31) ≈ 1.0,整行几乎无误。

上传视频(含硬字幕)抽帧 + 预处理(去噪 / 二值化)OCR 识别(PaddleOCR / Tesseract)生成 SRT(时间轴 + 文本)关键环节:时间轴对齐根据抽帧时间戳推算字幕起止时间
用户输入 服务端处理 输出结果
第五节

常见问题

Q & A
上传的视频有片头片尾,提取的字幕时间轴能自动对齐正片吗?

不能。工具按视频实际时间轴提取硬字幕,片头片尾的字幕也会被提取,时间戳从视频 0:00 开始累计。如果需要对齐正片,建议先用剪辑工具切掉片头片尾再上传,或者提取后手动在 SRT 里整体偏移时间轴(比如剪掉 10 秒片头,就把所有时间减去 10 秒)。

为什么同一个视频用 PaddleOCR 和 Tesseract 结果不一样?

两个引擎识别策略不同。PaddleOCR 对中文字符、复杂背景(如视频水印压字)更准,但速度慢一些;Tesseract 对英文数字、高对比度黑白字幕更快,但中文易漏字或错字。如果视频是纯中文硬字幕(如国产剧),优先选 PaddleOCR;如果是英文或中英混排,可先试 Tesseract 再人工补漏。

视频里字幕是白色带黑色描边,能正常识别吗?

能。PaddleOCR 和 Tesseract 都内置了文本检测模型,对高对比度文字(白字黑边、黑字白底)识别效果最好。如果字幕是半透明或与背景颜色接近(如浅灰字在浅色画面上),识别率会下降。建议上传前用视频编辑软件给字幕层加描边或降低背景复杂度,能显著提高准确率。

提取出来的 SRT 文件里有乱码,怎么解决?

SRT 文件默认 UTF-8 编码,如果播放器或编辑器没识别对,会显示乱码。用记事本或 VS Code 打开 SRT 文件,另存为时选 UTF-8 with BOM 格式,再重新导入播放器。另外,如果原视频字幕包含特殊符号(如 ® ™ 或繁体字),建议用 PaddleOCR 引擎,它对 Unicode 字符兼容性更好。

上传了一个 2 小时电影,处理到一半提示超时怎么办?

本工具对长视频有单次处理时长限制(约 30 分钟视频以内最佳)。2 小时电影建议分段处理:用剪辑工具切成每段 15-20 分钟,分别提取字幕,最后手动合并 SRT 文件(注意每段时间轴要加上前一段的结束时间)。另外,长视频建议选 Tesseract 引擎,速度更快,减少超时概率。

视频是横屏但字幕在底部,提取出来时间轴准吗?

准。工具检测的是画面中所有文字区域,不依赖字幕位置。横屏底部字幕、竖屏侧边字幕都能提取,时间轴按帧匹配。唯一要注意:如果字幕在画面外(如某些电影的黑边区域被裁剪过),需要确保上传的视频包含完整画面区域,否则字幕区域缺失会导致漏提取。

这个工具和剪映自动生成字幕比,哪个更准?

剪映依赖云端语音识别(ASR),适合有清晰音频的对话场景;本工具是 OCR 提取画面上的硬字幕,适合无声视频、外语片、或字幕被压入画面的情况。如果视频有独立音轨且说话清晰,剪映更准;如果字幕是硬烧录在画面里的,本工具更直接,且不上传音频,隐私更好。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭