IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Mac下通过编译源码的方式安装ffmpeg -> 正文阅读

[系统运维]Mac下通过编译源码的方式安装ffmpeg

问题

一直想在我的Mac上安装上ffmpeg,今天周六有时间就弄了一下,结果整整折腾了一下午。
看网上的教程主要有两种办法,一是通过Homebrew直接安装,brew install ffmpeg,一句命令安装,开始我是打算用这种方法的,但是我的Homebrew没有切换国内源,一直报超时的错误,Homebrew需要切换国内源我也是后来才知道的,当时以为这种方案对我来说行不通,所以就选择了第二种方案,直接编译源码,这种方式技术难度会大一点,但是对于开源软件来说,这是最利于加深对软件了解的过程,学到的东西自然更多。

安装过程

一、 准备工作
我找了一篇教程,Mac平台下的FFmpeg的安装编译
讲的比较详细,我基本就是参照这个教程里的流程操作的。这里面涉及到一个Unix like平台下的C程序源码编译知识,还一个就是 Homebrew的使用,所以编译源码之前我先就这两个知识点做了一下准备工作。
源码的编译用到./configure,make,make install三个命令,三个命令各自的作用,这一篇教程介绍的比较清楚:
Linux 命令详解(三)./configure、make、make install 命令
HomebrewmacOS下的软件包管理系统,后面在编译源码的过程中,很多依赖都是需要用Homebrew安装的,所以需要先把它鼓捣好,因为我之前已经装好了,所以这里只需要把它的源切换为国内源,参考这一篇教程:Mac 下 brew 切换为国内源
我切换成了中科大的源,后面安装依赖包就很快了,其实这个时候直接用brew install ffmpeg 应该也是可以的了,但是前面说了,我们就是要体验编译源码的过程和挑战带来的乐趣。

二、 编译过程
源码下载并解压之后,在解压目录开启终端,执行下面的脚本

./configure --prefix=/usr/local/ffmpeg \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-postproc \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libopenjpeg \
--enable-openssl \
--enable-libopus \
--enable-libspeex \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libxvid \
--disable-static \
--enable-shared

所有的问题都是出现在这一步,因为这里面的依赖包我几乎都没有,而每次执行这个脚本后只能提示缺少一个依赖包,不会一次把所有的缺少的依赖包都提示出来,就像这样ERROR: libass >= 0.11.0 not found using pkg-config,所以我就需要一个一个把缺少的依赖先试出来,然后开启另一个终端,用Homebrew逐个安装,而且依赖包的名字和上面脚本中的还不一定一样,比如这个:ERROR: libmp3lame >= 3.98.3 not found,用Homebrew安装的时候是这样的brew install lame,这个只能是通过搜索引擎查了,如果出现那种brew install也找不到的情况,就只能自己下载源码,然后编译安装了,也就是说为了编译ffmpeg,你可能先要编译安装别的依赖包。下面给出几个在这个过程中几个对我有帮助的教程:
ffmpeg linux 编译
mac编译ffmpeg问题汇总
最后,还是有一个 --enable-openssl \一直提示找不到,其实openssl已经装了,但是不知道什么原因就是找不到,查了很多资料,也试了一遍都不行,干脆就把这个去掉了,以后如果会用到再研究吧。
至此.configure这一步总算是过了,剩下make && sudo make install就简单了,执行完就等着就行了,根据电脑配置,编译的时间会不一样,主要耗时都是在make的过程,我编译了大概40分钟。
编译安装完成后,配置好环境变量,打开终端,输入ffmpeg,看到了:
在这里插入图片描述
开心

使用

这里只是简单尝试一下,因为ffmpeg里面包罗的东西太多了,不是几篇教程能讲清楚的,还是需要根据具体使用场景再做研究,不过可以先看看阮一峰的这篇讲解:
FFmpeg 视频处理入门教程
我用它截取了一个手机视频片段转换成了一个GIF图片:
在这里插入图片描述
命令:
ffmpeg -t 4 -ss 00:00:02 -i 1.mov -vf scale=iw/4:-1:flags=lanczos 1.gif
具体参数的含义这里就不展开讲了,用到的时候再研究。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:35:42  更:2022-03-21 21:38:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:29:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码