You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Sphinx引擎视频转录报错AttributeError: NoneType无close属性求解决

视频语音转录报错解决思路及替代方案

问题分析

你遇到的错误是:

ERROR : transcribe_video_to_text
    audio.close()

AttributeError: 'NoneType' object has no attribute 'close'

根源在于video.audio.write_audiofile("temp_audio.wav")方法没有返回值,赋值给audio变量后,audio是None,自然无法调用close()方法。

错误修复步骤

  1. 移除audio = video.audio.write_audiofile(...)的赋值操作,直接调用该方法即可
  2. 删除无效的audio.close()语句
  3. 补充导入os模块(原代码使用了os.remove但未导入)
  4. 建议用with语句管理VideoFileClip对象,自动释放资源,无需手动调用video.close()
  5. 可添加异常捕获,避免识别失败导致程序崩溃

修复后的代码

import moviepy.editor as mp
import speech_recognition as sr
import os  # 补充导入os模块

def transcribe_video_to_text(video_path):
    # 用with语句管理视频对象,自动释放资源
    with mp.VideoFileClip(video_path) as video:
        video.audio.write_audiofile("temp_audio.wav")

    # 初始化语音识别对象
    recognizer = sr.Recognizer()

    # 读取音频文件
    with sr.AudioFile("temp_audio.wav") as source:
        audio_data = recognizer.record(source)

    # 执行语音识别并添加异常处理
    try:
        text = recognizer.recognize_sphinx(audio_data, keyword_entries=[('whisper', 1.0)])
    except sr.UnknownValueError:
        text = "无法识别音频内容"
    except sr.RequestError as e:
        text = f"语音识别服务出错: {e}"

    # 删除临时音频文件
    os.remove("temp_audio.wav")

    return text

# 视频文件路径
video_path = "Gods Architect Antoni Gaudis glorious vision.mp4"

# 执行转录并输出结果
transcription = transcribe_video_to_text(video_path)
print("视频转录文本:")
print(transcription)

替代库与AI工具

离线方案(无需联网)

  • Whisper:OpenAI开源模型,多语言支持,准确率远高于Sphinx,安装命令pip install openai-whisper,示例代码:
import whisper

def transcribe_video(video_path):
    model = whisper.load_model("base")  # 可选tiny/base/small/medium/large模型
    result = model.transcribe(video_path)
    return result["text"]

# 使用示例
text = transcribe_video("你的视频路径.mp4")
print(text)
  • Vosk:轻量开源离线识别工具,支持多语言模型,适合低性能设备

在线方案(需API密钥)

  • Google Cloud Speech-to-Text:准确率高,支持复杂场景转录
  • 阿里云/百度语音识别:国内厂商服务,对中文方言、口音支持更友好

内容的提问来源于stack exchange,提问作者Tahereh Maghsoudi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:22:37