CentOS7.1 安装 ffmepg

  • 内容
  • 评论
  • 相关
     最开始安装了一次成功了,但是 ffmpeg库生成的是 静态库(完全按照网址中的教程去做),导致 编译的时候 需要把程序所依赖的所有库文件 全部写在 Makefile中,导致 程序编译出来居然 90多M。
    然后我又试了一次,将下面所有 编译全部去掉 static静态编译选项,然后加上 --enable-shared选项(或者只在 最后ffmpeg编译的时候 加上 --enable-shared也可以),让 其编译出来的 文件是共享的。这样 程序编译出来 大小只有 2M。(到时候移植 共享库就可以了)
   我感觉,其实 将 前面的库编译为 静态的也可以,只把 ffmpeg编译为动态的就行,因为 ffmpeg中 .a文件已经包含了其他的文件,加上 --enable-shared只是多了 *.so文件而已,只是减小了程序的大小。
    下面有好多 url地址是无效的,获取不到数据,可以 直接打开 url地址下载文件下载进行安装,ffmpeg在Linux上面 git太慢了,我直接去 github上下载的安装包,然后在 Linux上安装的。

真正安装 ffmpeg(可以参考上面的网址)

    1.安装 编译环境
    yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
    创建 生成文件目录:

mkdir ~/ffmpeg_sources

    2.安装 Yasm
cd ~/ffmpeg_sources
git clone --depth 1 git://github.com/yasm/yasm.git
cd yasm
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
make distclean
    3.安装 libx264
cd ~/ffmpeg_sources
git clone --depth 1 git://git.videolan.org/x264
cd x264
export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" 
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
make distclean
    4.安装 libx265
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
    5.安装 libfdk_aac
cd ~/ffmpeg_sources
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
    6.安装 libmp3lame
cd ~/ffmpeg_sources
curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
make distclean
    7.安装 libopus
cd ~/ffmpeg_sources
git clone http://git.opus-codec.org/opus.git
cd opus
autoreconf -fiv
export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
    8.安装 libogg
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
tar xzvf libogg-1.3.2.tar.gz
cd libogg-1.3.2
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
    9.安装 libvorbis
cd ~/ffmpeg_sources
curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
tar xzvf libvorbis-1.3.4.tar.gz
cd libvorbis-1.3.4
LDFLAGS="-L$HOME/ffmeg_build/lib" 
CPPFLAGS="-I$HOME/ffmpeg_build/include" 
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
    10.安装 libvpx
cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
make clean

11.安装 ffmpeg,这里 可以去掉 --pkg-config-flags="--static" 更改为 --enable-shared,这样可以生成共享库,使 使用ffmpeg的程序编译出来的大小很小。如果 ./configure有错误,可以去掉 --enable-*指定的包

cd ~/ffmpeg_sources
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" 
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
make
make install
make distclean
hash -r


评论

0条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注