〖求助〗MP4提取字幕文字的方法-有新问题
- 西小柚一百多个视频,每个都要提取字幕文字…都是mp.4格式的,要怎么办最快……谢谢。 iOS fly ~
新问题来了,为什么忽然转换不出来了呢。。。说转换完毕但是没有字出来,保存的文档是空白的。 - iamez已经嵌入视频的字幕很难提取吧,对于无字幕视频,只能语音识别+校对了。 很大的工作量。
有字幕的视频,当然了人工记录也可以,我觉得可能相对简单一点。 - insn想免费就提取MP3 讯飞转,想省力就淘宝花钱人工校对,精度高。
- 西小柚回复3#insn
迅飞也要钱,我最开始想到的就是这样整理,哎。 iOS fly ~ - 西小柚回复2#iamez
视频有字幕,全人工,我一个人,月底肯定弄不完。 iOS fly ~ - lsxsffmpeg自己百度下
- 西小柚回复6#lsxs
谢谢!! iOS fly ~ - iamez这个玩意不好用,我上次用了一个晚上折腾完各种注册,搞的自己是it程序员一样,上传视频听文字读取率很低,还不如网易见外平台。真心话
楼主这个情况人工比较省事,按暂停键抄就行了,至少可以保证100%正确,又不用对时间轴的。 - kaien不是封装的就不可能提取出来,只能想办法摘录或者ocr了
- lsxs回复8#iamez
ffmpeg是命令行程序好嘛,你搞错了吧。 - 降温军把音轨提出来,然后转文字这样可行吗?
- Aweall没什么好办法,ffmepg隔几秒截个图,裁出文字部分去ocr,然后文本校对去重。
如果有特效字幕估计ocr也有难度。 - 西小柚回复12#Aweall
听着我就不会……头大 iOS fly ~ - 西小柚回复11#降温军
上传mp3迅飞转换,也是要收费呢 iOS fly ~ - 西小柚回复8#iamez
我一个人,我怕弄不完…感觉会崩溃 iOS fly ~ - tiens有个软件叫subrip,是从DVD的vob文件里自动OCR识别字幕的。你大不了把mp4转成vob,然后让subrip识别就行了
- 西小柚回复16#tiens
谢谢!!我试试~~ iOS fly ~ - a66xr百度什么的都有ocr接口的,把字幕截图出来再识别
- lsxs你这个太慢了
- 西小柚ffmepg看不懂,subrip不会用。。。我烦死了
- 西小柚
- 西小柚
- i4cuilione坚果手机可以炸声音
- tiens光看没用,装一个试试呗。可以用格式工厂把mp4转一个vob,然后让subrip读读看
- 西小柚
- 西小柚
- apolodi学好PYTHON拯救工作,响应一波D版的PYTHON热。复制代码
- import cv2
- from PIL import Image
- import numpy as np
- import os
- import datetime
- def format_time(second):
- hours = second // 3600
- minutes = (second - hours * 3600) // 60
- second = second - hours * 3600 - minutes * 60
- t = datetime.time(hour=hours, minute=minutes, second=second)
- return datetime.time.isoformat(t)
- def cal_stderr(img, imgo=None):
- if imgo is None:
- return (img ** 2).sum() / img.size * 100
- else:
- return ((img - imgo) ** 2).sum() / img.size * 100
- def save_image(ex_folder, img: Image, starts: int, ends: int):
- # 保存字幕图片到文件夹
- start_time = format_time(starts)
- end_time = format_time(ends)
- timeline = '-'.join([start_time, end_time]) + ".png"
- try:
- imgname = os.path.join(ex_folder, timeline)
- img.save(imgname)
- print('export subtitle at %s' % timeline)
- except Exception:
- print('export subtitle at %s error' % timeline)
- def export_subtitle(video_filename):
- ex_folder = os.path.splitext(video_filename)[0]
- if not os.path.exists(ex_folder):
- os.mkdir(ex_folder)
- skip_frames = 2818
- videoCap = cv2.VideoCapture(video_filename)
- for i in range(skip_frames):
- videoCap.read()
- start_frame = skip_frames
- curr_frame = skip_frames
- fps = videoCap.get(cv2.CAP_PROP_FPS)
- success = True
- subtitle_img = None
- last_img = None
- img_count = 0
- while success:
- for j in range(9):
- videoCap.read()
- curr_frame += 1
- success, frame = videoCap.read()
- curr_frame += 1
- if frame is None:
- print('video: %s finish at %d frame.' % (video_filename, curr_frame))
- break
- img = frame[:, :, 0]
- img = img[495:570, :]
- _, img = cv2.threshold(img, 220, 255, cv2.THRESH_BINARY)
- if cal_stderr(img) < 1:
- continue
- if img_count == 0:
- subtitle_img = img
- print('video: %s add subtitle at %d frame.' % (video_filename, curr_frame))
- last_img = img
- img_count += 1
- elif img_count > 10:
- img_count = 0
- subtitle_img = Image.fromarray(subtitle_img)
- save_image(ex_folder, subtitle_img, int(start_frame/fps), int(curr_frame/fps))
- start_frame = curr_frame # 开始时间往后移
- else:
- if cal_stderr(img, last_img) > 1:
- subtitle_img = np.vstack((subtitle_img, img))
- last_img = img
- img_count += 1
- print('video: %s add subtitle at %d frame.' % (video_filename, curr_frame))
- if img_count > 0:
- subtitle_img = Image.fromarray(subtitle_img)
- save_image(ex_folder, subtitle_img, int(start_frame / fps), int(curr_frame / fps))
- print('video: %s export subtitle finish!' % video_filename)
- if __name__ == '__main__':
- video_filename = '/Users/csd/S01E01.mkv'
- export_subtitle(video_filename)
原文链接,基于图像识别和文字识别用 Python 提取视频字幕 - import cv2
- iamez这么大的工作量本来一个人就搞不定的,招募一些学生帮你做吧,给点点报酬,反正这活儿也没啥技术含量
- 四维好奇什么职业什么需求
如果手下有人,就分给他们干
手下没人,要提醒一下自己领导,找了好久程序,没有能提取字幕的,需要手打。问领导要不要找外包做这个事。如果价格高,领导会衡量这个事情几个人一起有没有可能一起完成,还是这个视频字幕提取的事只是锦上添花,不值得投入那么多,索性不做这个事。 人生如梦 - 西小柚回复30#四维
学校,必须月底完成 iOS fly ~ - 西小柚回复28#apolodi
你这是什么………… iOS fly ~ - victory623回复28#apolodi
牛逼…… iOS fly ~ - ilovepizi讯飞人工最快…… iOS fly ~
- victory623回复31#西小柚
抛开技术角度,从社会工程学来看问题,字幕网站能不能找到?如果找不到能不能找到视频的原作者,说明原因从原作者处获取字幕。 iOS fly ~ - kanxue你至少来视频截图看看啊 iOS fly ~
- zdb1115一个求助贴 学了很多东西。
- zdb1115
- redsky21327搞定啦?
- 77880099
- 西小柚回复39#zdb1115
太感谢了……… iOS fly ~ - 西小柚
- robbie_williams上传youtube 自动生成字幕 然后在字幕窗口可以复制粘贴吧 试试看
我下englishsingsing的台本就是这样 - 猫了个咪的还是机器学习靠谱
- wcs244转成音频,上传到讯飞转成文字再校对就行了啊,虽然要花钱,但是你可以根据你的视频总长度选择一个对自己比较划算的套餐
- thevilled
- 西小柚回复46#wcs244
我有一个不转mp3直接就可以转文字的网站,叫突字幕,转的挺好的,一样花钱,我就是不想花钱…… iOS fly ~ - 西小柚
- liushixiongmark......