提取(用于OCR)硬编码视频字幕

问题描述 投票:0回答:1

YouTube 上的许多韩国视频都有硬编码字幕(例如 https://youtu.be/Zyd6hAvxTnc)。

期望的最终结果是文本格式的 OCR 字幕。

我有一个半手动过程,使用 yt-dlp 下载视频,使用 ffmpeg 创建图像(例如每 1 秒),使用 ImageMagick 按固定尺寸进行批量裁剪(希望字幕不要多行......) ,使用 Tesseract 进行 OCRing(结果好坏参半 - PowerToy 的文本提取器似乎好多了,但它非常手动),然后删除重复项。

这不是一个很好的解决方案。

我尝试过使用 OpenCV 但没有成功。

有人知道吗:

a) 一个自动执行此操作的工具

b) 自动化此过程的更好方法(最好是在单个 Python 脚本中,最好是自动检测字幕而不是固定裁剪)。

谢谢!

python video ocr subtitle video-subtitles
1个回答
0
投票

可能的工作流程可能是:

  1. 使用
    ffmpeg
    将 MP4 视频转换为静态图像,例如
    ffmpeg -i myvideo.mp4 -start_number 1 -vf fps=1 frame-%04d.png
  2. 使用 python 的 opencv 或一些包装它的库(例如
    easyocr
    )提取文本。在硅 Mac 上,您可能希望利用苹果的硬件加速 AI 芯片通过 macOCR 等挂钩进行实时文本检测。
  3. 将提取的文本拼接成 SRT 之类的内容(要获得正确的开关时间可能很棘手,
    srt
    模块可能会对此有所帮助)。

subtitles_extract 试图将它们放在一起(bash 和 python 的混合),但它显然是一次性的壮举,需要额外的调整才能工作,但它给出了如何做到这一点的粗略想法.

© www.soinside.com 2019 - 2024. All rights reserved.