Filtros e Pipeline no FFmpeg
Os filtros transformam o FFmpeg de conversor em ferramenta de processamento. Você encadeia filtros em pipeline para criar transformações complexas num único comando.
A flag -vf (Video Filter)
# Filtro únicoffmpeg -i input.mp4 -vf filtro output.mp4
# Múltiplos filtros separados por vírgula (ordem importa)ffmpeg -i input.mp4 -vf "filtro1,filtro2,filtro3" output.mp4Filtros essenciais
scale: Redimensionar
# Para 1920x1080:ffmpeg -i input.mp4 -vf "scale=1920:1080" output.mp4
# Mantendo aspect ratio, largura de 1280:ffmpeg -i input.mp4 -vf "scale=1280:-1" output.mp4
# Forçando dimensões pares (necessário para H.264):ffmpeg -i input.mp4 -vf "scale=1280:-2" output.mp4
# 50% do tamanho original:ffmpeg -i input.mp4 -vf "scale=iw*0.5:ih*0.5" output.mp4crop: Recortar
ffmpeg -i input.mp4 -vf "crop=1080:1080:420:0" square.mp4
# Crop central automático para formato quadrado:ffmpeg -i input.mp4 -vf "crop=ih:ih" output.mp4fps: Mudar frame rate
ffmpeg -i input.mp4 -vf "fps=24" output.mp4setpts: Velocidade (slow/fast motion)
# Metade da velocidade (2x slow motion):ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" output.mp4
# Dobro da velocidade:ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4pad: Adicionar bordas (letterbox)
ffmpeg -i input.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:-1:-1:color=black" output.mp4hflip / vflip: Espelhar
ffmpeg -i input.mp4 -vf "hflip" output.mp4 # horizontalffmpeg -i input.mp4 -vf "vflip" output.mp4 # verticaloverlay: Sobrepor imagem
# Marca d'água no canto inferior direitoffmpeg -i video.mp4 -i watermark.png -filter_complex "overlay=W-w-10:H-h-10" output.mp4Filter Complex: múltiplas entradas
# Une dois vídeos lado a ladoffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "hstack" side_by_side.mp4
# Empilha verticalmenteffmpeg -i top.mp4 -i bottom.mp4 -filter_complex "vstack" stacked.mp4
# Coloca video2 sobre video1 no canto superior direito:ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[1:v]scale=320:180[small];[0:v][small]overlay=main_w-overlay_w-10:10" output.mp4Gerar thumbnail de um vídeo
# Thumbnail no frame 00:00:05:ffmpeg -i video.mp4 -ss 00:00:05 -vframes 1 thumbnail.jpg
# Grid de thumbnails (4x4):ffmpeg -i video.mp4 -vf "fps=1/10,tile=4x4" thumbnails.jpgExtrair e adicionar áudio
# Extrair áudioffmpeg -i video.mp4 -vn -c:a pcm_s16le audio.wav
# Adicionar áudio a vídeoffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -shortest output.mp4Tip
A ordem dos filtros importa: scale antes de crop, que antes de fps. Processar com resolução maior e depois recortar dá resultado melhor que recortar e depois escalar.