ubuntu ffmpeg开发环境搭建

ubuntu ffmpeg开发环境搭建,第1张

ubuntu ffmpeg开发环境搭建 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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5694087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存