Como instalar o FFMPEG no Linux

Como instalar o FFMPEG no Linux

O FFMPEG é muito importante se você pretende rodar uma site com streaming de vídeos onde seja necessário conversão dos arquivos de vídeo em diferentes formatos. Este tutorial é direcionado para as versões CentOS/Redhat do Linux onde qualquer iniciante possa instalar o ffmpeg sem precisar compilar da fonte, que é a maneira mais tradicional de instalar este software em servidores Linux. Neste tutorial eu irei mostrar uma maneira fácil de de instalar o ffmpeg somente com o yum, sem precisar compilá-lo à partir dos arquivos fonte.

 

Instalando o FFMPEG
Acessando através do SSH, ou por linha de comando, digite:

yum install ffmpeg ffmpeg-devel

Se aparecer a mensagem package not found, então você precisará adicionar algumas linhas no repositório do yum para instalação de pacotes dag. Crie um arquivo chamado dag.repo em /etc/yum.repos.d com o seguinte texto:

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1

e então:

yum install ffmpeg ffmpeg-devel

Se tudo ocorrer bem, então a instalação deverá ocorrer sem problemas. Se não, você receberá algum erro ou aviso do tipo “GPG public key missing”.

Erros comuns
Para arrumar o aviso da GPG key rpmforge:

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Erro de “Missing Dependency”

Se você obter erros como os descritos abaixo, no meio da instalação do FFMPEG:

Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package ffmpeg
Error: Missing Dependency: libtheora.so.0(libtheora.so.1.0) is needed by package ffmpeg
Error: Missing Dependency: rtld(GNU_HASH) is needed by package ffmpeg
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package imlib2
Error: Missing Dependency: rtld(GNU_HASH) is needed by package a52dec
Error: Missing Dependency: rtld(GNU_HASH) is needed by package imlib2
Error: Missing Dependency: rtld(GNU_HASH) is needed by package gsm
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package x264
Error: Missing Dependency: rtld(GNU_HASH) is needed by package xvidcore
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package lame
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package a52dec
Error: Missing Dependency: rtld(GNU_HASH) is needed by package faad2
Error: Missing Dependency: rtld(GNU_HASH) is needed by package x264
Error: Missing Dependency: rtld(GNU_HASH) is needed by package lame
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package xvidcore
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package faac
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package faad2
Error: Missing Dependency: libgif.so.4 is needed by package imlib2
Error: Missing Dependency: rtld(GNU_HASH) is needed by package faac
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package gsm
Error: Missing Dependency: libpng12.so.0(PNG12_0) is needed by package imlib2
Error: Missing Dependency: rtld(GNU_HASH) is needed by package libmp4v2
Error: Missing Dependency: libc.so.6(GLIBC_2.4) is needed by package libmp4v2

então o mais provável é que você tem o GLIB 2.3 instalado ao invés do GLIB 2.4. Para verificar a versão do GLIB instalada em seu servidor, digite:

yum list glib*

e deverá ser mostrada a última versão do GLIB disponível. A razão de eu obter esse erro é que os pacotes rpmforge estavam apontando para as versões do CentOS 5.x ao invés do CentOS 4.6.

Para arrumar erros de dependência
Para arrumar este erro, você deve verificar seus pacotes rpmforge compatíveis com a distribuição do seu CentOS. Verifique o arquivo /etc/yum.repos.d/rpmforge.repo e deve parecer como CentOS 4.6 (Final). Se você tem linhas como http://apt.sw.be/redhat/el5/en/mirrors-rpmforge você precisa fazer modificações no rpmforge.repos como mostrado abaixo:

Nota: Faça backup do rpmforge.repo original antes de editar seu conteúdo.

[rpmforge]
name = Red Hat Enterprise $releasever – RPMforge.net – dag
#baseurl = http://apt.sw.be/redhat/el4/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el4/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

Para saber qual tipo e versão de Linux você está usando
cat /etc/redhat-release

Feito isso, digite:

yum install ffmpeg

Este truquezinho resolveu o problema em que o ffmpeg foi instalado em sistemas Linux CentOS versão 4.6.

Para verificar se o FFMPEG está funcionando
> ffmpeg
> ffmpeg -formats
> ffmpeg –help
// Irá listar o caminho do mpeg, seus módulos e outras informações

ffmpeg -i Input.file Output.file

Para verificar quais formatos de áudio/vídeo são suportados
ffmpeg -formats > ffmpeg-format.txt

Abra o arquivo ffmpeg-formats.txt para ver a saída

D significa decode (decodificar)
E significa encode (codificar)
V significa video
A significa audio
T = Truncado

Leave a Reply

Your email address will not be published.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Abrir chat
💬 Posso Ajudar?