关于视频的处理,利用ffmpeg提取视频字幕和音频,如果ffmpeg无法识别字幕,则通过ocr识别字幕

本文介绍了如何使用ffmpeg工具从视频中提取音频和字幕,以及在没有内置字幕时,如何借助PaddleOCR进行OCR字幕提取。提到了两个GitHub项目,YaoFANGUK/video-subtitle-extractor和PaddlePaddle/PaddleOCR,它们分别用于硬字幕提取和多语言OCR识别。
部署运行你感兴趣的模型镜像

ffmpeg提取视频字幕和音频,代码

import ffmpeg

input_video = r"D:\GZ\soft\PaddleOCR-release-2.7\MP4\11.mp4"
output_audio = "output_audio.aac"
output_subtitle = "output_subtitle.srt"

try:
    probe = ffmpeg.probe(input_video, v='error')

    # 检查是否有音频流
    audio_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'audio'), None)
    if audio_stream:
        print("提取音频流...")
        ffmpeg.input(input_video).output(output_audio, codec='copy').run()
    else:
        print("没有音频流可提取")

    # 检查是否有字幕流
    subtitle_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'subtitle'), None)
    if subtitle_stream:
        print("提取字幕流...")
        ffmpeg.input(input_video).output(output_subtitle, codec='srt').run()
    else:
        print("没有字幕流可提取")

except ffmpeg.Error as e:
    print(f"ffmpeg error:\n{e.stderr.decode('utf-8')}")

如果没有字幕,则用ocr提取字幕,我在github上找到两个相关案例

专注于字幕的

YaoFANGUK/video-subtitle-extractor: 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内容提取。A GUI tool for extracting hard-coded subtitle (hardsub) from videos and generating srt files. (github.com) 可以提取各种图片,文档,功能比教强大,但需要自己按需求修改的

PaddlePaddle/PaddleOCR: Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices) (github.com)

您可能感兴趣的与本文相关的镜像

PaddlePaddle-v3.3

PaddlePaddle-v3.3

PaddlePaddle

PaddlePaddle是由百度自主研发的深度学习平台,自 2016 年开源以来已广泛应用于工业界。作为一个全面的深度学习生态系统,它提供了核心框架、模型库、开发工具包等完整解决方案。目前已服务超过 2185 万开发者,67 万企业,产生了 110 万个模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值