cd ~ mkdir ffmpeg_sources ffmpeg_build bin2 安装依赖
//更新库 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-dev3 编译与安装 本指南假定您要安装一些最常见的第三方库。每个小节为您提供安装该库所需的命令。 如果不需要某些功能,则可以跳过相关小节(如果不需要),然后在 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 installYasm 部分库使用到该汇编库 使用源码进行安装:
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 installlibx264 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 installlibx265 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 installlibvpx 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 installlibfdk-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 installlibmp3lame 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 installlibopus 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 installFFmpeg 注意注意:如果要安装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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)