FFMPEG

Receitas Manipulação Áudio e Vídeo

Aqui estão alguns comandos que uso no dia a dia para manipulação de áudio e vídeo. A página principal do projeto FFMPEG tem uma ampla docuentação. Aqui separei usos corriqueiros encontrados na internet em www.linhadecodigo.com.br, https://catswhocode.com e http://www.dicas-l.com.br

Conversão de formatos de vídeo

ffmpeg -i origem.mpg -q:v 0 -q:a 0 destino.avi

Entendendo a sintaxe:
-q:v 0 -q:v 0 preserva video original
-q:a 0 -q:a 0 preserva audio original

Obs: se não usar a diretiva "q:" teremos a saida default que é 64kbps e 200kbps (audio e video)

Extrair imagens de vídeo

ffmpeg -i origem.mpg -r 1 xxx-%3d.jpeg

Entendendo a sintaxe:
-r 1 extrai uma(1) imagem por segundo
-xxx qualquer prefixo
%3d sequencial de tres casas (001, 002...)

Exibir informações/detalhes do vídeo

ffmpeg -i origem.mp4 -hide_banner

Renderizar sem o audio, apenas video

ffmpeg -i origem.mp4 -an videoMudo.mp4

Como recortar uma parte da imagem no vídeo

ffmpeg -i origem.mp4 -filter:v "crop=w:h:x:y" destino.mp4

Entendendo a sintaxe:
-filter:v Indica o uso de um filtro de vídeo
crop Indica o filtro de recorte
w, h, x e y Largura, altura e coordenadas do video resultante

Dividindo um arquivo de vídeo em dois

ffmpeg -i origem.mp4 -t 00:01:00 -c copy parte1.mp4 -ss 00:01:00 -codec copy parte2.mp4

Entendendo a sintaxe:
-t 00:01:00 -c copy copia do inicio até o primeiro minuto , gerando parte1.mp4
-ss 00:01:00 -codec copy copia da posição minuto um até o final, gerando parte2.mp4

-copy faz uma cópia imediata, sem renderizar o vídeo

Unindo vários arquivos de vídeo em um

ffmpeg -f concat -i list.txt -c copy todos.mov

Entendendo a sintaxe:
-f concat junta os arquivos a partir de uma lista
-i list.txt lista dos arquivos que serão concatenados (a lista deve ter um arquivo por linha, salva num arquivo .txt)

Gerar video a partir de imagens

ffmpeg -r 5 -pattern_type glob -i 'origem*.jpg' -c:v libx264 saida.mp4

Entendendo a sintaxe:
-r 5 indica o número de imagens a serem apresentadas por segundo, neste caso, 5
pattern_type glob irá ler todos os arquivos em ordem sequencial
-c:v libx264 especifica o formato

Converter um arquivo avi/wav para Mp3

ffmpeg -i origem.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 saida.mp3

Combinar som e video

ffmpeg -i som.wav -i video.avi saida.mpg