基于linux平台的FFmpeg安装部署

FFmpeg安装部署

  1. 系统环境

    [[email protected] ~]# iostat
    Linux 2.6.32-573.3.1.el6.x86_64 (ceshiji)   2018年03月04日     _x86_64_    (8 CPU)
    [[email protected] ~]# cat /etc/redhat-release
    CentOS release 6.7 (Final)
    [[email protected] ~]# getenforce
    Disabled
  2. 安装所需包或插件
    (1)faac-1.28.tar.gz
    下载地址:http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
    tar -zxvf  faac-1.28.tar.gz
    cd faac-1.28
    ./configure
    make && make install
    将 faac-1.28/common/mp4v2/mpeg4ip.h 第 123行~129行,进行如下修改:
    修改前:
    #ifdef __cplusplus
    extern "C" {
    #endif
    char *strcasestr(const char *haystack, const char *needle);
    #ifdef __cplusplus
    }
    #endif
    修改后:
    #ifdef __cplusplus
    extern "C++" {
    #endif
    const char *strcasestr(const char *haystack, const char *needle);
    #ifdef __cplusplus
    }
    #endif

    如不安装会出现下面的报错信息:

    make[3]: 正在进入目录 `/home/tarena/project/jpg to mp4/faac-1.28/common/mp4v2‘
    if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include   -Wall -g -O2 -MT 3gp.o -MD -MP -MF ".deps/3gp.Tpo" -c -o 3gp.o 3gp.cpp; \
    then mv -f ".deps/3gp.Tpo" ".deps/3gp.Po"; else rm -f ".deps/3gp.Tpo"; exit 1; fi
    In file included from mp4common.h:29:0,
                 from 3gp.cpp:28:
    mpeg4ip.h:126:58: 错误: 对‘char* strcasestr(const char*, const char*)’的新声明
    /usr/include/string.h:369:28: 错误: 使旧的声明‘const char* strcasestr(const char*, const char*)’出现歧义
    make[3]: *** [3gp.o] 错误 1
    make[3]:正在离开目录 `/home/tarena/project/jpg to mp4/faac-1.28/common/mp4v2‘
    make[2]: *** [all-recursive] 错误 1
    make[2]:正在离开目录 `/home/tarena/project/jpg to mp4/faac-1.28/common‘
    make[1]: *** [all-recursive] 错误 1
    make[1]:正在离开目录 `/home/tarena/project/jpg to mp4/faac-1.28‘
    make: *** [all] 错误 2<strong>
    </strong>  

    (2)lame-3.97.tar.gz

    下载地址:http://downloads.sourceforge.net/lame/lame-3.97.tar.gz
    tar -zxvf lame-3.97.tar.gz
    cd lame-3.98.4
    ./configure
    make && make install
    如不安装会出现下面的报错信息:
    ERROR: libmp3lame >= 3.98.3 not found

    (3)opencore-amr-0.1.2.tar.gz

    下载地址:http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz
    tar -zxvf opencore-amr-0.1.2.tar.gz
    cd opencore-amr-0.1.2
    ./configure
    make && make install
    如不安装会出现下面的报错信息:
    ERROR: libopencore_amrnb not found

    (4)libogg-1.3.3.tar.xz

    下载地址:wget https://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz
    tar -xf libogg-1.3.3.tar.xz
    ./configure --prefix=/usr            --disable-static         --docdir=/usr/share/doc/libogg-1.3.3
    make && make install
    如不安装会出现下面报错信息:
    *** Could not run Ogg test program, checking why...
    *** The test program failed to compile or link. See the file config.log for the
    *** exact error that occured. This usually means Ogg was incorrectly installed
    *** or that you have moved Ogg since it was installed.
    configure: error: must have Ogg installed!

    (5)libvorbis-1.3.5.tar.gz

    下载地址:https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz
    tar -xf libvorbis-1.3.5.tar.xz
    cd libvorbis-1.3.5
    ./configure
    make && make install
    如不安装会出现下面报错信息:
    ERROR: libvorbis not found

    (6)x264

    下载地址:wget http://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20170213-2245-stable.tar.bz2
    tar -jxf x264-snapshot-20170213-2245-stable.tar.bz2
    cd x264-snapshot-20170213-2245-stable/
    ./configure --disable-asm --enable-static --enable-shared
    make && make install
    如不安装会出现下面报错信息:
    ERROR: libx264 not found
    ERROR: libx264 must be installed and version must be >= 0.118.
    重新编译安装libx264时,一定需要把电脑里面之前的版本给删除掉,在/usr 或者/usr/local下,在编译x264的时候加--enable-static --enable-shared,如果不加参数,只能编译出x264的执行文件出来,install到/usr/bin目录下面。
    按如下方法寻找:
    whereis libx264
    cd /usr/local/lib
    rm -rf libx264.*

    (7)xvidcore-1.2.2.tar.gz

    下载地址:http://downloads.xvid.org/downloads/xvidcore-1.2.2.tar.gz
    tar -xf xvidcore-1.2.2.tar.gz
    cd xvidcore/build/generic
    ./configure
    make && make install
    如不安装会出现下面报错信息:
    ERROR: libxvid not found
  3. 安装ffmpeg
    下载地址:https://ffmpeg.org/releases/ffmpeg-3.2.7.tar.gz
    tar -zxf ffmpeg-3.2.7.tar.gz
    cd ffmpeg-3.2.7
    ./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264 --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-libmp3lame --disable-yasm
    make && make install
    如出现下面报错信息:
    libavcodec/libx264.c: 在函数‘X264_init_static’中:
    libavcodec/libx264.c:892: 错误:‘x264_bit_depth’未声明(在此函数内第一次使用)
    make: *** [libavcodec/libx264.o] 错误 1
    解决方法:
    更换libx264版本,重新编译安装,把编译文件清理下,命令:make clean
    如出现如下报错:
    yasm/nasm not found or too old.
    解决方法:
    安装yasm  或者按照提示直接在配置上添加 --disable-yasm
  4. 验证ffmpeg是否安装正确
    cd /usr/local/ffmpeg/bin
    ./ffmpeg -version
    报错信息如下:
    ./ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
    解决方法:
    pwd
    /data3/ceshiji/ffmpeg/x264-snapshot-20170213-2245-stable
    cp libx264.so.148 /usr/lib/
    修改文件 /etc/ld.so.conf 内容增加 /usr/local/ffmpeg/lib/
    echo "/usr/local/ffmpeg/lib/" >>  /etc/ld.so.conf
    使之生效:
    #ldconfig
    ./ffmpeg -version
    ffmpeg version 3.2.7 Copyright (c) 2000-2017 the FFmpeg developers
    built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)
    configuration: --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264 --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-libmp3lame --disable-yasm
    libavutil      55. 34.101 / 55. 34.101
    libavcodec     57. 64.101 / 57. 64.101
    libavformat    57. 56.101 / 57. 56.101
    libavdevice    57.  1.100 / 57.  1.100
    libavfilter     6. 65.100 /  6. 65.100
    libswscale      4.  2.100 /  4.  2.100
    libswresample   2.  3.100 /  2.  3.100
    libpostproc    54.  1.100 / 54.  1.100
  5. ffmpeg建立软连接
    两种方法均可:
    (1)ln -s /usr/local/ffmpeg/bin/ffmpeg  /usr/local/bin/ffmpeg
    (2)export PATH=/usr/local/ffmpeg/bin/:$PATH
    永久性的:
    echo "export PATH=/usr/local/ffmpeg/bin/:$PATH" >> /etc/profile
    立即生效执行:
    source /etc/profile  
  6. 基本命令
    (1)ffmpeg -help
    (2)ffmpeg -version
    (3)ffmpeg -codecs

原文地址:http://blog.51cto.com/wutengfei/2082761

时间: 2024-10-09 08:44:58

基于linux平台的FFmpeg安装部署的相关文章

基于Linux平台下的僵尸网络病毒《比尔盖茨》

感觉分析的很好,所以决定翻译出来,希望和大家多多交流O(∩_∩)O~ 转载请注明出处:http://blog.csdn.net/u010484477     O(∩_∩)O谢谢 关键字:病毒,linux,信息安全 我昨天写的日志里面提到,家用路由器在x86的CentOS系统下奇怪的自己行动,像是在自己加载处理器.于是我决定爬上去看看,在那里发生了什么,然后我马上意识到有人爬到服务器和挂在进程中的dgnfd564sdf.com.主要是下面几个方面atddd,cupsdd,cupsddh, ksap

基于Linux平台病毒BlackHole病毒解析

今天遇到了一个病毒,代码量不多,但是利用了一个函数的小空子,杀伤力确实挺惊人的. 转载请注明出处:http://blog.csdn.net/u010484477谢谢^_^ 这个病毒前面就是常规的: socket->bind->listen这个过程大家都 下面我想详细说一下它的攻击方式: while ( 1 ) { nsock = accept(sock, (struct sockaddr *)&v10, (socklen_t *)&v9);// wait to link if

基于Linux平台病毒Wirenet.c解析

在分析Wirenet.c时,感觉自己学到了很多很赞的思想,希望跟大家一同交流. 转载请注明出处:http://blog.csdn.net/u010484477谢谢^_^ 这次并不想通篇的进行分析了,我想写出两块病毒的恶意代码,觉得思想挺好的. 一.删除某目录下的所有文件 pathpoint = opendir(path);  //打开一个目录 dirent = readdir(pathpoint);//读取目录,返回dirent结构体指针 fdname = dirent->d_name;//得到

基于Linux平台下网络病毒Caem.c源码及解析

Came.c型病毒在这里主要修改了用户的密码,同时对用户的终端设备进行了监视.希望与大家共同交流 转载请注明出处:http://blog.csdn.net/u010484477     O(∩_∩)O谢谢 #define HOME "/" #define TIOCSCTTY 0x540E #define TIOCGWINSZ 0x5413 #define TIOCSWINSZ 0x5414 #define ECHAR 0x1d #define PORT 39617 #define BU

基于Linux下Nagios的安装与配置说明介绍[图]

本篇文章小编为大家介绍,基于Linux下Nagios的安装与配置说明介绍[图].需要的朋友参考下 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain'

高可用Hadoop平台-Ganglia安装部署

1.概述 最近,有朋友私密我,Hadoop有什么好的监控工具,其实,Hadoop的监控工具还是蛮多的.今天给大家分享一个老牌监控工具Ganglia,这个在企业用的也算是比较多的,Hadoop对它的兼容也很好,不过就是监控界面就不是很美观.下次给大家介绍另一款工具——Hue,这个界面官方称为Hadoop UI,界面美观,功能也比较丰富.今天,在这里主要给大家介绍Ganglia这款监控工具,介绍的内容主要包含如下: Ganglia背景 Ganglia安装部署.配置 Hadoop集群配置Ganglia

基于PXE的linux系统的自动化安装部署(图文并茂)

一 基础网络建设--搭建dhcp服务器 可以参考:http://luzhi1024.blog.51cto.com/8845546/1655443 1 修改服务器的ip:/etc/sysconfig/network-scripts/ifcfg-eth0 2 重启网络 3 查看eth0网卡信息 4 安装dhcp服务包 5 创建dhcp服务配置文件 6 设置dhcpd开机启动 7 查看是否开启udp 67端口 说明:dhcp服务占用67号端口,dhcp的前身是bootps这个协议 二 搭建tftp服务

Linux平台的boost安装全解

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); 最近把cpp代码从开发机放到编译机去,遇到了不少路径问题,所以记录了本文. 一.安装方法 安装boost的时候,其实很简单,按如下步骤安装: wget http://sourceforge.net/projects/boost/files/boost/1.54.0/

linux平台MongoDB数据库安装

跟Ruiy哥一起玩转吧; <一,初始化玩转MongoDB> 1,关闭SElinux(Ruiy哥根据经验知红帽的SElinux架设就是个错误,还记得不管啥结构首先要关闭的就是它); 2,设置iptables放行Port=27017; 3,下载软件介质wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.0.tgz ; 4,安装; tar zxvf mongodb-linux-x86_64-2.6.0.tgz mv mongo