我是靠谱客的博主 高兴山水,这篇文章主要介绍ubuntu ffmpeg开发环境搭建,现在分享给大家,希望可以做个参考。

1 : 创建目录
        在home 目录下创建以下目录:
        ffmpeg_sources:用于下载源文件
        ffmpeg_build: 存储编译后的库文件
        bin:存储二进制文件( ffmpeg ffplay ffprobe X264 X265 等)
复制代码
1
2
cd ~ mkdir ffmpeg_sources ffmpeg_build bin
2 安装依赖
复制代码
1
2
3
4
//更新库 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
        部分库使用到汇编程序。
使用源码进行安装
复制代码
1
2
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
        部分库使用到该汇编库
        使用源码进行安装:
复制代码
1
2
3
4
5
6
7
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.
        使用源码进行编译:
复制代码
1
2
3
4
5
6
7
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.
        使用源码进行编译:
复制代码
1
2
3
4
5
6
7
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.
        使用源码进行编译:
复制代码
1
2
3
4
5
6
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).
        使用源码进行编译:
复制代码
1
2
3
4
5
6
7
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.
        使用源码进行编译:
复制代码
1
2
3
4
5
6
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.
        使用源码进行编译:
复制代码
1
2
3
4
5
6
7
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
复制代码
1
2
3
4
5
6
7
8
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 的位置:
复制代码
1
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导入环境变量,解决方法:
复制代码
1
2
3
4
5
6
//打开 sudo vi /etc/ld.so.conf //添加 /home/tanziliang/ffmpeg_build/lib(ffmpeg中lib的位置,参考文章是将库放在ffmpeg_build下) //最后启动配置 sudo ldconfig

最后

以上就是高兴山水最近收集整理的关于ubuntu ffmpeg开发环境搭建的全部内容,更多相关ubuntu内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(93)

评论列表共有 0 条评论

立即
投稿
返回
顶部