zoukankan      html  css  js  c++  java
  • CentOS安装ffmpeg+h264

    CentOS安装ffmpeg+h264

    前言

    坑!坑!坑! 全是坑。

    本文安装系统环境为CentOS7.2。我这里提供安装所需的四个源码包,均需要编译安装。所有组件最好都安装最新的稳定版,或者下载使用同代一版本。

    链接:https://pan.baidu.com/s/1J6woNlr78K01wjvFTwRcpA
    提取码:w5zu

    一、安装依赖

    安装一些所需要的基础命令,以及编译工具。

    yum -y install gcc automake autoconf libtool make gcc gcc-c++ bzip2 xz

    二、安装nasm

    各版下载本地址:Index of /pub/nasm/releasebuilds

    2.1 上传nasm源码包并解压

    上传源码包至/usr/local目录下,并解压

    #解压
    # cd /usr/local
    # tar xvf nasm-2.13.tar.gz

    2.2 编译安装nasm

    #进入解压后的目录
    # cd /usr/local/nasm-2.13
    #配置编译,不需要指定编译位置,保持默认即可
    # ./configure
    # make
    # make install

    编译安装完成后,会在/usr/local/bin下生对应的成可执行程序

    三、安装yasm

    各版本下载地址:Index of /projects/yasm/releases/

    3.1 上传yasm源码包并解压

    上传源码包至/usr/local目录下,并解压

    #解压
    # cd /usr/local
    # tar zxvf yasm-1.3.0.tar.gz 

    3.2 编译安装yasm

    #进入解压后的目录
    # cd /usr/local/yasm-1.3.0
    #配置编译,不需要指定编译位置,保持默认即可
    # ./configure
    # make
    # make install

    编译安装完成后,会在/usr/local/bin下生成对应的可执行程序

    四、安装x264

    这个一定要先于ffmpeg安装,否则会安装报错,或者在使用中报错。

    官网下载地址:https://www.videolan.org/developers/x264.html

    4.1 上传x264源码并解压

    上传x264源码包至/usr/local目录下,并解压

    #解压
    # cd /usr/local
    # tar -jxvf x264-master.tar.bz24.2 

    4.2 编译安装x264

    #进入解压后的目录
    # cd /usr/local/x264-master
    #编译安装,这里之指定安装路径,方便ffmpeg安装时加载x264
    # mkdir /usr/local/x264
    # ./configure --prefix=/usr/local/x264 --enable-shared --enable-static --disable-asm
    # make
    # make install

    编译安装完成后,会在/usr/local/x264目录下生成相关文件

    4.3 添加环境变量

    /etc/profile文件末尾添加关于x264的环境变量

    # vim /etc/profile
    #在文件末尾添加
    export PATH=/usr/local/x264/bin:$PATH
    export PATH=/usr/local/x264/include:$PATH
    export PATH=/usr/local/x264/lib:$PATH

    五、安装ffmpeg

    各版本下载地址:http://ffmpeg.org/download.html

    5.1 上传ffmpeg源码包并解压

    上传ffmpeg源码包至/usr/local目录下,并解压

    #解压
    # cd /usr/local
    # xz -d  ffmpeg-4.3.1.tar.xz
    # tar xvf ffmpeg-4.3.1.tar

    5.2 编译安装ffmpeg

    #进入解压后的目录
    # cd /usr/local/ffmpeg-4.3.1
    #编译安装,也指定安装路径,方便后期管理
    # mkdir /usr/local/ffmpeg
    # ./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-yasm --enable-libx264 --enable-gpl --enable-pthreads --extra-cflags=-I/usr/local/x264/include --extra-ldflags=-L/usr/local/x264/lib
    # make -j4
    # make install

    5.3 修改配置文件

    `/etc/ld.so.conf` 此文件记录了编译时使用的动态库的路径,也就是加载so库的路径。默认情况下,编译器只会使用`/lib`和`/usr/lib`这两个目录下的库文件,而通常通过源码包进行安装时,如果不指定`--prefix`会将库安装在`/usr/local`目录下,而又没有在文件`/etc/ld.so.conf`中添加`/usr/local/lib`这个目录。这样虽然安装了源码包,但是使用时仍然找不到相关的.so库,就会报错。也就是说系统不知道安装了源码包。
    

    对于此种情况有2种解决办法:

    1. 在用源码安装时,用--prefix指定安装路径为/usr/lib。这样的话也就不用配置PKG_CONFIG_PATH
    2. 直接将路径/usr/local/lib路径加入到文件/etc/ld.so.conf文件的中。在文件/etc/ld.so.conf中末尾直接添加:/usr/local/lib(推荐该方法!)
    # vim /etc/ld.so.conf
    #在文件末尾加上
    /usr/local/ffmpeg/lib
    /usr/local/lib
    /usr/local/x264/lib
    #让配置生效
    # ldconfig

    5.4 设置软连接

    设置软连接和设置环境变量目的是一样的,这里我采用设置软连接

    # ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/ 
    # ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/ 

    设置环境变量的方法我也加上,设置环境变量和设置软连接二选其一即可

    使用 vim /etc/profile命令打开profile文件,在文件末添加环境变量:

    # vim /etc/profile
    #在文末添加以下内容
    
    #set ffmpeg environment
    PATH=$PATH:/usr/ffmpeg/bin
    export PATH

    六、测试安装成果

    一个简单的命令查看安装是否成功,ffmpeg -version查看输出结果。

    七、踩坑

    7.1安装顺序,严格按照本文顺序安装,x264一定要在安装ffmpeg之前安装

    7.2 error while loading shared libraries: libx264.so.138

    报错: ./ffmpeg: error while loading shared libraries: libx264.so.138: cannot open shared object file: No such file or directory
    

    出现这个错误参考本文5.3,可能是so库没有正常加载。在/etc/ld.so.conf中添加/usr/local/x264/lib,添加后保存文件执行命令ldconfig使命令生效

    7.3 error while loading shared libraries: libavdevice.so.57

    ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
    

    一般情况下出现.so.xxx找不到的问题,要么真的没有这个,要么是安装了但是系统找不到,参照5.3。

    暂时先写这么多,以后碰到持续更新。

  • 相关阅读:
    【JAVASCRIPT】处理剪切板
    【数据库】常用系统存储过程
    【ASP.NET】存储过程分页实例
    图灵2010.11书讯
    计算机大师高德纳权威著作《计算机程序设计艺术》影印版精装版已经入库,即将上市!
    图灵2010.10书讯
    图灵2010.09书讯
    两个要素:人和思考——《软件人才管理的艺术》书评
    《我编程,我快乐》精彩片段——学习行业是如何运转的
    图灵5周年系列活动之科普大爆炸(免费!)
  • 原文地址:https://www.cnblogs.com/lcxhk/p/14509648.html
Copyright © 2011-2022 走看看