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) 可以提取各种图片,文档,功能比教强大,但需要自己按需求修改的
本文介绍了如何使用ffmpeg工具从视频中提取音频和字幕,以及在没有内置字幕时,如何借助PaddleOCR进行OCR字幕提取。提到了两个GitHub项目,YaoFANGUK/video-subtitle-extractor和PaddlePaddle/PaddleOCR,它们分别用于硬字幕提取和多语言OCR识别。
5728

被折叠的 条评论
为什么被折叠?



