Mac下用Homebrew安装FFmpeg后Python无法识别的问题求助
解决Python无法识别Homebrew安装的FFmpeg的问题
嘿,我懂你为啥困惑了!你通过Homebrew安装的FFmpeg是独立的命令行工具,并不是Python可直接导入的库——这就是直接写import ffmpeg会报错的核心原因。下面给你两种靠谱的解决思路:
思路1:直接在Python里调用命令行FFmpeg(用subprocess)
既然你已经通过Homebrew装好了FFmpeg,完全可以用Python的subprocess模块直接调用它的命令行指令,这是最直接的方式。举个视频转码的示例:
import subprocess # 调用FFmpeg完成视频转码 try: subprocess.run( ["ffmpeg", "-i", "input.mp4", "-c:v", "libx264", "-crf", "23", "output.mp4"], check=True, capture_output=True, text=True ) print("转码完成!") except subprocess.CalledProcessError as e: print(f"出错了:{e.stderr}")
如果遇到找不到ffmpeg的情况,先在终端跑which ffmpeg拿到它的绝对路径,把上面的"ffmpeg"换成这个路径就行(比如"/usr/local/bin/ffmpeg")。
思路2:用Python封装库操作FFmpeg
如果你想更贴近Python的代码风格来使用FFmpeg,可以用第三方封装库,比如ffmpeg-python——它会帮你生成FFmpeg命令,然后调用你系统里已安装的Homebrew版本FFmpeg。
首先安装这个库:
pip install ffmpeg-python
然后就可以在Python里导入使用了,示例代码:
import ffmpeg # 定义输入输出流并执行 input_video = ffmpeg.input("input.mp4") output_video = ffmpeg.output(input_video, "output.mp4", vcodec="libx264", crf=23) ffmpeg.run(output_video)
简单总结下:Homebrew装的FFmpeg是给终端用的独立程序,不是Python模块,所以不能直接import;要么用subprocess直接调用命令,要么用封装库间接调用它~
内容的提问来源于stack exchange,提问作者user5124826




