环境

系统环境:CentOS release 6.7 (Final)

需求

编译安装ffmpeg

获取依赖

安装依赖包

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

创建编译源码的目录

mkdir ~/ffmpeg_sources

编译&安装

Note:如果您不需要特定的编码器,可以跳过相关部分,然后删除编译ffmpeg 时相应的./configure选项。例如,如果不需要libvorbis ,可以跳过这一节,然后从安装ffmpeg的部分去掉–enable-libvorbis

Yasm

Ysam是X264和FFmpeg使用的汇编程序。

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

libx264

libx264 视频编码器。更多说明和用法示例可以参考:https://trac.ffmpeg.org/wiki/Encode/H.264
需要ffmpeg编译的时候添加–enable-gpl –enable-libx264

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

libx265

H.265/HEVC 视频编码器。更多说明和用法示例可以参考:https://trac.ffmpeg.org/wiki/Encode/H.265

需要ffmpeg编译的时候添加–enable-gpl –enable-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

libfdk_aac

AAC 音频编码器。
需要ffmpeg编译的时候添加–enable-libfdk-aac (以及 –enable-nonfree 如果你添加了 –enable-gpl的话)

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

libmp3lame

MP3 音频编码器.

需要ffmpeg编译的时候添加 –enable-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

libopus

Opus 音频编解码器.
需要ffmpeg编译的时候添加 –enable-libopus

cd ~/ffmpeg_sources
git clone https://git.xiph.org/opus.git
cd opus
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean

libogg

Ogg 比特流库.。libtheora and libvorbis需要

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

libvorbis

Vorbis 音频编码器. 需要 libogg

需要ffmpeg编译的时候添加 –enable-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

libvpx

VP8/VP9 视频编码器.

需要ffmpeg编译的时候添加 –enable-libvpx.

cd ~/ffmpeg_sources
git clone https://github.com/webmproject/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install
make clean

FFmpeg

cd ~/ffmpeg_sources

git clone https://github.com/FFmpeg/FFmpeg.git

cd FFmpeg

export 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

注意:
Linux---centos编译安装ffmpeg 
    

 这个是装不上的  直接跳过就可以了  最后 这条命令里面吧这个东西删掉  就可以执行了

这个  表红线部分删掉



 php调用ffmpeg转码视频


$cmd = 'FFMPEG  -i  uploadfile/video/test.wmv -c:v libx264 -strict -2 uploadfile/mp4/test.mp4';
 exec($cmd, $status);

至此,编译ffmpeg完成, ffmpeg (包括 ffprobe, ffserver, lame, 和 x264已经可以使用

Done ^^

参考:
ffmpeg安装指南:https://trac.ffmpeg.org/wiki/CompilationGuide
ffmpeg安装指南(centos):https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

ffmpeg Git地址:https://github.com/FFmpeg/FFmpeg

Linux---centos编译安装ffmpeg的更多相关文章

  1. 阿里云服务器---centos编译安装ffmpeg

    环境 系统环境:CentOS release 6.7 (Final) 需求 编译安装ffmpeg 获取依赖 安装依赖包 yum install -y autoconf automake cmake f ...

  2. 超详细的 Linux CentOS 编译安装python3

    前言: 安装完CentOS7后,执行#Python与#python -V,看到版本号是2.6,而且之前写的都是跑在python3.X上面的,3.X和2.X有很多不同,在这里我就不弊述两者之间的区别了新 ...

  3. Linux下编译安装FFmpeg

    FFmpeg官网:http://www.ffmpeg.org 官网介绍 FFmpeg is the leading multimedia framework, able to decode, enco ...

  4. linux centos编译安装php7.3

    php7.2的编译安装参考:https://www.cnblogs.com/rxbook/p/9106513.html 已有的之前编译的旧版本php: mv /usr/local/php /usr/l ...

  5. [CentOS_7.4]Linux编译安装ffmpeg

    [CentOS_7.4]Linux编译安装ffmpeg   安装过程: 下载安装源,配置,编译,安装,设置环境变量. # wget http://www.ffmpeg.org/releases/ffm ...

  6. Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)

    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,Linux CentOS 7 安装PostgreSQL 9.5.17 安装过程 特此记录. 安装环境: 数据库:Postgre ...

  7. 编译安装FFmpeg 要支持xvid、x264、mp3、ogg、amr、faac

    编译安装FFmpeg 要支持xvid.x264.mp3.ogg.amr.faac libfaac    faac格式的编解码包libmp3lame    mp3格式编解码包libopencore-am ...

  8. NoSql1 在Linux(CentOS)上安装memcached及使用

    前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...

  9. CentOS编译安装NodeJS+Express

    NodeJS是基于Chrome’s Javascript runtime,也就是Google V8引擎执行Javascript的快速构建网络服务及应用的平台,其优点有: 在CentOS编译安装Node ...

随机推荐

  1. How do you explain Machine Learning and Data Mining to non Computer Science people?

    How do you explain Machine Learning and Data Mining to non Computer Science people?   Pararth Shah, ...

  2. IO流的总结(一)

    IO流的介绍: 其实在我们现实生活中有很多流,例如:水流,电流,气流  等等都是是流,但在Java中IO流是指对数据的操作的流. 按照流的分类: 1:字节流和字符流 Reader和InputStrea ...

  3. Access restriction: The type 'Unsafe' is not API

    错误:Access restriction: The type 'Unsafe' is not API Eclipse中有一种叫做存取限制的机制,来防止你错误使用那些非共享的API.通常来说,Ecli ...

  4. sublime package control INSTALLATION

    Simple The simplest method of installation is through the Sublime Text console. The console is acces ...

  5. Kerberos 常用命令

    最近项目组用CDH搭建数据开发环境,有用到Kerberos安全组件.如下是相关命令,请参考: 进入kadmin kadmin.local / kadmin 创建数据库 kdb5_util create ...

  6. Linux下启动Oracle服务和监听程序

    $ su – oracle $ sqlplus / nolog sql> conn / as sysdba sql> startup                 #启动Oracle,需 ...

  7. Java虚拟机内存分配详解

    简介 了解Java虚拟机内存分布的好处 1.了解Java内存管理的细节,有助于程序员编写出性能更好的程序.比如,在新的线程创建时,JVM会为每个线程创建一个专属的栈 (stack),其栈是先进后出的数 ...

  8. Java基础学习-HelloWorld案例的编写和运行

    一.HelloWorld案例的流程:         第一步:编写一个.java的源文件.通过Windows自带的记事本文件就可以完成.         第二步:将.java的源文件通过编译器编译生成 ...

  9. js-input框中写入的小写小写字母全部转换成大写字母的js代码

    <input type="text" id="blinitials" name="blinitials"  onkeyup=" ...

  10. react-router 4.0(四)页面跳转验证提示

    import React from 'react' import ReactDOM from 'react-dom' import { HashRouter, Route, Link, Prompt ...