FFmpeg下载和安装

一、关于 FFmpeg

FFmpeg 是一个音视频领域使用最广泛的跨平台开源库。由C语言编写,但广泛的为 C/C++、C#、Java、Python 等主流编程语言所调用。它集合了几乎所有的编码解码库与流协议,几乎能完美处理音视频开发领域的所有需求。

二、Mac 平台安装 FFmpeg

1、方式一:源码安装 FFmpeg

通过编译源码安装 FFmpeg 的优点是可以把我们想要的东西都塞到FFmpeg中,不想要的就删掉,也就是根据自己的需要对 FFmpeg 进行裁剪。首先我们编希望达到的目标:
(1)编译出 ffmpeg、ffplay、ffprobe 三个命令行程序;
(2)只产生动态库,不产生静态库;
(3)将 fdk-aac、x264、x265 集成到 FFmpeg 中(fdk-aac 会在后续 AAC 编解码时用到,x264、x265 会在视频模块中用到);

1.1、安装依赖项:

a、安装 yasm

# 下载 yasm 1.2.0 
$ curl http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz >yasm.tar.gz
# 解压
$ tar xzvf yasm.tar.gz
# 进入目录 yasm-1.2.0
$ cd yasm-1.2.0 
# 执行配置
$ ./configure
# 编译
$ make 
# 安装
$ sudo make install

b、安装 sdl2(如果不需要安装 ffplay 可以忽略这一步):

$ brew install sdl2

c、安装 fdk-aac

brew install fdk-aac

d、安装 x264

brew install x264

e、安装 x265

brew install x265

可通过 brew list命令查看是否安装过 fdk-aac、x264、x265;

1.2、编译 FFmpeg 源码

a、下载 FFmpeg 源码(xz、bzip 和 gzip 三种选项仅仅是压缩格式不同,内容是相同的):

官网下载地址:https://ffmpeg.org/download.html

b、下载完成解压 FFmpeg ,打开终端进入 FFmpeg 源码文件夹:

$ cd /Users/mac/Downloads/ffmpeg-4.3.2

c、执行源码目录下的 configure 脚本:

$ ./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-gpl  --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265
--prefix
指定编译好的 FFmpeg 安装路径

--enable-shared
生成动态库

--disable-static 
不生成静态库

--enable-libfdk-aac
将 fdk-aac 内置到 FFmpeg

--enable-libx264 
将 x264 内置到 FFmpeg 中

--enable-libx265
将 x265 内置到 FFmpeg 中

--enable-gpl
x264、x265要求开启 GPL License

--enable-nonfree
fdk-aac 与 GPL 不兼容,需要通过开启 nonfree 进行配置
参考:https://github.com/FFmpeg/FFmpeg/blob/master/LICENSE.md

./configure —help | grep XXX
通过命令查看每个配置项的作用

d、编译:

$ make -j 8 && sudo make install

e、为了让bin目录中的 ffmpeg、ffprobe、ffplay 在任意位置都能够使用,需要先将 bin 目录配置到环境变量 PATH 中

# 打开环境变量
$ vim ~/.bash_profile
# 输入 i 进入编辑模式,配置 ffmpeg 环境变量,然后按 ESC,输入 :wq 退出编辑模式
export PATH=/usr/local/ffmpeg/bin:$PATH
# 执行 source 命令,是配置的环境变量生效
$ source ~/.bash_profile

如果你用的是zsh,而不是bash,只需要将上面的 .bash_profile 换成 .zprofile 。

f、检查是否安装成功:

$ ffmpeg -version

如果控制台打印以下内容说明安装成功:

ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
built with Apple clang version 11.0.3 (clang-1103.0.32.62)

g、安装成功后目录结构:

$ tree
.
|____bin # 应用程序,可在终端中使用
| |____ffmpeg # 用于转码的应用程序 [文档](http://ffmpeg.org/ffmpeg.html)
| |____ffplay # 用于播放的应用程序 [文档](http://ffmpeg.org/ffplay.html)
| |____ffprobe # 用于查看文件格式的应用程序 [文档](http://ffmpeg.org/ffprobe.html)
|____include # 头文件
| |____libavcodec # 用于音频/视频编解码,该库是音视频编解码核心,实现了市面上可见的绝大部分解码器的功能
| |____libavformat # 封装格式处理,包含多媒体容器格式复用器和解复用器的库,用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;音视频的格式解析协议,为 libavcodec 分析码流提供独立的音频或视频码流源
| |____libavfilter #  音视频滤波器的开发,如宽高比、裁剪、格式化、非格式化伸缩
| |____libavdevice # 硬件采集、加速、显示,操作计算机中常用的音视频捕获或输出设备
| |____libavutil #  包含一些公共的工具函数的使用库,包括算数运算、字符操作
| |____libswresample # 原始音频格式转码
| |____libswscale # 视原始视频格式转换,用于视频场景比例缩放、色彩映射转换;图像颜色空间或格式转换,如 rgb565、rgb888 等与 yuv420 等之间转换
| |____libpostproc # 同步、时间计算的简单算法,用于后期效果处理;音视频应用的后处理,如图像的去块效应
|____lib # 动态库
| |____libpostproc.55.dylib
| |____libswscale.dylib
| |____libavutil.56.51.100.dylib
| |____libavcodec.58.91.100.dylib
| |____libswscale.5.dylib
| |____libswresample.3.dylib
| |____libavfilter.7.dylib
| |____libavformat.58.dylib
| |____libavformat.dylib
| |____libavutil.dylib
| |____libavformat.58.45.100.dylib
| |____libavutil.56.dylib
| |____libswresample.3.7.100.dylib
| |____libavcodec.dylib
| |____libavdevice.58.dylib
| |____libswresample.dylib
| |____libavdevice.dylib
| |____libavfilter.7.85.100.dylib
| |____libpostproc.dylib
| |____libavfilter.dylib
| |____libpostproc.55.7.100.dylib
| |____libswscale.5.7.100.dylib
| |____libavdevice.58.10.100.dylib
| |____libavcodec.58.dylib

h、如果安装的 ffmpeg 有问题,卸载命令:

$ cd /Users/mac/Downloads/ffmpeg-4.3.2
$ sudo make uninstall

2、方式二:Mac 平台也可以选择使用 Homebrew 的方式进行安装(使用 Homebrew 安装很方便,但是无法根据自己的需要对 FFmpeg 进行裁剪,源码安装和Homebrew安装二选一):

$ brew install ffmpeg

查看 FFmpeg 是否安装成功:

$ ffmpeg -version 

如果可以成功查看版本号,说明安装成功!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容