FFmpeg é um excelente framework, de código aberto, completo que lida com arquivos de áudio e vídeo. Em outras palavras, é possível converter um formato multimídia para outro, extrair áudio de um vídeo, compactar um vídeo e até mesmo extrair imagens de um vídeo; e diversas outras coisas… É escrito, principalmente, na linguagem de programação C; juntamente com diversas bibliotecas livres. Sendo assim, resolvi criar um guia prático com exemplos que mostram o poder dessa ferramenta!
FFmpeg
Como dito, o FFmpeg é um framework open source multiplataforma que oferece uma das melhores estruturas para manipulação de dados multimídia (áudio/vídeo) existentes. Pois, ele contém várias ferramentas disponíveis para diferentes tarefas. Por exemplo:
– ffplay – um reprodutor de mídia leve que pode ser usado para reproduzir arquivos de áudio/vídeo;
– ffmpeg – um conversor para diferentes formatos de arquivo áudio/vídeo;
– ffserver – pode ser usado para transmitir streaming ao vivo;
– ffprobe – é capaz de analisar stream multimídia.
Assim, com suporte ao Linux, Mac OS X, Microsoft Windows, BSDs, Solaris; o FFmpeg é um framework multimédia capaz de decodificar, codificar, transcodificar, mux, demux, transmitir, filtrar e mais…. Inclusive, ele suporta os formatos áudio/vídeo mais diversos possíveis.
De acordo com a descrição do site oficial, a razão para ter um framework multimídia tão completo é a combinação das melhores opções de software livre disponíveis.
Instalação
Ubuntu
Debian
Debian Jessie
Adicione ao final do arquivo /etc/apt/source.list:
Execute, como root (observe os dois comandos update):
Fedora
DNF – saiba mais sobre o novo gerenciador de pacotes do Fedora
OpenSuse
OpenSuse
Primeiro é preciso configurar o repositório Pacman, conforme sua versão:
“VERSION-URL” – Tumbleweed http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/
“VERSION-URL” – Leap 42.2 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.2/
“VERSION-URL” – Leap 42.1 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.1/
“VERSION-URL” – 13.2 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_13.2/
Depois, instale:
Conversão de áudio e vídeo usando o FFmpeg
1 – Obter informações avançadas de um vídeo
Para fazer isso, a ferramenta ffprobe deve ser usada. De acordo com a documentação oficial, esta ferramenta reúne informações de streams multimídia e exibe-os de forma legível por um humano (claro, que entenda o assunto):
2 – Obter informações sobre o arquivo multimídia
Para obter informações sobre um arquivo (por exemplo, video.mp4), execute o seguinte comando:
3 – Extrair o áudio de vídeo MP4
Esse recurso permite salvar o arquivo de áudio de um vídeo MP4:
Onde,
“-i” – significa a inserção do arquivo de entrada;
“-vn” – significa que não inclui o vídeo na saída;
“-ab” – usado para salvar o áudio em 128Kbps – pode ser 256kbps;
8 distribuições Linux destinadas para artistas, músicos e designers
4 – Alterar dimensões do vídeo
Nesse exemplo, um vídeo com dimensões 1920×1080 será convertido para um com dimensões de 640×480:
5 – Extrair uma imagem específica de um vídeo (Thumbnail)
É possível extrair imagem específica de determinado trecho do vídeo:
Onde,
“-i” – – significa a inserção do arquivo de entrada;
“-ss” – tempo em segundos depois do início do vídeo;
“-vframes” – informa a quantidade de frames a serem extraídos. Nesse caso, 1 frame (quadro);
6 – Adicionar imagem de poster para um arquivo de áudio
Muito útil para fazer upload para sites/serviços de streaming de áudio que oferecem esse tipo de recurso:
7 – Exportar várias imagens do vídeo
A saída vai ficar assim: imagem01.jpg, imagem02.jpg, imagem03.jpg e assim por diante 😉
8 – Converter várias imagens em um vídeo
Dado um diretório repleto de imagens, com um padrão no nome do arquivo (imagem01.jpg, imagem02.jpg,…), é possível criar um vídeo a partir delas:
Alguns exemplos de que o comando dd pode ser considerado umas das ferramentas mais versáteis do Linux
9 – Cortar um vídeo em pedaços menores
Dado um vídeo, é possível criar “miniaturas” dele e gerar um novo vídeo:
Onde,
“-i” – – significa a inserção do arquivo de entrada;
“-ss” – tempo em segundos depois do início do vídeo;
“-t” – duração do vídeo. Nesse caso, 40s;
10 – “Misturar” com um áudio com um vídeo
11 – Verificar qualidade do áudio e vídeo
Para verificar a qualidade técnica do vídeo, use a ferramenta ffplay:
Um player “simples” de vídeo será iniciado e informações do vídeo serão mostradas no terminal, simultaneamente!
Para verificar a qualidade técnica do áudio:
12 – Adicionar legenda a um vídeo
Caso possua o arquivo “legenda.srt” de legenda, use o seguinte comando para adicioná-la ao vídeo:
13 – Cortar aúdio
20 comandos Linux que você talvez não conheça
6 ferramentas para conversão de vídeos no Linux
14 – Converter vídeo MP4 para AVI
Ou vice-versa:
15 – Converter um vídeo para outro formato
Para conhecer os formatos suportados pelo ffmpeg, execute:
Depois, prossiga para a conversão. Seguem alguns exemplos:
MP4/WMV
FLV/MPG
AVI/MPEG
16 – Unir arquivos de vídeo
Onde,
“lista.txt” é o arquivo que contém o caminho de todos os vídeos:
17 – Remover áudio de vídeo
É possível remover o áudio de um vídeo e deixá-lo “mudo”:
Tem algum comando para converter todos os arquivos de uma pasta?