Mostrando postagens com marcador x86_64. Mostrar todas as postagens
Mostrando postagens com marcador x86_64. Mostrar todas as postagens

sábado, 7 de março de 2009

Como compilar o FFMPEG no Fedora

Nesta curta postagem eu coloquei um pequeno tutorial de compilação otimizada do FFMPEG. Nem sempre os binários baixados de repositórios RPM satisfazem nossas espectativas. Por exemplo, a versão do FFMPEG disponível nos repositórios do Fedora não dão suporte ao formato AMR, que é bastante utilizado em aparelhos celulares. Aqui eu deixei um passo a passo para compilar o FFMPEG com suporte amplo a vários formatos de arquivo. Descrição do Passo a passo:

  • 1. Baixaremos o código fonte do FFMPEG via Subversion (SVN);
  • 2. Instalaremos uma lista de repositórios alternativa. A lista padrão não contém os programas "nonfree" necessários;
  • 3. Instalaremos as dependências que vamos precisar (mp3, avi etc);
  • 4. Configuraremos: iremos preparar o ambiente para a compilação;
  • 5. Compilaremos: iremos construir os arquivos objeto que serão instalado em seguida;
  • 6. Instalaremos: iremos colocar os arquivos compilados nos devidos lugares.
  • 7. Testaremos se a instalação funcionou.

Baixando o código fonte via SVN:

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

Instalando uma lista de repositorios alternativa:

Obs1.: caso já tenha instalado os repositórios rpmfusion pule este passo.

rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm

rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Instalando as dependências (necessita de senha root):

yum install gsm-devel faac-devel faad2-devel lame-devel amrnb-devel amrwb-devel libdc1394-devel x264-devel libtheora-devel ffmpeg2theora xvidcore-devel

Condigurando:

./configure --target-os=linux --prefix=/usr --enable-nonfree --enable-gpl --enable-pthreads --enable-libamr-nb --enable-libamr-wb --enable-libdc1394 --enable-libx264 --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libxvid

Obs2.: caso você possua um processado AMD64 você pode otimizar o FFMPEG para essa arquitetura. Basta incluir a opção --arch=x86_64.

Compilando:

make

Instalando:

make install

Testando:

Visualizar as opções do ffmpeg: ffmpeg -f

Visualizar os formatos suportados: ffmpeg -formats

Converter um arquivo de teste: ffmpeg -i entrada -f avi saida.avi

Obs3.: substitua o "entrada" por qualquer vídeo que você queira converter para testar.

Boa sorte!!

Postagens relacionadas:

quinta-feira, 1 de novembro de 2007

Flash Player no Linux AMD64

Muitos usuários de linux e amd64 se queixam de não existir uma versão do flash player para a arquiterura Linux x86-64. A Adobe disponibiliza em seu site apenas três versões do flash para usuários Linux, e todas para x86. Não se sabe as rasões da Adobe não compilar uma versão para processadores 64 bits. Será por motivos mercadológicos para favorecer a Intel, que não teve tanto sucesso com seus processadores 64 bits quanto os da AMD?

Mas indo ao que interessa. É possível, sim, instalar o flash em um computador que roda Linux e usa processador AMD64. E não é difícil. Como sabemos, a linha de processadores 64 da AMD mantém instruções do tipo 32 bits e pode muito bem funcionar em modo 32, como se fosse um x86. Dessa forma o que vai influenciar mais talvez não seja nem o processador, mas sim o sistema operacional. Eu fiz aqui um simples teste que funcionou. E vou repassar o que fiz aqui em meu PC.

A distribuição que estou testando atualmente é o OpenSuSE. O navegador sempre uso é o Firefox. Não gosto do Konqueror. Em relação a hardware, resumidamente grosseiramente, meu PC tem um processador Athlon 64 e 1 GB de memória.

Para instalar o Flash fiz o seguinte:

Baixei o plugin do site da Adobe, AQUI;

Link do site da Adobe: http://www.adobe.com/br/

Descompactei o arquivo baixado usando estas dicas, AQUI;

Comando para descompactar:
tar -vzxf install_flash_player_9_linux.tar.gz

Editei o arquivo "flashplayer-installer";

Na verdade, o que impede o flash de ser instalado é só uma linha de comando shell dentro do arquivo "flashplayer-installer". Esse comando, que é uma estrutura de controle CASE aninhada num SWITCH, faz uma checagem do tipo de arquitetura de processador existente no PC. Se a plataforma não for do tipo x86, ele vai chiar e não vai deixar instalar o flash. Para burlar isso, basta mudar uma linha do arquivo como mostrado embaixo:

# check architecture
TEMPARCH=`uname -m`
case $TEMPARCH in
#i[3456]86) Linha Original. Basta comentar esta linha usando um '#'.
x86_64) # Linha Mudada. Basta adicionar esta linha.
ARCH=i386
;;
*)
exit_cpu $TEMPARCH
;;
esac

E digitei os comandos necessários para instalação;

Como o arquivo script de instalação foi alterado, o flash será instalado sem problemas no computador! Depois a sequencia de passos que usei para instalar foi essa:

  1. Executei o script de instalação em shell: ./flashplayer-installer
  2. Indiquei o caminho da pasta do Firefox:/usr/lib/firefox
  3. Confirmei que queria instalar: y
  4. Respondi que não queria fazer outra instalação: n

Resumindo, basta editar o arquivo de instalação. Ele é a única coisa que impede a instalação do Flash Player em computadores Linux AMD64. Depois que fiz essas coisas o flash funcionou direitinho no Firefox.