Pesquisa de site

Como instalar o FFmpeg no Linux


FFmpeg é um dos melhores frameworks multimídia que contém diversas ferramentas para diferentes tarefas. Por exemplo, o ffplay é um reprodutor de mídia portátil que pode ser usado para reproduzir arquivos de áudio/vídeo, o ffmpeg pode converter entre diferentes formatos de arquivo, o ffserver > pode ser usado para transmitir transmissões ao vivo e ffprobe é capaz de analisar fluxo multimídia.

Este framework é realmente poderoso devido à diversidade de ferramentas disponíveis, que proporcionam a melhor solução técnica para o usuário. De acordo com a descrição do FFmpeg no site oficial, a razão de ter um framework multimídia tão bom é a combinação das melhores opções de software livre disponíveis.

O framework FFmpeg oferece alta segurança e a razão para isso é a seriedade dos desenvolvedores na hora de revisar o código, isso sempre é feito pensando na segurança.

Tenho certeza de que você achará esta estrutura muito útil quando quiser fazer streaming ou gravação de áudio e vídeo digital. Há muitas outras coisas práticas que você pode fazer com a ajuda da estrutura FFmpeg, como converter seu arquivo wav em mp3, codificar e decodificar seus vídeos ou até mesmo dimensioná-los.

Segundo o site oficial, o FFmpeg é capaz de fazer o seguinte.

  • decodificar arquivos multimídia
  • codificar arquivos multimídia
  • transcodificar arquivos multimídia
  • arquivos multimídia mux
  • arquivos multimídia demux
  • transmitir arquivos multimídia
  • filtrar arquivos multimídia
  • reproduzir arquivos multimídia

Deixe-me dar um exemplo, muito simples. O comando a seguir converterá seu arquivo mp4 em um arquivo avi, simples assim.

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

O comando acima é útil apenas para explicação, não é recomendado para uso na prática porque o codec, taxa de bits e outras especificações não são declarados.

Na próxima parte, praticaremos com algumas das ferramentas do framework multimídia FFmpeg, mas antes de fazer isso temos que instalá-las em nossa caixa Linux.

Como instalar o FFmpeg Multimedia Framework no Linux

Já os pacotes FFmpeg são oferecidos para as distribuições Linux mais utilizadas e a instalação será relativamente fácil. Vamos começar com a instalação do framework FFmpeg em distribuições baseadas em Ubuntu.

Instale FFmpeg no Ubuntu e Linux Mint

Instalarei o FFmpeg a partir dos repositórios padrão. Abra um novo terminal (CTRL+ALT+T) e execute os seguintes comandos.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Instale o FFmpeg no Debian

O pacote FFmpeg está incluído nos repositórios oficiais do Debian e pode ser instalado usando o gerenciador de pacotes conforme mostrado.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Instale FFmpeg no CentOS e RHEL

Para instalar o FFmpeg nas distribuições CentOS e RHEL, você precisa ativar o EPEL e o RPM Fusion no sistema usando os seguintes comandos.

Para instalar e ativar o EPEL, use o seguinte comando.

yum install epel-release

Para instalar e ativar o RPM Fusion, use o seguinte comando na sua versão de distribuição.

-------------- On CentOS & RHEL 8.x -------------- 
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

-------------- On CentOS & RHEL 7.x -------------- 
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm

-------------- On CentOS & RHEL 6.x --------------
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm

Após habilitar os repositórios, execute o seguinte comando para instalar o FFmpeg:

yum install ffmpeg ffmpeg-devel
ffmpeg -version

Instale o FFmpeg no Fedora

No Fedora, você precisa instalar e ativar o RPM Fusion para instalar o FFmpeg conforme mostrado.

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install ffmpeg ffmpeg-devel
ffmpeg -version

Instale o FFmpeg no Arch Linux

sudo pacman -S ffmpeg
yay -S ffmpeg-git
yay -S ffmpeg-full-git
ffmpeg -version

Instale o FFmpeg no openSUSE

-------------- On openSUSE Tumbleweed --------------
sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/' packman
sudo zypper refresh
sudo zypper install --from packman ffmpeg
ffmpeg -version

-------------- On openSUSE Leap --------------
sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/' packman
sudo zypper refresh
sudo zypper install --from packman ffmpeg
ffmpeg -version

Compilando FFmpeg da fonte

Compilar software a partir de uma fonte não é a coisa mais fácil do mundo, mas com as instruções certas seremos capazes de fazê-lo. Primeiro, certifique-se de que seu sistema atenda a todas as dependências. A instalação dessas dependências pode ser feita com o auxílio dos seguintes comandos.

Primeiro, diga ao sistema para baixar os pacotes mais recentes.

sudo apt-get update

Instale as dependências com o seguinte comando.

-------------- On Debian & Ubuntu --------------
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev \
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev \
libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev
-------------- On CentOS and RHEL --------------
yum install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig SDL-devel \
a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel freetype-devel giflib gsm gsm-devel \
imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel libXau-devel libXdmcp-devel \
libXext-devel libXrandr-devel libXrender-devel libXt-devel libogg libvorbis vorbis-tools mesa-libGL-devel \
mesa-libGLU-devel xorg-x11-proto-devel zlib-devel libtheora theora-tools ncurses-devel libdc1394 libdc1394-devel \
amrnb-devel amrwb-devel opencore-amr-devel

Em seguida, use o seguinte comando para criar um novo diretório para as fontes do FFmpeg. Este é o diretório onde os arquivos de origem serão baixados.

mkdir ~/ffmpeg_sources

Agora compile e instale o assembler yasm usado pelo FFmpeg executando os seguintes comandos.

cd ~/ffmpeg_sources
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
make distclean
export "PATH=$PATH:$HOME/bin"

Depois de instalar com sucesso o montador yasm, é hora de instalar vários codificadores que serão usados com as ferramentas específicas do FFmpeg. Use os comandos a seguir para instalar o codificador de vídeo H.264.

cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
make distclean

Outro codificador útil e interessante é o codificador de áudio libfdk-aac AAC.

cd ~/ffmpeg_sources
wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master
unzip fdk-aac.zip
cd mstorsjo-fdk-aac*
autoreconf -fiv
$./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean

Instale o decodificador e codificador de áudio libopus.

cd ~/ffmpeg_sources
wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz
tar xzvf opus-1.1.tar.gz
cd opus-1.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean

Agora é hora de instalar o ffmpeg da fonte.

cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" \
   --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl \
   --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus \
   --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
make
make install
make distclean
hash -r

Nota: Se você não instalou determinados codificadores, certifique-se de remover '–enable-encoder_name' do ' acima. /configure' para que a instalação seja feita sem problemas.

Existem muitos codificadores que você pode instalar, mas para o propósito deste artigo não irei instalar todos eles, mas você pode instalá-los usando os seguintes guias oficiais.

  1. Guia de compilação FFmpeg para Ubuntu
  2. Guia de compilação FFmpeg para CentOS

Conclusão

Nesta primeira parte atualizamos nossos leitores com as últimas novidades do framework multimídia FFmpeg e mostramos como instalá-lo em suas máquinas Linux. A próxima parte será totalmente sobre aprender como usar as ferramentas incríveis desta estrutura multimídia líder.

Atualização: a Parte 2 desta série FFmpeg foi publicada, mostrando alguns usos úteis da linha de comando do ffmpeg para executar vários áudio, vídeo e procedimentos de conversão de imagem: 15 comandos 'FFmpeg' úteis para conversão de vídeo, áudio e imagem no Linux.