ffmpeg在centos系统下的源文件下载脚本及编译脚本

下载脚本:

bash 复制代码
#只做下载的动作,之后可以移动到其它环境下编译
#from https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
#yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel
mkdir ~/ffmpeg_sources
cd ~/ffmpeg_sources
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_git
git clone --depth 1 https://github.com/mstorsjo/fdk-aac
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git

对于没有条件下载的同学,可使用本人下载好的文件(长期有效,包中有下载脚本和编译脚本及编译说明):

链接: https://pan.baidu.com/s/1seJxmmk21xiUl1AaLFJ0EA 提取码: hn6u

注意事项,重要事件说三遍:

注意下载的包解压之后路径一定要是:~/ffmpeg_sources

注意下载的包解压之后路径一定要是:~/ffmpeg_sources

注意下载的包解压之后路径一定要是:~/ffmpeg_sources

路径原因说明,见CompilationGuide/Centos -- FFmpeg

  • ffmpeg_sources -- Where the source files will be downloaded. This can be deleted if desired when finished with the guide.
  • ffmpeg_build -- Where the files will be built and libraries installed. This can be deleted if desired when finished with the guide.
  • bin -- Where the resulting binaries (ffmpeg, ffprobe, x264, x265) will be installed.

编译脚本:

bash 复制代码
# 只做编译的动作
#from https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel
#mkdir ~/ffmpeg_sources

cd ~/ffmpeg_sources
#curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
tar xjvf nasm-2.15.05.tar.bz2
cd nasm-2.15.05
./autogen.sh
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install


cd ~/ffmpeg_sources
#curl -O -L 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



cd ~/ffmpeg_sources
#git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install


cd ~/ffmpeg_sources
#git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_git
cd ~/ffmpeg_sources/x265_git/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install



cd ~/ffmpeg_sources
#git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install



cd ~/ffmpeg_sources
#curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install




cd ~/ffmpeg_sources
#curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
tar xzvf opus-1.3.1.tar.gz
cd opus-1.3.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install



cd ~/ffmpeg_sources
#git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install


cd ~/ffmpeg_sources
#curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./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 \
  --extra-libs=-lm \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libfdk_aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree
make
make install
hash -d ~/bin/ffmpeg

参考:

CompilationGuide/Centos -- FFmpeg

相关推荐
YOYO--小天14 分钟前
RS485和RS232 通信配置
linux·嵌入式硬件
Lw老王要学习40 分钟前
Linux数据库篇、第一章_02_MySQL的使用增删改查
linux·运维·数据库·mysql·云计算·it
xiaoyaoyou.xyz1 小时前
嵌入式Linux Qt开发:1、搭建基于ubuntu18.04的Qt开发环境及测试(解决Qt creator输入法问题)
linux·qt
Toky Zhu1 小时前
ubuntu清除缓存
linux·ubuntu·缓存
影龙帝皖2 小时前
Linux服务之lvs集群与dr模式部署
linux·服务器·lvs
2302_799525742 小时前
【Linux】第十六章 分析和存储日志
linux·运维·服务器
愚润求学2 小时前
【Linux】Ext系列文件系统
linux·运维·服务器·笔记
小阳睡不醒2 小时前
vim 练习题
linux·编辑器·vim
胖大和尚3 小时前
完整的 CentOS 6.10 虚拟机安装启动脚本
linux·运维·centos
熙曦Sakura4 小时前
【Linux网络】TCP全连接队列
linux·网络·tcp/ip