概述
1 :
创建目录
在home
目录下创建以下目录:
ffmpeg_sources:用于下载源文件
ffmpeg_build: 存储编译后的库文件
bin:存储二进制文件(
ffmpeg
,
ffplay
,
ffprobe
,
X264
,
X265
等)
cd ~
mkdir ffmpeg_sources ffmpeg_build bin
2
安装依赖
//更新库
sudo apt-get update
//安装需要的组件
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
3
编译与安装
本指南假定您要安装一些最常见的第三方库。每个小节为您提供安装该库所需的命令。
如果不需要某些功能,则可以跳过相关小节(如果不需要),然后在
FFmpeg
中删除相应的
./configure 选项。例如,如果不需要libvpx
,请跳过该小节,然后从
“
安装
FFmpeg”
部分中删除
--enable-libvpx
。
提示:如果要在多核系统中加快编译速度,可以在每个
make
命令(例如
make -j4
)中使用
-j
选项。
建议都使用源码进行安装。
NASM
部分库使用到汇编程序。
使用源码进行安装
cd ~/ffmpeg_sources && wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2 && tar xjvf nasm-2.14.02.tar.bz2 && cd nasm-2.14.02 && ./autogen.sh && PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" &&
make && make install
Yasm
部分库使用到该汇编库
使用源码进行安装:
cd ~/ffmpeg_sources
wget -O yasm-1.3.0.tar.gz https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
libx264
H.264视频编码器。更多信息和使用范例参考
H.264 Encoding Guide
要求编译ffmpeg
时配置:
--enable-gpl --enable-libx264.
使用源码进行编译:
cd ~/ffmpeg_sources
git -C x264 pull 2> /dev/null || git clone --depth1 https://gitee.com/mirrors_addons/x264.git
cd x264
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure
--prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --enable-pic
PATH="$HOME/bin:$PATH" make
make install
libx265
H.265/HEVC 视频编码器, 更多信息和使用范例参考
H.265 Encoding Guide
。
要求编译ffmpeg
时配置:
--enable-gpl --enable-libx265.
使用源码进行编译:
sudo apt-get install mercurial libnuma-dev
cd ~/ffmpeg_sources
if cd x265 2> /dev/null; then git pull && cd ..; else git clone https://gitee.com/mirrors_videolan/x265.git; fi
cd x265/build/linux
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off ../../source
PATH="$HOME/bin:$PATH" make
make install
libvpx
VP8/VP9视频编解码器。 更多信息和使用范例参考
VP9 Video Encoding Guide
。
要求编译ffmpeg
时配置:
--enable-libvpx.
使用源码进行编译:
cd ~/ffmpeg_sources
git -C libvpx pull 2> /dev/null || git clone --depth 1 https://github.com/webmproject/libvpx.git
cd libvpx
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-pic
PATH="$HOME/bin:$PATH" make
make install
libfdk-aac
AAC音频编码器
.
更多信息和使用范例参考
AAC Audio Encoding Guide
。
要求编译ffmpeg
时配置:
--enable-libfdk-aac (
如果你已经配置了
--enable-gpl
则需要加上
--enable-nonfree).
使用源码进行编译:
cd ~/ffmpeg_sources
git -C fdk-aac pull 2> /dev/null || git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure CFLAGS=-fPIC --prefix="$HOME/ffmpeg_build"
make
make install
libmp3lame
MP3音频编码器
.
要求编译ffmpeg
时配置:
--enable-libmp3lame.
使用源码进行编译:
cd ~/ffmpeg_sources
git clone --depth 1 https://gitee.com/hqiu/lame.git
cd lame
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-nasm --with-pic
PATH="$HOME/bin:$PATH" make
make install
libopus
Opus
音频编解码器
.
要求编译ffmpeg
时配置:
--enable-libopus.
使用源码进行编译:
cd ~/ffmpeg_sources
git -C opus pull 2> /dev/null || git clone --depth 1 https://github.com/xiph/opus.git
cd opus
./autogen.sh
./configure --prefix="$HOME/ffmpeg_build" -with-pic
make
make install
FFmpeg
注意注意:如果要安装debug
版本,请参考第
6
章节 《
6
支持
FFmpeg
代码
Debug
》配置
ffmpeg
。
cd ~/ffmpeg_sources
wget -O ffmpeg-4.2.1.tar.bz2 https://ffmpeg.org/releases/ffmpeg-4.2.1.tar.bz2
tar xjvf ffmpeg-4.2.1.tar.bz2
cd ffmpeg-4.2.1
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" CFLAGS="-O3 -fPIC" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --extra-libs="-lpthread -lm" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-pic --enable-shared --enable-nonfree
PATH="$HOME/bin:$PATH" make
make install
hash -r
然后重新登录系统或者在当前shell
会话执行如下命令以识别新安装
ffmpeg
的位置:
source ~/.profile
现在已经完成编译和安装ffmpeg (also ffplay, ffprobe, lame, x264, & x265)
。该文档剩余章节主要讲如 何更新和删除ffmepg。
最后使用ffmpeg -verson查看当前支持的库;
如果出现:ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory。
这是没有将库lib导入环境变量,解决方法:
//打开
sudo vi /etc/ld.so.conf
//添加
/home/tanziliang/ffmpeg_build/lib(ffmpeg中lib的位置,参考文章是将库放在ffmpeg_build下)
//最后启动配置
sudo ldconfig
最后
以上就是高兴山水为你收集整理的ubuntu ffmpeg开发环境搭建的全部内容,希望文章能够帮你解决ubuntu ffmpeg开发环境搭建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复