请进!!ffmpeg4.4编译(全网最全,包含x264,x265,aac编译)

首先下载 ffmpeg 源码,地址为:https://www.ffmpeg.org/download.html

点击这个 more release
我下载的是 FFmpeg 4.4 "Rao"

  1. 把下载下来的 ffmpeg-4.4.tar.bz2 源码包放到ubuntu上。
  2. tar -xvf ffmpeg-4.4.tar.bz2
  3. 开始安装各种依赖的库

安装libasound2-dev和libpulse-dev

这两个库是SDL所依赖的,播放音频要用到

 sudo apt-get install libasound2-dev
 sudo apt-get install libpulse-dev

安装yasm

sudo apt-get install yasm

安装nasm

sudo apt-get install nasm

安装x264库

  1. ./configure --enable-shared //动态库
  2. make
  3. sudo make install
  4. 此时 libx264.so 默认安装在 /usr/local/lib

安装x265库

sudo apt-get install libx265-dev

安装speex-1.2.0

https://download.csdn.net/download/sanshipianyezi/9987566?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162711402216780357259266%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fdownload.%2522%257D&request_id=162711402216780357259266&biz_id=1&utm_medium=distribute.pc_search_result.none-task-download-2~download~first_rank_v2~rank_dl_default-7-9987566.pc_v2_rank_dl_default&utm_term=speex&spm=1018.2226.3001.4451
  1. ./configure CC=gcc
  2. make
  3. sudo make install

安装SDL2-2.0.14

注意了,编译不出ffplay,是因为没有安装 SDL2 库,所以这个库必须要装上。

官网下载地址:https://www.libsdl.org/download-2.0.php
  1. ./configure
  2. make
  3. sudo make install

安装fdk-aac-0.1.6

源码包下载地址:https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.6.tar.gz

  1. ./configure
  2. make
  3. sudo make install

编译ffmpeg、ffprobe、ffplay

  1. 进入ffmpeg目录下
  2. ./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-shared --enable-pthreads --enable-indev=alsa --enable-outdev=alsa
  3. make
  4. 此时本目录下会编译出ffmpeg,ffprobe,ffplay
  5. sudo make install

**
有的同学编译ffmpeg时,在ffmpeg目录执行./configure … 之后,没有修改config.h文件,这样也编译不出ffplay来。解决办法是进入到 ffmpeg 目录下,打开 config.h文件找 FFPLAY 关键字,将其后面的 0 修改为 1,保存并退出该文件。在当前目录下执行 make && sudo make install。注意,修改 config.h文件后,不要再执行./configure …了,否则config.h中的值又都恢复为原来的值了。**

修改/etc/etc/ld.so.conf

目的是使用ffmpeg库的时候,能让编译器找到我们的库,因为编译器默认找/usr/lib,而不是/usr/local/lib

  1. sudo vim /etc//etc/ld.so.conf
  2. 在文件中添加 /usr/local/lib
  3. 在文件中添加 /usr/local/ffmpeg/lib
  4. 在 /etc目录下 sudo ldconfig

添加环境变量

目的是为了能使用ffplay ,ffprobe, ffmpeg,而不用每次都到ffmpeg目录下面./运行

  1. sudo vim /etc/profile
  2. 在文件末尾增加:PATH=$PATH:/usr/local/ffmpeg/bin
  3. source profile

如果遇到ffplay不能播放的问题

ffplay 不能播放 Could not initialize SDL - No available video device (Did you set the DISPLAY variable?)

  sudo apt-get install libx11-dev
  sudo apt-get install xorg-dev
  重新进入SDL2-2.0.14目录
  make clean
  ./configure
  make -j4
  sudo make install

成功播放test.h264

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白菜wu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值