ubuntu下编译ffmpeg

Ubuntu下编译ffmpeg
官网指导:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

下载源代码
git clone https://git.ffmpeg.org/gitweb/ffmpeg.git
1
切换分支
查看远程分支,切换release版本最新的分支到本地,为了稳定,编译少bug,选择release版本的

git branch -a
git checkout -b remotes/origin/release/4.1
1
2
在当前目录创建个bin文件夹,最为编译安装文件夹

mkdir bin
1
安装环境
sudo apt-get update -qq && sudo apt-get -y install
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sudo apt-get install nasm
sudo apt-get install yasm
1
2
安装libx264
H.264 video encoder
启用需要 configured 配置 --enable-gpl --enable-libx264

sudo apt-get install libx264-dev -y
1
安装libx265
H.265/HEVC video encoder.

sudo apt-get install libx265-dev libnuma-dev -y
1
安装libvpx
VP8/VP9 video encoder/decoder
启用需要 configured 配置 --enable-libvpx

sudo apt-get install libvpx-dev -y
1
libfdk-aac
AAC audio encoder.
Requires ffmpeg to be configured with --enable-libfdk-aac (and --enable-nonfree if you also included --enable-gpl)

sudo apt-get install libfdk-aac-dev -y
1
libmp3lame
MP3 audio encoder.
Requires ffmpeg to be configured with --enable-libmp3lame.

sudo apt-get install libmp3lame-dev -y
1
libopus
Opus audio decoder and encoder.
Requires ffmpeg to be configured with --enable-libopus.

sudo apt-get install libopus-dev -y
1
libaom
AV1 video encoder/decoder:
手动安装在ffmpeg_build文件夹下,也可以收到下载release版本编译安装

git -C aom pull 2> /dev/null || git clone --depth 1 https://aomedia.googlesource.com/aom &&
mkdir aom_build &&
cd aom_build &&
PATH="PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="HOME/bin:$PATH" make &&
make install
1
2
3
4
5
6
配置configure
生成静态库,动态库, 安装到相对目录./bin文件下

./configure --prefix=./bin--enable-static --enable-shared
1
PATH="PATH" PKG_CONFIG_PATH="HOME/ffmpeg_build"
--pkg-config-flags="--static"
--extra-cflags="-IHOME/ffmpeg_build/lib"
--extra-libs="-lpthread -lm"
--bindir="HOME/binHOME/bin:$PATH" make -j 8 &&
make install &&
hash -r

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
编译并安装

-j 8 多个编译一起执行,加快变异速度。多线程?多核处理?

make -j 8

安装

make install
1
2
3
4
在bin文件夹中lib有生成的静态库和动态库

root@ubuntu:/home/hx/Downloads/ffmpeg/bin/lib# ls
libavcodec.a libavfilter.so.7 libswresample.a
libavcodec.so libavfilter.so.7.40.101 libswresample.so
libavcodec.so.58 libavformat.a libswresample.so.3
libavcodec.so.58.35.100 libavformat.so libswresample.so.3.3.100
libavdevice.a libavformat.so.58 libswscale.a
libavdevice.so libavformat.so.58.20.100 libswscale.so
libavdevice.so.58 libavutil.a libswscale.so.5
libavdevice.so.58.5.100 libavutil.so libswscale.so.5.3.100
libavfilter.a libavutil.so.56 pkgconfig
libavfilter.so libavutil.so.56.22.100

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

    如果服务器已经安装了一个 Ffmpeg 的话,比如已安装在 /usr/local/ffmpeg 目录。版本升级步骤如下:
    1.下载 ffmpeg-*.tar.gz
    到 Ffmpeg 官网 https://ffmpeg.org/download.html 挑选你要升级到的版本,然后下载,比如作者下载的是 ffmpeg-2.0.tar.gz。
    2.编译安装
    tar -zxvf ffmpeg-2.0.tar.gz
    cd ffmpeg-2.0
    ./configure --enable-shared --prefix=/usr/local/ffmpeg
    make
    make install
    3.动态链接库
    vi /etc/ld.so.conf
    加入:/usr/local/ffmpeg/lib
    执行
    ldconfig
    4.为 Ffmpeg 加入环境变量
    vi /etc/profile
    加入以下内容:
          vi /etc/profile
          在文件末尾加上两句话:
          export FFMPEG_HOME=/usr/local/ffmpeg 
          export PATH=$FFMPEG_HOME/bin:$PATH
    5.使修改立即生效
    source /etc/profile
    执行 
    ffmpeg -version
    打印结果

你可能感兴趣的:(ubuntu下编译ffmpeg)