Ubuntu 20.04上编译安装FFmpeg开发环境

一、编译环境

1、系统:WSL2 Ubuntu20.04
2、FFmpeg版本:4.3.1

二、安装必要依赖

sudo apt-get update
sudo apt-get install -y \
  autoconf \
  automake \
  build-essential \
  cmake \
  git-core \
  libass-dev \
  libfreetype6-dev \
  libsdl2-dev \
  libtool \
  libva-dev \
  libvdpau-dev \
  libvorbis-dev \
  libxcb1-dev \
  libxcb-shm0-dev \
  libxcb-xfixes0-dev \
  pkg-config \
  texinfo \
  wget \
  zlib1g-dev

三、安装相关库

NASM — 部分库使用到汇编程序,需要安装

sudo apt-get install -y nasm

YASM — 部分库使用到该汇编库

sudo apt-get install -y yasm

libx264 — H.264视频编码器,一般需要

sudo apt-get install -y libx264-dev

libx265 — H.265/HEVC视频编码器,不一定需要,按需安装

sudo apt-get install -y libx265-dev libnuma-dev

libvpx — VP8/VP9视频编解码器,不一定需要,按需安装

sudo apt-get install -y libvpx-dev

libfdk-aac — AAC音频编码器,不一定需要,按需安装

sudo apt-get install -y libfdk-aac-dev

libmp3lame — MP3音频编码器,不一定需要,按需安装

sudo apt-get install -y libmp3lame-dev

libopus — opus音频编解码器,不一定需要,按需安装

sudo apt-get install -y libopus-dev

四、下载FFmpeg

wget https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.bz2
tar xvf ffmpeg-4.3.1.tar.bz2
cd ffmpeg-4.3.1

五、按需配置ffmpeg的编译项

ffmpeg可以按照自己的需求配置各种编译项,也就是你可以根据自己的需求对ffmpeg的功能进行一些裁剪,比如支持哪些格式的编解码等。 下面是我的一个简单配置,可供参考:

./configure --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree

六、编译

编译:

make -j8

安装:

make install

七、安装完成

可以简单运行一下ffmpeg程序,如下命令,看看是否编译好的程序能运行:

ffmpeg -version

运行结果大致如下,可以看到一些信息:

ffmpeg -version
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
configuration: --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil      56. 51.100 / 56. 51.100
libavcodec     58. 91.100 / 58. 91.100
libavformat    58. 45.100 / 58. 45.100
libavdevice    58. 10.100 / 58. 10.100
libavfilter     7. 85.100 /  7. 85.100
libswscale      5.  7.100 /  5.  7.100
libswresample   3.  7.100 /  3.  7.100
libpostproc    55.  7.100 / 55.  7.100

至此,Ubuntu上搭建FFmpeg开发环境就基本完成了,可以在这个环境上开发一些ffmpeg相关代码程序,然后运行。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注