ubuntu20 下编译ffmpeg_编程_山海自留地

山海自留地

ubuntu20 下编译ffmpeg

编程
2025-06-09 11:48:50

Ubuntu 20.04 编译安装FFmpeg及错误分析与解决方案

FFmpeg 是一个强大的多媒体处理工具,可以处理音频、视频等多种格式。本文将详细介绍在 Ubuntu 20.04 上编译和安装 FFmpeg 的步骤,并分析常见错误及其解决方案。

1. 准备工作

在编译安装 FFmpeg 之前,需要安装一些必要的依赖包:

sudo apt updatesudo apt install -y autoconf automake build-essential cmake git-core libass-dev libfreetype6-dev \
libgnutls28-dev libmp3lame-dev libtool libvorbis-dev pkg-config texinfo wget yasm zlib1g-dev \
libunistring-dev

2. 下载 FFmpeg 源代码

从 FFmpeg 官方仓库下载最新的源代码:

cd ~
git clone https://git.ffmpeg.org/ffmpeg.git ffmpegcd ffmpeg

3. 配置编译选项

配置 FFmpeg 编译选项:

./configure --prefix=/usr/local --enable-gpl --enable-libass --enable-libfreetype --enable-libmp3lame \--enable-libvorbis --enable-libx264 --enable-libx265 --enable-nonfree

4. 编译和安装

编译并安装 FFmpeg:

makesudo make install

5. 验证安装

验证 FFmpeg 是否安装成功:

ffmpeg -version

常见错误及解决方案

错误1:缺少依赖包

错误信息:

ERROR: libx264 not found

解决方案:

安装 libx264 相关依赖:

sudo apt install -y libx264-dev

重新运行 ./configure 进行配置。

错误2:编译失败

错误信息:

make: *** [all] Error 2

解决方案:

通常,这是由于某些编译选项或依赖包缺失导致的。可以尝试以下步骤:

确保所有依赖包已正确安装。

检查 config.log 文件,查看具体的错误信息并解决相应的依赖问题。

确保 yasm 或 nasm 已安装:

sudo apt install -y yasm nasm

清理之前的编译输出,并重新配置和编译:

make clean
./configure --prefix=/usr/local --enable-gpl --enable-libass --enable-libfreetype --enable-libmp3lame 
--enable-libvorbis --enable-libx264 --enable-libx265 --enable-nonfreemakesudo make install

错误3:链接错误

错误信息:

/usr/bin/ld: cannot find -lx265

解决方案:

这是由于 libx265 库缺失导致的。安装 libx265-dev 包:

sudo apt install -y libx265-dev

重新运行 ./configure 进行配置。



======================================


一.编译x264(在编译前确保安装了pkg-config,默认在/usr/share下)

  1.下载x264源代码:(我下载到了~/Downloads下,各位随意就好)

    git clone https://code.videolan.org/videolan/x264.git

  2.下载好后,将x264文件夹移动到/usr/local/下:

    sudo mv x264 /usr/local

  3.x264源码的配置和编译

    cd /usr/local/x264

    sudo ./configure --enable-static --prefix=/usr/local/x264

    make -j16(具体看自己电脑几个线程)

    sudo make install

    注:prefix用来指定bin,include,lib文件夹的生成位置;如果不指定,默认安装在/usr/local下

  4.重点来了!!!【ERROR: x264 not found using pkg-config】

    如果使用prefix指定了以上路径,一定要进行以下操作,否则编译ffmpeg时会出上述问题

    在/usr/local/x264/lib/pkgconfig/下有一个x264.pc文件,将它移动到/usr/share/pkgconfig下【pkg-config会搜索这个路径下的.pc文件】

     sudo mv /usr/local/x264/lib/pkgconfig/x264.pc /usr/share/pkgconfig

    最后,将x264放到系统环境变量中去:

    sudo gedit /etc/profile

    在末尾加上:export PATH=$PATH:/usr/local/x264/bin

    然后执行:source /etc/profile

二.编译ffmpeg-6.0

  1.官网下载源码(http://ffmpeg.org/),我下载到了~/Downloads下

  2.解压并移动

    sudo tar xvJf ffmpeg-6.0.tar.xz

    sudo mv ffmpeg-6.0 /usr/local

  3.ffmpeg-6.0的配置和编译

    sudo ./configure --enable-static --enable-gpl --enable-libx264 --prefix=/usr/local/ffmpeg-6.0

    --pkgconfigdir=/usr/share/pkgconfig

    make -j16

    sudo make install

  4.系统环境变量设置

    sudo gedit /etc/profile

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

    source /etc/profile