编译

linux 编译 ffmpeg

  1. 下载源码 下载ffmpeg源码 或者通过git clone源码:

    git clone [email protected]:FFmpeg/FFmpeg.git
  2. 进入源码根目录,执行./configure 出现如下错误:

    nasm/yasm not found

    需要下载yasm汇编器

  3. 下载yasm汇编器

    wget https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

    解压安装 :

    tar -zxvf yasm-1.3.0.tar.gz

    进入解压后目录

    cd yasm-1.3.0
    
    ./configure
    # 接着 
    make 
    sudo make install

    接着返回 ffmpeg目录,执行命令

    small@small:~/FFmpeg$
    ./configure --prefix="/usr/local/ffmpeg/" --enable-libx264 --enable-gpl --enable-nonfree --enable-libfdk-aac

    出现如下显示就代表成功了:

    small@small:~/FFmpeg$ ./configure
    install prefix            /usr/local
    source path               .
    C compiler                gcc
    C library                 glibc
    ARCH                      x86 (generic)
    big-endian                no
    runtime cpu detection     yes
    standalone assembly       yes
    x86 assembler             yasm
    MMX enabled               yes
    MMXEXT enabled            yes
    3DNow! enabled            yes
    3DNow! extended enabled   yes
    SSE enabled               yes
    SSSE3 enabled             yes
    AESNI enabled             yes
    AVX enabled               yes
    AVX2 enabled              yes
    AVX-512 enabled           yes
    XOP enabled               yes
    ...

启用第三方模块支持:libfdk_aac和libx264,需要单独下载编译

出现如下错误

1. ERROR: libfdk_aac not found

下载libfdk_aac库: https://sourceforge.net/projects/opencore-amr/files/fdk-aac/

2. ERROR: libx264 not found

下载libx264 :https://www.videolan.org/developers/x264.html

代码库:git clone https://code.videolan.org/videolan/x264.git 下载完继续:

3. 还没完,又出现新的错误了:

下载nasm目前最新版 :https://www.nasm.us/pub/nasm/releasebuilds/2.15/ 继续编译安装:

4. 回到上一步,继续编译x264:

5. 最终回到ffmpeg继续编译:

6. make: Nothing to be done for 'all'.

有时候需要重新编译,会遇到这个错误,需要 clean

7. 最后还有个问题就是找不到.so 库的问题

这个问题一看就是没找到动态库,libx264默认安装路径是 /usr/local/lib 目录,解决这个问题的方法就是建个软连接或者直接把库移动到 /usr/lib 目录:

大功告成,没有报错;

8. 接下来试试看是否正常:

9. 看一下转换结果,没有问题~

收工

最后更新于

这有帮助吗?