FFmpeg下载、编译、安装

1、FFmpeg 下载、编译、安装

1.1、下载

新建个目录下载 FFMpeg 源码
下载命令:git clone https://git.ffmpeg.org/ffmpeg.git
下载指令
FFmpeg下载、编译、安装_第1张图片

  1. libavformat 用于各种音视频封装格式的生成和解析
  2. libavutil 包含一些公共的工具函数;
  3. libavcodec 用于各种类型声音、图像编解码;
  4. libavdevice 提供了访问捕获设备和回放设备的接口
  5. libavresample 对音频重采样
  6. libavfilter 提供了各种音视频过滤器
  7. libswresample 实现了混音和重采样;
  8. libswscale 实现了色彩转换和缩放工能
  9. libpostproc 用于后期效果处理;
  10. ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等;
  11. ffsever:一个 HTTP 多媒体即时广播串流服务器;
  12. ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

1.2 编译

1.2.1下载完成之后,进入FFmpeg 源码目录,运行配置命令

./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-videotoolbox --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --cc=clang --host-cflags= --host-ldflags=

1.2.2执行编译、安装命令

make &&sudo make install

2、可能会遇到的问题

  • 2.1. RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
  • 2.2 RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
  • 2.3. PC failed; curl 18 transfer closed with outstanding read data remaining
  • 2.4. the remote end hung up unexpectedly
    这几个问题出现的原因有可能是文件过大,网络不好造成的,输入一下指令,再不要放弃的多试几次
git config --global http.postBuffer 1048576000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
  • 2.5. nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
./configure --disable-x86asm
brew install yasm
  • 2.6. ERROR: libfdk_aac not found
brew install fdk-aac
  • 2.7. ERROR: speex not found using pkg-config
brew install speex
  • 2.8. ERROR: libx264 not found
brew install x264
  • 2.9. ERROR: x265 not found using pkg-config
brew install x265

最后再执行一下:1.2.1 和 1.2.2 两个步骤

查看编译结果

cd /usr/local/ffmpeg

编译后ffmpeg包含的内容
就代表编译成功了,bin目录下有 ffmpeg ffprobe 两个文件夹

配置FFmpeg所需环境变量

进入配置环境

vim .bash_profile

写入环境变量

export PATH=$PATH:/usr/local/ffmpeg/bin

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/Cellar/sdl2/2.0.8/lib/pkgconfig:/usr/local/ffmpeg/lib/pkgconfig

注意:先检查一下 /usr/local/Cellar/sdl2/2.0.8/lib/pkgconfig 的路径,如果没有 sdl2 次文件要先安装,再替换路径

brew install sdl2

立即生效

source .bash_profile

环境变量配置成功后,输入

$ ffmpeg

会打印如下结果:

你可能感兴趣的:(音视频)