创建目录 在home目录下创建 ffmpeg_sources:用于下载源文件 ffmpeg_build:存储编译后的库文件 bin:存储二进制文件(ffmpeg,ffplay,ffprobe,x264,x265等) cd ~mkdir ffmpeg_sources ffmpeg_build bin 安装依赖 更新
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 编译与安装 如果要在多核系统中加快编译速度,可以在每个make命令(例如make -j4)中使用-j选项。建议都使用源码进行安装。 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 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 lib264 h.264视频编码器。更多信息和使用范例参考h.264 encoding guide. 要求编译ffmpeg时配置:--enable-gpl --enable-libx264. 使用源码进行编译 cd ~/ffmpeg_sources && git -c x264 pull 2> /dev/null || git clone --depth 1 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 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 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_build ffmpeg_sources bin目录的大体情况。 ffmpeg_build:
ffmpeg_sources:
bin:
阻抗匹配电路的作用,阻抗匹配的理想模型
FY21联想福建战区消费&来酷合伙人大会落幕
三安与朗明纳斯达成美洲独家销售协议,加速宽禁带半导体市场拓展
华为P10拆解评测:内部采用三段式设计
什么是溶解氧?怎么测量水中的溶解氧?
ubuntu20.04 ffmpeg开发环境搭建
英飞凌推出采用整合防护技术、用于电子护照的新安全芯片
CMG2000 集成的CMMB信号源测试系统
什么是EGPRS
使用架构可以怎样来解决人工智能问题
模拟电子技术中相关基础知识的简介
串并联阻抗的等效互换
分享现代分布式电源架构的关键技术挑战及应对措施的方案设计
realme Buds Air亮相,搭载R1处理器和支持无线充电
R课堂 | QuiCur™:可更大程度地提高电源IC响应性能的创新型电源技术
华为mate10什么时候上市?华为mate10最新消息:华为Mate10要首发麒麟970,性能可秒杀骁龙835?
Microchip 32位PIC32MZ EF单片机系列喜添新成员 部分器件可支持扩展级温度范围
传感器之加速度计在惯性导航中的应用
“苹果告梨”Logo侵权案进入和解谈判:25万人支持梨形商标公司
Ampere架构GPU带来了什么