linux下ffmpeg安装

  • linux下ffmpeg安装已关闭评论
  • 104 views
  • A+
所属分类:linux命令

yum安装:

centos7下:

#rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
#rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
#yum install ffmpeg ffmpeg-devel -y

编译安装:

获取依赖项。这些是编译所必需的,但是如果您愿意,可以在完成后删除它们,如下:

#yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c ++ git libtool make mercurial pkgconfig zlib-devel

在您的主目录中创建一个新目录,将所有源代码放入:

#mkdir~ / ffmpeg_sources

提示:如果您不需要某些编码器,则可以跳过相关部分,然后在FFmpeg中删除相应的./configure选项。例如,如果不需要libvpx,则跳过该部分,然后从Install FFmpeg部分删除--enable-libvpx

NASM

某些库使用的汇编程序。强烈推荐或您的结果可能非常慢。

#cd ~/ffmpeg_sources
#curl -O -L 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
#./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
#make
#make install

Yasm

某些库使用的汇编程序。强烈推荐或您的结果可能非常慢。

#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

libx264

H.264视频编码器。有关更多信息和用法示例,请参阅H.264编码指南

需要使用--enable-gpl --enable-libx264配置ffmpeg

#cd ~/ffmpeg_sources
#git clone --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

警告:如果你找到没有汇编程序。运行./configure后,最低版本为nasm-2.13或类似版本,然后安装repo中过时的nasm软件包。运行yum remove nasm && hash -d nasm然后x264将使用新编译的nasm。确保环境能够解析nasm二进制文件的路径。

libx265

H.265 / HEVC视频编码器。有关更多信息和用法示例,请参阅H.265编码指南

需要使用--enable-gpl --enable-libx265配置ffmpeg

#cd ~/ffmpeg_sources
#hg clone https://bitbucket.org/multicoreware/x265
#cd ~/ffmpeg_sources/x265/build/linux
#cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
#make
#make install

libfdk_aac

AAC音频编码器。有关更多信息和用法示例,请参阅“ AAC音频编码指南”

需要使用--enable-libfdk_aac配置ffmpeg(如果还包含--enable-gpl,则为--enable-nonfree)。

#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

libmp3lame

MP3音频编码器。

需要使用--enable-libmp3lame配置ffmpeg

#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

libopus

Opus音频解码器和编码器。

需要使用--enable-libopus配置ffmpeg

#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

libvpx

VP8 / VP9视频编码器和解码器。有关更多信息和用法示例,请参阅“ VP9视频编码指南”

需要使用--enable-libvpx配置ffmpeg

#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

FFmpeg

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 ffmpeg

编译现已完成,现在可以使用ffmpeg(也是ffprobelamex264)。本指南的其余部分介绍了如何更新或删除FFmpeg。

提示:如果要更新,请保留ffmpeg_sources目录和所有内容,如下所示。否则,您可以删除此目录。


升级

FFmpeg的开发是活跃的,偶尔的更新可以为您提供新功能和错误修复。首先,删除旧文件,然后更新依赖项:

#rm -rf ~/ffmpeg_build ~/bin/{ffmpeg,ffprobe,lame,x264,x265}
#yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel

升级 x264

#cd ~/ffmpeg_sources/x264
#make distclean
#git pull

然后运行的./configure,并且使安装如图所示的安装X264部分。

升级 x265

#cd ~/ffmpeg_sources/x265
#rm -rf ~/ffmpeg_sources/x265/build/linux/*
#hg update
#cd ~/ffmpeg_sources/x265/build/linux

然后运行cmakemakemake install,如Install x265部分所示。

升级 libfdk_aac

#cd ~/ffmpeg_sources/fdk_aac
#make distclean
#git pull

然后运行的./configure,并且使安装如图所示的安装libfdk_aac部分。

升级 libvpx

#cd ~/ffmpeg_sources/libvpx
#make distclean
#git pull

然后运行的./configure,并且使安装如图所示的安装libvpx部分。

升级 FFmpeg

rm -rf ~/ffmpeg_sources/ffmpeg

然后重新运行Install FFmpeg部分。

 

  • 安卓客户端下载
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar