• Install FFMPEG and FFMPEG-PHP in CentOS 6 with Virtualmin


    Install FFMPEG and FFMPEG-PHP in CentOS 6 with Virtualmin

    The other day I was requested to set-up few requirements for a client such as mod_rewriteGD libraryPHP Dombcmath etc.. and among these in the list there was theFFMPEG library and the FFMPEG-PHP extension. OK, no big deal, but this box has CentOS 6 (RHEL6) with Virtualmin/Webmin set-up on top of it using the base repositories only, so let's do it I said...

    ok, I took the following steps in order to install and set-up FFMPEG and FFMPEG-PHP in CentOS 6 with Virtualmin

    1. Update the system
    2. Install Development Tools
    3. Protect base repositories
    4. Add dag's repository
    5. Install FFMPEG
    6. Install FFMPEG-PHP
    7. Load FFMPEG-PHP extension

    1. Make sure the CentOS 6 system is fully up-to-date

    yum update
    

    2. Install Development Tools

    yum groupinstall "Development tools"
    

    3. Protect the base repositories so the packages don't get updated by the unprotected ones

    Install the ProtectBase yum plugin by
    yum install yum-protectbase
    

    and then navigate to /etc/yum.repos.d

    cd /etc/yum.repos.d/
    

    before doing any changes to the repositories, always do backup of the original ones.

    cp -prv ../yum.repos.d{,.orig}
    

    in order for a repository to be protected, a line protect=1 needs to be added to each repository section in CentOS-Base.repoCentOS-Media.repo and virtualmin.repo.

    So, edit these files using your favourite editor or do the sed if you're feeling brave 

    sed -i '/gpgkey=/aprotect=1' CentOS-{Base,Media}.repo
    sed -i '/gpgkey=/aprotect=1' virtualmin.repo
    

    4. Add dag's repository by adding the following to /etc/yum.repos.d/dag.repo

    [dag]
    name=Dag RPM Repository for Red Hat Enterprise Linux
    baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
    gpgcheck=1
    gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
    enabled=1
    protect=0
    

    next import dag's rpm gpg key by

    wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt -P /tmp
    rpm --import /tmp/RPM-GPG-KEY.dag.txt
    

    5. Proceed with installing FFMPEG and some development packages

    yum install ffmpeg-devel php-devel re2c php-xml ffmpeg
    

    verify FFMPEG is installed successfully by executing

    ffmpeg
    

    you should get something like

    FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
    built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
    configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
    libavutil 50.15. 1 / 50.15. 1
    libavcodec 52.72. 2 / 52.72. 2
    libavformat 52.64. 2 / 52.64. 2
    libavdevice 52. 2. 0 / 52. 2. 0
    libavfilter 1.19. 0 / 1.19. 0
    libswscale 0.11. 0 / 0.11. 0
    libpostproc 51. 2. 0 / 51. 2. 0
    Hyper fast Audio and Video encoder
    

    6. Compile and install the FFMPEG-PHP extension

    mkdir /srv/build
    cd /srv/build
    wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
    tar -xjf ffmpeg-php-0.6.0.tbz2
    cd ffmpeg-php-0.6.0/
    
    phpize
    ./configure
    

    now run the following to prevent compilation failure with something like ffmpeg_frame.c:421: error: ‘PIX_FMT_RGBA32’ undeclared (first use in this function)

    sed -i 's#PIX_FMT_RGBA32#PIX_FMT_RGB32#' ./ffmpeg_frame.c
    

    and compile and install using

    make
    make install
    

    you should end up with something like

    Installing shared extensions:     /usr/lib64/php/modules/
    

    7. Load the FFMPEG-PHP extension and reload Apache

    echo -e "extension=ffmpeg.so
    " > /etc/php.d/ffmpeg.ini
    

    restart the webserver by

    /etc/init.d/httpd restart
    

    verify that the FFMPEG-PHP extension is loaded

    php -i | grep ffmpeg
    php -m | grep ffmpeg
  • 相关阅读:
    浅析微服务全链路灰度解决方案
    作业帮在线业务 Kubernetes Serverless 虚拟节点大规模应用实践
    重磅发布 | Serverless 应用中心:Serverless 应用全生命周期管理平台
    你不知道的 HTTPS 压测
    应用实时监控服务 ARMS 4 月功能新鲜快报
    托管式服务网络:云原生时代的应用体系架构进化
    可观测|时序数据降采样在Prometheus实践复盘
    巧用API网关构建大型应用体系架构
    卓越工程实践之—前端高质量单测
    科普达人丨一文看懂阿里云的秘密武器“神龙架构”
  • 原文地址:https://www.cnblogs.com/qdlixuecai/p/5106671.html
Copyright © 2020-2023  润新知