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

相关推荐
卓琢7 分钟前
(九)Shell 脚本(四):正则表达式、sed 和 awk 详解
linux·mysql·正则表达式
cuijiecheng201825 分钟前
音视频入门基础:FLV专题(12)——FFmpeg源码中,解析DOUBLE类型的ScriptDataValue的实现
ffmpeg·音视频
一切皆是定数1 小时前
Linux驱动开发——LED驱动开发
linux·驱动开发·b树
小小不董1 小时前
图文深入理解Oracle DB Scheduler
linux·运维·服务器·数据库·oracle
不烦下雨c2 小时前
[网络]抓包工具介绍 tcpdump
linux·tcpdump
南瓜小米粥、2 小时前
通过fdisk初始化Linux数据盘
linux·运维·服务器
秋风起,再归来~2 小时前
【Linux庖丁解牛】—Linux基本指令(中)!
linux·指令
Eternal-Student2 小时前
预处理、编译、汇编、链接
linux·汇编·windows
sp_wxf3 小时前
Stream流
linux·服务器·windows
LYK_HAHA4 小时前
centos常用知识和命令
linux·运维·centos