ffmpeg编译环境搭建(ubuntu)

9 篇文章 0 订阅
4 篇文章 0 订阅

1.下载ffmpeg所需要源码包

       ffmpeg源码:http://www.ffmpeg.org/download.html

       SDL2-2.0.9源码:http://www.libsdl.org/download-2.0.php

       fdk-aac源码:http://www.linuxfromscratch.org/blfs/view/svn/multimedia/fdk-aac.html

       x264源码:http://mirror.yandex.ru/mirrors/ftp.videolan.org/x264/snapshots/last_x264.tar.bz

       x265源码:https://bitbucket.org/multicoreware/x265/downloads/

       speex源码:https://www.speex.org/downloads/

       yasm源码:git://github.com/yasm/yasm.git

       nasm源码:https://www.nasm.us/pub/nasm/releasebuilds/2.14/

2.安装x11程序

       由于我的机器依赖关系紊乱,采用手动安装,手动安装就需要解决依赖关系#@#$

      在Ubuntu命令行使用sudo dpkg -i XXXX.deb安装x11对应的安装包,通过在https://packages.ubuntu.com/xenial/网站寻找依赖,然后依次安装,我的系统只需要解决部分的依赖就可以了^_^,我需要的依赖,当然依赖太多就不适合手动安装了。

      sudo apt-get install x11* libxfixes-dev libxext-dev

      https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

      libpthread-stubs0-dev_0.3-4_amd64.deb
      libx11-dev_1.6.3-1ubuntu2.1_amd64.deb
      libxau-dev_1.0.8-1_amd64.deb
      libxcb1-dev_1.11.1-1ubuntu1_amd64.deb
      libxdmcp-dev_1.1.2-1.1_amd64.deb
      libxext-dev_1.3.3-1_amd64.deb
      libxfixes-dev_5.0.1-2_amd64.deb
      x11proto-core-dev_7.0.31-1_ubuntu16.04.2_all.deb
      x11proto-fixes-dev_5.0-2ubuntu2_all.deb
      x11proto-input-dev_2.3.1-1_all.deb
      x11proto-kb-dev_1.0.7-0ubuntu1_all.deb
      x11proto-xext-dev_7.3.0-1_all.deb
      xorg-sgml-doctools_1.11-1_all.deb
      xtrans-dev_1.3.5-1_all.deb

 

3.编译SDL2-2.0.9源码

在编译的过程中,可能会出现:

     xiao@xiao-virtual-machine:~/work/study_ffmpeg/SDL2-2.0.9$ make -j4
     /bin/bash build-scripts/updaterev.sh
          CC     build/SDL_blit_A.lo
          CC     build/SDL_blit_1.lo
          CC     build/SDL_RLEaccel.lo
          CC     build/SDL_blit_N.lo
    ^CMakefile:498: recipe for target 'build/SDL_blit_1.lo' failed
    make: *** [build/SDL_blit_1.lo] Error 1
    Makefile:489: recipe for target 'build/SDL_RLEaccel.lo' failed
    make: *** [build/SDL_RLEaccel.lo] Error 1
    Makefile:501: recipe for target 'build/SDL_blit_A.lo' failed
    make: *** [build/SDL_blit_A.lo] Error 1
    Makefile:504: recipe for target 'build/SDL_blit_N.lo' failed
    make: *** [build/SDL_blit_N.lo] Error 1

吓得赶紧ctrl+c掉,在网上查看内存不足,需要增加交换分区https://www.jianshu.com/p/d7682a1a5eb9这个方法太抽象,直接删除我ubuntu的里面的文件,一删删了好几个G(垃圾这么多)。

继续编译。。。

出现一些警告:

    ar: `u' modifier ignored since `D' is the default (see `U')

这个链接中有解释http://patches.dpdk.org/patch/5204/

只是一个警告,继续安装。。。

sudo make install

4.安装x265源码

解压源码,cd x265_3.0/build/linux,并执行make-Makefiles.bash,如果执行失败,需要安装cmake、ccmake(cmake-curses-gui)再试

执行成功会在当前目录下生成一个Makefile,执行make -j4 && make install进行快速安装。

除了ffmpeg之外,其他安装包都是执行make -j4 && make install命令安装。

5.安装ffmpeg源码

a.解压并进入对应目录,执行如下命令:

sudo ./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-version3 --enable-hardcoded-tables --cc=gcc --host-cflags= --host-ldflags=

可能会出现下面的问题:

ERROR: speex not found using pkg-config

需要安装speex库或者你的speex库没有加载到系统环境中,具体方法如下:

1.下载speex源码,解压,make -j4 && make install

2.找到speex库所在位置,将此目录加载到环境变量PKG_CONFIG_PATH中,或者直接增加到ld.so.conf.d/中,使用ldconfig一下

之后make -j4 && make install

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值