Python提取视频文案

发布于:2024-07-09 ⋅ 阅读:(56) ⋅ 点赞:(0)





1、背景描述


在多媒体应用中,视频是一个信息量巨大的载体。然而,有时我们需要从视频中提取语音并转换为文本,以用于文本分析和机器学习训练

其中主要涉及到两个过程:视频转音频和音频转文字,分别对应到两个第三方库。Python实现视频转音频和音频转文字的功能主要有两个库:

  • moviepy:用于将视频转为音频
  • SpeechRecognition:用于将音频转换为文字

安装:

pip install moviepy
pip install SpeechRecognition

综上所述,视频文案的提取分为两步:视频转音频、音频转文字

2、视频转音频


首先,我们将使用moviepy库将视频文件转换为音频文件

from moviepy.editor import VideoFileClip

# 选择视频文件
# 视频文件路径或文件名
video_path = r"C:\Users\cc\Desktop\test.mp4"

# 使用VideoFileClip函数创建一个VideoFileClip对象,用于处理视频文件
video = VideoFileClip(video_path)

# 使用audio方法从VideoFileClip对象中提取音频
audio = video.audio

# 使用write_audiofile方法将提取的音频保存到文件中
# 音频文件输出路径或文件名
audio_output_path = "audio.wav"
audio.write_audiofile(audio_output_path)

3、音频转文字


然后,我们再使用SpeechRecognition库将音频文件转换为文字

import speech_recognition as sr
import os

# 选择音频文件
# 音频文件路径或文件名
audio_path = "audio.wav"

# 创建Recognizer对象,用于处理音频文件
recognizer = sr.Recognizer()

# 使用Recognizer对象的record方法读取音频文件
with sr.AudioFile(audio_path) as source:
    audio = recognizer.record(source)

# 语音识别
text = recognizer.recognize_google(audio, language='zh-CN')
print(text)

# 清理临时文件
os.remove(audio_path)

上述过程中,我们使用Recognizer对象的recognize_google方法将音频转换为文字

recognize_google是谷歌提供的音频转文字API(Google Cloud Speech-to-Text API)

recognize_google函数可能不会在所有音频文件上工作,因为它依赖于云服务或本地语音识别引擎的准确性和性能。对于特定的应用,可能需要对音频进行预处理,例如降噪或调整录音条件以提高识别准确率

值得注意的是,视频转音频的效果非常好,但是音频转文字总是出现API请求失败:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

难道需要Api Key和Secret Key吗?



网站公告

今日签到

点亮在社区的每一天
去签到