当前位置: 首页 > article >正文

【音频生成】mac安装ffmpeg

前言

ffmpeg是一个开放源代码的自由软件,可以执行音频和视频多种格式的录影、转换、串流功能。算的上是进行音频处理的基本软件了,也是python包pydub的依赖。如果没有安装ffmpeg,就会报这个错。

FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'

通过brew安装

step1 安装homebrew

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。这里推荐一个不需要梯子的安装方式。

安装脚本:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

替换为中科大源:

# 替换各个源
$ 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

安装好之后运行:

brew install ffmpeg

如果你的电脑有梯子,那么大概率就不会卡,但是不知道为啥,在下载libpng这个包的时候就会下载失败,报错:

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/

Screenshot of a Finder window showing the ffmpeg and ffprobe executable files

赋予签名

Apple Silicon只能运行已经签名的文件,如果文件无法打开,需要在ffmpeg文件的目录下(bin)执行以下两个命令:

xattr -cr ./ffmpeg
codesign -s - ./ffmpeg

配置环境变量

最后将bin目录写入环境变量即可:

vim ~/.zshrc

在里面添加:

export PATH=$PATH:/Users/yourname/audio-orchestrator-ffmpeg/bin/`

关闭终端重新打开,试试ffmpeg -version, 可以看到已经有对应的输出。

请添加图片描述

参考资料

  • mac安装brew

http://www.kler.cn/a/350131.html

相关文章:

  • linux下使用脚本实现对进程的内存占用自动化监测
  • HP 笔记本重新安装 Windows 11 无法启动
  • 【Qt 常用控件】显示类控件——QLabel
  • vue3 通过ref 进行数据响应
  • day 21
  • Linux容器(初学了解)
  • Python | Leetcode Python题解之第476题数字的补数
  • 【vue】前端学习
  • 【ShuQiHere】 K-means 聚类算法详解:公式、代码与实战
  • Gin解说
  • 二、变量数据类型
  • OpenStack服务Swift重启失效(已解决)
  • 漏洞挖掘 | 记一次越权修改敏感信息
  • react+ts+vite 别名一直爆红问题
  • ChatTTS 本地安装和测试
  • Android常用界面控件——ProgressBar
  • PHP实现TOTP: Time-Based One-Time Password Algorithm
  • JAVA 中的克隆对象
  • 强化学习和QLearning及GAN到底是什么关系啊
  • SpringSecurity(一)——认证实现
  • 一区大黄蜂!人工蜂群算法优化!ABC-CNN-LSTM-MATT多特征分类预测
  • Jackson在Spring Boot中的开发技巧详解
  • 在顺序结构和链式结构的线性表上实现顺序检索算法
  • Ascend C算子编程和C++基础 Lesson3-4 性能优化
  • 流程图
  • Angular 实现 keep-alive (路由复用)