手记

【金秋打卡】第3天 Mac或Linux下编译安装ffmpeg

课程名称音视频基础+ffmpeg原理 入门音视频技术开发
课程章节:在不同的系统上编译 ffmpeg
课程讲师李超

课程内容

Mac 或 Linux 下安装 ffmpeg 有两种方式:

  • brew 方式
  • 下载源码编译

使用 brew 方式安装,可以通过下面的命令:

brew search ffmpegbrew 
brew install ffmpeg

下载 ffmpeg 源码编译

1.下载FFmpeg源码

2.编译 FFmpeg

./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --enable-ffplay //此处的3方便调试, 
make -j 4 //指定多个进程并发执行
sudo make install //安装ffmpeg
  • –prefix 指定ffmpeg安装路径
  • –disable-static: 关闭静态库,默认会生成静态库。
  • –enable-shared: 生成动态库

3. 查看配置参数,可以通过命令:

./configure --help

4. 没有生成 ffplay,为什么?

如果安装 ffmpeg 后没有生成ffplay,可以检查config.mk 文件中是否有:!CONFIG_FFPLAY=yes,原因为ffplay依赖sdl2环境,解决方法:

sudo apt-get install libsdl2-2.0
sudo apt-get install libsdl2-dev

卸载重新安装ffmpeg,配置后config.mk中CONFIG_FFPLAY=yes,则表示成功。

5. 文件解读

bin文件夹下

  • ffmpeg命令:推送,音视频处理
  • ffplay命令:拉流
  • ffprole:侦测多媒体文件,文件信息等

include文件夹

  • libavcodec:编解码
  • libavfilter:滤镜 特效
  • libavutil:基本工具
  • libswresample:音频重采样
  • libavdevice:管理设备
  • libavformat:文件格式处理
  • libpostproc:
  • libswscale:视频的缩放等处理

lib文件夹
包含静态和动态库,与include一样

share文件夹
文档相关内容,使用手册等

6.执行ffmpeg报错,找不到改文件。

需要添加添加环境变量在~/.bashrc文件中,添加 export PATH="/usr/local/ffmpeg/bin/:$PATH",保存后退出,执行source ~/.bashrc

7.执行ffmpeg报错

ffmpeg: error while loading shared libraries: libavdevice.so.59: 
cannot open shared object file: No such file or directory:

需要配置环境变量,在配置文件/etc/ld.so.conf中,增加/usr/local/ffmpeg/lib,保存后退出,执行sudo ldconfig

0人推荐
随时随地看视频
慕课网APP