quinta-feira, 8 de setembro de 2011

Recompilando o ffmpeg com suporte a x264 e aac - Dicas


Por: Carlos Morimoto.
Se você tem um smarphone com o S60, ou um iPod Touch/iPhone, pode usar meu script converter-video.sh para converter vídeos no Linux e assim poder assistí-los em qualquer lugar.

No caso dos aparelhos com o S60, você pode usar o próprio Real Player que vem pré-instalado e no caso do iPod Touch/iPhone usar o dTunes ou o AVPlayer, que estão disponíveis (para aparelhos desengaiolados) através do Cydia.


01



O grande problema é que o ffmpeg distribuído no Debian Lenny e no Ubuntu vem com o suporte a x264 e aac desativado (por questões de patentes), impossibilitando a conversão. Como sempre, existe uma solução, mas ela envolve recompilar o ffmpeg a partir dos fontes, o que devido ao grande número de dependências, não é uma tarefa simples. De qualquer maneira, aqui vão os passos necessários:


No Ubuntu, adicione o repositório do Medibuntu, incluindo a linha a seguir no "/etc/apt/sources.list":

deb http://packages.medibuntu.org/ intrepid free non-free

Em seguida, instale a chave do repositório usando o apt-get e atualize as listas do apt:



sudo apt-get install medibuntu-keyring


sudo apt-get update


No Debian, adicione o repositório do Debian-Multimedia, incluindo no "/etc/apt/sources.list":


deb http://www.debian-multimedia.org lenny main


deb-src http://www.debian-multimedia.org etch main

E instale a cheve do repositório usando o apt:



apt-get install debian-multimedia-keyring


apt-get update


O próximo passo é remover os pacotes do ffmpeg e do x264 anteriormente instalados, abrindo o caminho para a instalação dos novos pacotes:


sudo apt-get purge ffmpeg x264 libx264-dev

Chegamos então à instalação dos pacotes com as bibliotecas e ferramentas que serão usadas durante a compilação. A lista é um pouco longa:



sudo apt-get install build-essential subversion git-core \


checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev \


libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev


Falta agora o mais importante, que é baixar o código fonte, gerar o pacote e instalá-lo. Estes passos foram retirados do howto disponível no Tutorials&Tips do ubuntu Forum e funcionam tanto no Debian Lenny quanto nas versões atuais do Ubuntu.

Comece baixando o código fonte do pacote x264 usando o git:



cd


git clone git://git.videolan.org/x264.git


Ele criará a pasta "x264" dentro do seu diretório home. Acesse-a e use os tradicionais "./configure" e "make" para compilar o pacote:



cd x264


./configure


make


O passo final é usar o checkinstall para gerar o pacote .deb e instalá-lo. Os comandos anteriores podem ser usados com seu login de usuário, mas este último precisa ser executado como root, daí o uso do sudo:



sudo checkinstall --fstrans=no --install=yes --pkgname=x264 \


--pkgversion "1:0.svn" --default

Agora faça o mesmo para o ffmpeg, baixando os fontes usando o svn e gerando o pacote .deb com o checkinstall. No final do processo, o pacote será instalado e uma cópia será salva na pasta /root/ffmpeg (o arquivo ffmpeg_3:0.svn.deb), permitindo que você o instale em outras máquinas com a mesma versão do sistema:



cd


svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg


cd ffmpeg


./configure --enable-gpl --enable-nonfree --enable-pthreads \


--enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora \


--enable-libx264 --enable-libxvid --enable-x11grab


make


sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg \


--pkgversion "3:0.svn" --default


Com isso você terá a versão completa do ffmpeg instalada e poderá converter os vídeos usando o script, ou usando os passos manuais descritos no livro de smartphones : http://www.hardware.com.br/livros/smartphones/realplayer.html


No Windows você pode fazer a conversão usando o Super , que é também gratuito.

Nenhum comentário:

Postar um comentário