人活在世界上,快乐和痛苦本就分不清,所以我只求它货真价实。
小伙伴们端午安康啊,最近在学习音视频方面的知识点,所以就把自己所学的知识整理一下,当作自己的笔记,每当忘记的时候就来瞅一眼。请大家关注后续音视频相关的Blog。
1. 什么的ffmpeg?
ffmpeg 是用C语言开发的,是一个用于音视频编解码
的多媒体开源库,它为开发者提供了丰富了音视频处理的调用接口。ffmpeg官网
2. ffmpeg的用处
- 可以运行在Linux、Mac、Windows
- 是一个优秀的多媒体库,可用于多媒体格式的转换
- 能够解码、编码、转码、复用、解复用、过滤音视频数据
3. ffmpeg安装与编译
3.1 Mac中一键安装
如果使用的是 Mac 电脑,可以输入以下命令安装 ffmpeg
brew install ffmpeg
安装完成之后在终端输入ffmpeg,会有以下内容,ffmpeg的安装路径为/usr/local/Cellar/ffmpeg/5.0.1
然后查看ffmpeg中的安装内容
cd /usr/local/Cellar/ffmpeg/5.0.1
cd include
cd lib
- include目录下存放的是头文件,
- libavformat:对多媒体格式对解析和封装、
- libavutil:常用的工具
- libavcodec:编解码
- libavdevice:音视频采集、桌面采集
- libavfilter:滤镜
- libswresample:音频采样
- lib目录下存放的是动态库
扩展名为.dylib 为Mac平台生成的动态库
3.2 通过clone ffmpeg库进行编译安装
-
第一步:clone
ffmpeg 源码地址:https://github.com/FFmpeg/FFmpeggit clone git@github.com:FFmpeg/FFmpeg.git
如果想查看 ffmpeg提供的一些工具,可以使用以下命令./configure --help ./configure --list-decoders
-
第二步:生成配置文件
在终端输入以下内容,可选择性的输入ffmpeg git:(master) ./configure --prefix=/usr/local/Cellar/ffmpeg/5.0 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-nonfree --enable-libfdk-aac --enable-ffplay --enable-gpl --enable-libaom --enable-libwebp --enable-libx264 --enable-libx265 --disable-indev=jack --enable-videotoolbox --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-hardcoded-tables
如果这一步出现了报错,例如:nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
解决方法:brew install yasm,之后再重新生成配置文件即可 -
第三步:编译与安装
make && make install
到此,ffmpeg编译与安装就大功告成啦。