You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动