运行代码时出现ffmpeg has no attribute input错误的解决方法
解决"ffmpeg has no attribute input"错误
这个错误的核心原因是你使用的API属于ffmpeg-python库,但实际环境里要么装错了库,要么没正确配置FFmpeg本体,按以下步骤解决:
卸载错误库,安装正确的依赖
很多人会误装名为ffmpeg的Python库(这个库没有input方法),你需要先卸载它,再安装官方的ffmpeg-python:pip uninstall -y ffmpeg pip install ffmpeg-python确认导入语句正确
在代码开头必须有正确的导入:import ffmpeg import numpy as np确保系统已安装FFmpeg本体
ffmpeg-python只是Python封装层,底层依赖系统里的FFmpeg程序。如果你的电脑没装FFmpeg:- 下载对应系统的FFmpeg版本
- 解压后将包含
ffmpeg(Windows是ffmpeg.exe)的bin目录添加到系统环境变量PATH中 - 或者在代码里直接指定FFmpeg的路径:
ffmpeg.EXECUTABLE = "/usr/local/bin/ffmpeg" # Linux/macOS示例 # ffmpeg.EXECUTABLE = "C:/ffmpeg/bin/ffmpeg.exe" # Windows示例
修正后的完整代码示例:
import ffmpeg import numpy as np def extract_audio_from_video(file_path: str) -> np.ndarray: inputfile = ffmpeg.input(file_path) out = inputfile.output('-', format='f32le', acodec='pcm_f32le', ac=1, ar='44100') raw = out.run(capture_stdout=True) del inputfile, out return np.frombuffer(raw[0], np.float32)
内容的提问来源于stack exchange,提问作者Ashik Ali
相关产品推荐
相关产品推荐

