• php在线处理视频 (在线视频转码,取得视频信息)


    linux 中有ffmpeg可以处理视频,而且ffmpeg有PHP扩展,PHP可以通过FFMPEG类出来视频,下面是LINUX下安装FFMEPG及关联PHP的方法

    1.创建文件夹

    mkdir ~/ffmpeg
    cd ~/ffmpeg

     

    2.取得基本要求的源文件

    wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20100303.tar.bz2

    or

    wget http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2


    wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz

    or

    wget http://ftp.de.debian.org/debian/pool/main/f/flvtool2/flvtool2_1.0.6-4.tar.gz


    wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz
    wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
    wget http://downloads.xiph.org/releases/ogg/libogg-1.2.0.tar.gz
    wget
    http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.1.tar.gz

    wget http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz

     

    3.解压源文件

    bunzip2 all-20100303.tar.bz2; tar xvf all-20100303.tar

    or

    bunzip2 essential-20071007.tar.bz2; tar xvf essential-20071007.tar.bz2


    tar zfvx flvtool2_1.0.6-4.tar.gz
    tar zxvf lame-3.98.4.tar.gz
    bunzip2 ffmpeg-php-0.6.0.tbz2 ;tar vxf ffmpeg-php-0.6.0.tar
    tar zvxf libogg-1.2.0.tar.gz
    tar zxvf libvorbis-1.3.1.tar.gz

    bunzip2 rpl-4.0.19.tar.bz2; tar vfx rpl-4.0.19.tar

     

    4.创建codecs文件夹并导入

    mkdir /usr/local/lib/codecs/
    mv all-20100303/* /usr/local/lib/codecs/
    chmod -R 755 /usr/local/lib/codecs/

     

    5.取得FFMPEGMplayer

    svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
    svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

     

    6.编译lame

    cd lame-3.98.4

    ./configure
    make
    make install

    cd ..

     

    7编译libOGG
    cd cd libogg-1.2.0
    ./configure
    make
    make install

    Cd ..

     

    8. 编译libVorbis
    cd libvorbis-1.3.1
    ./configure
    make
    make install

    cd ..

     

    9 编译 flvtool2

    cd flvtool2/
    ruby setup.rb config
    ruby setup.rb setup
    ruby setup.rb install

    cd ..

     

    10.编译yasm(安装mplayer必须)

    tar zfvx yasm-1.1.0.tar.gz

    cd yasm-1.1.0

    ./configure

    make

    make install

     

    11. 编译mplayer

    MPlayer
    cd mplayer
    ./configure
    make
    make install

    cd ..

     

    12. 编译ffmpeg

    cd ffmpeg

    ./configure --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared --enable-yasm
    echo '#define HAVE_LRINTF 1' >> config.h

    make
    make install

    cd ..

     

    13.建立链接

    ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50
    ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
    ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
    ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
    ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51

     

    15.编译PHPFFmpeg扩展

    cd ffmpeg-php-0.6.0

    /usr/local/php/bin/phpize  #我的PHPIZE在这里

    ./configure --with-php-config=/usr/local/php/bin/php-config #我的php-config在这里
    make

    #可能出现错误:error: ‘PIX_FMT_RGBA32′ undeclared (first use in this function)
    #make: *** [ffmpeg_frame.lo] Error 1

    #打开文件 “/ffmpeg-php-0.5.0/ffmpeg_frame.c”

    # 替换所欲的 PIX_FMT_RGBA32 PIX_FMT_RGB32 #vi 命令 :%s/PIX_FMT_RGBA32/PIX_FMT_RGB32/
    make install

    cd ..

    vi /usr/local/php/etc/php.ini

    往结尾添加

    extension=/usr/local/lib/php/extensions/ no-debug-non-zts-20020429/ffmpeg.so #这个SO的地址根据你的实际的写

    #:根据PHP的配置不同.部分可能直接会自动添加而无需手动

     

    16 重启web 服务,检查是否有ffmpeg 扩展出现

    传张我配置完后得到的效果图:

    明天把PHP端如何处理补上.

    (比较忙,有时间在写了...)

  • 相关阅读:
    原码、反码、补码之间的相互关系
    在用 JavaScript 工作时,我们经常和条件语句打交道,这里有5条让你写出更好/干净的条件语句的建议。
    冒泡排序最佳情况的时间复杂度
    path的join和resolve的使用区别
    SCSS入门
    webpack 前后端分离开发接口调试解决方案,proxyTable解决方案
    JS中原型链的理解
    30分钟,让你彻底明白Promise原理
    状态码常用对照表
    前端性能优化方案都有哪些?
  • 原文地址:https://www.cnblogs.com/liushannet/p/1856229.html
Copyright © 2020-2023  润新知