前言
ffmpeg是一个开放源代码的自由软件,可以执行音频和视频多种格式的录影、转换、串流功能。算的上是进行音频处理的基本软件了,也是python包pydub的依赖。如果没有安装ffmpeg,就会报这个错。
python
FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'
通过brew安装
step1 安装homebrew
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。这里推荐一个不需要梯子的安装方式。
安装脚本:
bash
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
替换为中科大源:
bash
# 替换各个源
$ git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# zsh 替换 brew bintray 镜像
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
$ source ~/.zshrc
# bash 替换 brew bintray 镜像
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile
# 刷新源
$ brew update
安装ffmpeg
安装好之后运行:
bash
brew install ffmpeg
如果你的电脑有梯子,那么大概率就不会卡,但是不知道为啥,在下载libpng这个包的时候就会下载失败,报错:
bash
transfer closed with 849278 bytes remaining to read
Trying a mirror...
==> Downloading https://sourceforge.mirrorservice.org/l/li/libpng/libpng16/1.6.4
重新下载了几次都不行,不过貌似遇到这种问题的人不多,网上很少有解决这个问题的资料。于是,我换成用官方安装包安装的方式。
通过官网安装包安装
下载安装包
去官网下载ffmpeg和ffprobe的包:
下载之后将文件进行解压,然后放到自己的一个指定目录,如 ~/audio-orchestrator-ffmpeg/bin/
赋予签名
Apple Silicon只能运行已经签名的文件,如果文件无法打开,需要在ffmpeg文件的目录下(bin)执行以下两个命令:
bash
xattr -cr ./ffmpeg
codesign -s - ./ffmpeg
配置环境变量
最后将bin目录写入环境变量即可:
bash
vim ~/.zshrc
在里面添加:
bash
export PATH=$PATH:/Users/yourname/audio-orchestrator-ffmpeg/bin/`
关闭终端重新打开,试试ffmpeg -version
, 可以看到已经有对应的输出。