Instalando o FFMPEG e o FFMPEG-PHP no CentOS

Alguns dos ambientes que eu administro precisam utilizar componentes para encode de Video, as agências que desenvolvem as aplicações para empresa que eu trabalho costumam utilizar o ffmpeg para esta função, vou explicar neste  post como realizar a instalação e testar o funcionamento do componente.

De acordo com o site oficial do ffmpeg é uma solução cross-platform completa para gravar, converter e fazer streaming de audio video utilizando a biblioteca libavcodec, além de instalar o ffmpeg vamos precisar a biblioteca ffmpeg-php.

Para facilitar nossa vida como sempre, vamos utilizar um repositório que tenha as dependências necessárias para instalação, neste caso vamos usar o DAG.

~# touch /etc/yum.repos.d/dag.repo

Insira o seguinte conteúdo no arquivod dag.repo

[dag]
name=DAG RPM Repository
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1

Vamos instalar também as GPGKey do repositório

~# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
~# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
~# rpm --import RPM-GPG-KEY.dag.txt

Agora vamos instalar as bibliotecas do FFMPEG

~# yum install ffmpeg ffmpeg-devel

Obs.: Caso ocorra algum problema na verificação das chave utilize o parâmetro –nogpgcheck (sem que não é o indicado)

Após a instalação ffmpeg pode prosseguir com a instalação da biblioteca PHP

Baixe a biblioteca do sourceforge.net (http://sourceforge.net/projects/ffmpeg-php/files/ffmpeg-php/)

Descompacte o pacote

~# tar -xjf ffmpeg-php-0.6.0.tbz2

Vamos compilar utilizando o phpize

~# cd ffmpeg-php-0.6.0
~# phpize

Agora que vem o pulo do gato, existe um bug nesta versão do ffmpeg-php, para resolver o problema execute o comando abaixo para substituir um valor em uma das linhas do arquivo  ffmpeg_frame.c

~# sed -i "s/PIX_FMT_RGBA32/PIX_FMT_RGB32/g" ffmpeg_frame.c

Pronto só compilar agora

~# ./configure && make && make install

Por fim precisamos fazer com que a biblioteca seja carregada, existe duas forma de fazer isso, adicionando o caminho completo da biblioteca no arquivos php.ini ou criar um arquivo .ini dentro do diretório /etc/php.d/ (eu prefiro a segunda), vale lembrar que estou usando o CentOS, acredito que também funcione no Fedora e no Red Hat Enterprise

~# echo extension=ffmpeg.so >> /etc/php.d/ffmpeg.ini

Para testar o módulo pasta copiar o arquivo test_ffmpeg.php que esta na pasta ffmpeg-php-0.6.0 para o diretório de qualquer virtualhost que você tenha configurado no servidor, ou fazendo um teste com função phpinfo().

Bom pessoal é isso, espero que este post ajude !!!

2 comentários em “Instalando o FFMPEG e o FFMPEG-PHP no CentOS”

  1. Boa tarde, poderia me ajudar. Estou compilando o ffmpeg e estou recebendo o seguinte erro : configure: error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the –enable-shared option.

    poderia me ajudar?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *