Recompilando o ffmpeg no Ubuntu 9.10
sexta-feira, 13 de novembro de 2009
Tuxmind
EDIT: (26 de maio de 2010) Veja aqui como compilar o ffmpeg com vp8
No Ubuntu 8.10 para ter suporte a x264, bastava adicionar o repositório do medibuntu. Mas no Ubuntu 9.04, o ffmpeg já não tinha suporte a x264 e aac.
Para solucionar o problema, recompilei o ffmpeg no Ubuntu 9.04.
Com a chegada do Ubuntu 9.10, tive de recompilar novamente o ffmpeg. Mas acontece que a nova versão do ffmpeg sofreu algumas alterações. Por exemplo : o --enable-libamr-wb mudou para --enable-libopencore-amrwb. E o pacote libamr-wb-dev mudou de nome para libopencore-amrwb-dev. (esse pacote é necessário para ter suporte a ficheiros 3gp que são usados em alguns celulares).
Então vamos começar:
Crie uma pasta temporária ffmpeg-install por exemplo.
Agora abra o console dentro da pasta e execute os seguinte comandos:
Agora vamos instalar as dependências:
Baixando a última versão do o x264:
Agora entramos na pasta x264:
Depois:
./configure --enable-pic
Não Utilize essa opção caso o seu processador não seja 64bit.
Agora com a ajuda do checkinstall, vamos criar e instalar o nosso pacote deb :)
E pronto. Já temos o x264, agora vamos ao ffmpeg.
Na mesma consola use o seguinte comando para voltarmos a pasta ffmpeg-install:
Agora "baixamos" o ffmpeg:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
E depois:
NOTA: use a opção --arch=x86_64 no configure se quiser optimizar para processadores 64bit
Repare que no comando do checkinstall tive de mudar o numero da versão de 4:0.svn para 5:0.svn, senão você acaba de compilar o ffmpeg e gestor de pacotes de seguida "reclama" que tem uma "nova" versão no repositório :P
E pronto! Já temos a última versão do ffmpeg com x264, aac e amr.
NOTA: O checkinstall criou um pacote deb dentro da pasta ffmpeg. Você pode usar o pacote deb para instalar em outras máquinas. :)
No Ubuntu 8.10 para ter suporte a x264, bastava adicionar o repositório do medibuntu. Mas no Ubuntu 9.04, o ffmpeg já não tinha suporte a x264 e aac.
Para solucionar o problema, recompilei o ffmpeg no Ubuntu 9.04.
Com a chegada do Ubuntu 9.10, tive de recompilar novamente o ffmpeg. Mas acontece que a nova versão do ffmpeg sofreu algumas alterações. Por exemplo : o --enable-libamr-wb mudou para --enable-libopencore-amrwb. E o pacote libamr-wb-dev mudou de nome para libopencore-amrwb-dev. (esse pacote é necessário para ter suporte a ficheiros 3gp que são usados em alguns celulares).
Então vamos começar:
Crie uma pasta temporária ffmpeg-install por exemplo.
Agora abra o console dentro da pasta e execute os seguinte comandos:
sudo apt-get purge ffmpeg x264 libx264-dev
sudo apt-get update
sudo apt-get update
Agora vamos instalar as dependências:
sudo apt-get install build-essential subversion checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev libxvidcore4-dev libsdl1.2-dev libvorbis-dev libopencore-amrwb-dev libopencore-amrnb-dev git-core libx11-dev libxfixes-dev zlib1g-dev
Baixando a última versão do o x264:
git clone git://git.videolan.org/x264.git
Agora entramos na pasta x264:
cd x264
Depois:
./configure
make
NOTA: no configure use o --enable-pic para compilar com suporte a 64bit.make
./configure --enable-pic
Não Utilize essa opção caso o seu processador não seja 64bit.
Agora com a ajuda do checkinstall, vamos criar e instalar o nosso pacote deb :)
sudo checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`-0.0ubuntu1" --default
E pronto. Já temos o x264, agora vamos ao ffmpeg.
Na mesma consola use o seguinte comando para voltarmos a pasta ffmpeg-install:
cd ..
Agora "baixamos" o ffmpeg:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
E depois:
cd ffmpeg
./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-avfilter --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvorbis --enable-x11grab --enable-version3
make
./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-avfilter --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvorbis --enable-x11grab --enable-version3
make
NOTA: use a opção --arch=x86_64 no configure se quiser optimizar para processadores 64bit
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "5:0.svn`date +%Y%m%d`-12ubuntu3" --default
Repare que no comando do checkinstall tive de mudar o numero da versão de 4:0.svn para 5:0.svn, senão você acaba de compilar o ffmpeg e gestor de pacotes de seguida "reclama" que tem uma "nova" versão no repositório :P
E pronto! Já temos a última versão do ffmpeg com x264, aac e amr.
NOTA: O checkinstall criou um pacote deb dentro da pasta ffmpeg. Você pode usar o pacote deb para instalar em outras máquinas. :)
9 comentários:
Olá,
estou tendo o seguinte erro depois q executo o ultimo comando:
**** Instalação falhou. Abortando a criação do pacote.
Restaurando, a partir das cópias de segurança, os arquivos sobrescritos...OK
Limpando.../usr/bin/checkinstall: linha 300: [: número excessivo de argumentos
OK
Tchau.
Vc sabe o pode ser isso?
Aqui funcionou sem problemas...
O erro foi no comando do checkinstall? certo?
O erro apareceu ao instalar o x264 ou o ffmpeg?
Aguardo resposta :)
Um braço
O erro foi no checkinstall do ffmpeg... o do x264 rodou direitinho...
Abraço
Acho que já sei qual a origem do problema...
falta instalar os seguintes pacotes:
libx11-dev libxfixes-dev zlib1g-dev
Aqui na minha máquina não tive problemas porque já tinha esses pacotes instalados. Provavelmente instalei quando compilei o ffmpeg para o Ubuntu 9.04. E como atualizei para o 9.10 os pacotes já estavam instalados.
Já corrigi esse erro no tutorial.
Repita novamente todos os passos.
E em principio o problema estará resolvido.
Um abraço, e obrigado pelo feedback :)
dessa vez quase deu certo... instalei os pacotes que vc disse e instalação foi bem mais longe mas deu esse erro, de novo na instalação do ffmpeg:
make: *** Sem regra para processar o alvo `/home/sergioaugusto/Área', necessário por `version.h'. Pare.
**** Instalação falhou. Abortando a criação do pacote.
Restaurando, a partir das cópias de segurança, os arquivos sobrescritos...OK
Limpando.../usr/bin/checkinstall: linha 300: [: número excessivo de argumentos
OK
Tchau.
A pasta onde estão os arquivos (ffmpeg-install) está na Área de Trabalho.
Crie a pasta ffmpeg-install dentro da pasta do user /home/sergioaugusto.
A pasta "Área de trabalho" costuma ser problemática com scripts porque contém espaços, e um acento.
Outra coisa que pode esta a correr mal é o facto de instalar sempre a última versão.
Como o SVN está sempre em actualização, as vezes pode ocorrer um erro durante a instalação. Aguarde algum tempo (talvez uma ou duas horas depende) para que o pessoal do ffmpeg corrija pequenos erros que está na ultima versão no SVN.
Um abraço
vlw pela ajuda cara... agora o pacote foi criado e instalado direitinho... só que ainda não deu certo... continuo sem áudio nos videos 3gp e mp4...
olá tuxmind, estou com problema no seguinte local:
carlos@carlos-desktop:~/ffmpeg-install/x264$ sudo checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`-0.0ubuntu1" --default
sudo: checkinstall: command not found
carlos@carlos-desktop:~/ffmpeg-install/x264$
a pasta esta em home/carlos/ffmpeg-install
o que fiz errado?
grato pela atenção.
@Carlos Obrigado pela visita :)
Você tem os repositórios universe e multiverse activos?
E o Ubuntu 9.10? Certo?
O checkinstall está no repositório universe. Parece que você não tem este repositório activado. Por isso o checkinstall não foi instalado, e dá esse erro.
Se você tiver o idioma pt-PT
Vá até sistema > administração > Fontes de Aplicações
Em pt-BR:
Sistema > Administração > Canais de Software
Marque todos os repositórios (Canais de software)
Vá até ao console e:
sudo apt-get update
Agora você terá que repetir o tutorial novamente. :)
Postar um comentário