YouTube 上的许多韩国视频都有硬编码字幕(例如 https://youtu.be/Zyd6hAvxTnc)。
期望的最终结果是文本格式的 OCR 字幕。
我有一个半手动过程,使用 yt-dlp 下载视频,使用 ffmpeg 创建图像(例如每 1 秒),使用 ImageMagick 按固定尺寸进行批量裁剪(希望字幕不要多行......) ,使用 Tesseract 进行 OCRing(结果好坏参半 - PowerToy 的文本提取器似乎好多了,但它非常手动),然后删除重复项。
这不是一个很好的解决方案。
我尝试过使用 OpenCV 但没有成功。
有人知道吗:
a) 一个自动执行此操作的工具
b) 自动化此过程的更好方法(最好是在单个 Python 脚本中,最好是自动检测字幕而不是固定裁剪)。
谢谢!
可能的工作流程可能是:
ffmpeg
将 MP4 视频转换为静态图像,例如ffmpeg -i myvideo.mp4 -start_number 1 -vf fps=1 frame-%04d.png
easyocr
)提取文本。在硅 Mac 上,您可能希望利用苹果的硬件加速 AI 芯片通过 macOCR 等挂钩进行实时文本检测。srt
模块可能会对此有所帮助)。有 subtitles_extract 试图将它们放在一起(bash 和 python 的混合),但它显然是一次性的壮举,需要额外的调整才能工作,但它给出了如何做到这一点的粗略想法.