Tutorial - FFMPEG - 0 Canivete Suíço Da Manipulação de Vídeos
Tutorial - FFMPEG - 0 Canivete Suíço Da Manipulação de Vídeos
Tutorial - FFMPEG - 0 Canivete Suíço Da Manipulação de Vídeos
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 1/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
É claro que eu uso meus DaVincis Resolves da vida, e para muito vídeo curto eu ainda
uso o venerável Windows Movie Maker, disponível no Internet Archive, mas há muita
coisa que eu acabo automatizando com o FFMPEG. Mas... o que dá pra fazer com ele?
O que é um FFMPEG?
Ele é um software altamente otimizado, com apenas 127MB de tamanho, que
reconhece centenas de CODECS de vídeo, e é capaz de todo tipo de manipulação de
dados, de gerar histogramas a converter entre todos os formatos. Ele faz upscaling,
converte DVDs, muda aspect ratio, faz estabilização de imagens, insere legendas e
incluir/remover watermarks. Ah sim, também dá pra criar gifs e PNGs animados. (sim,
existe PNG animado)
O comando é:
A beleza é que ele faz tudo sozinho, identificando o formato de entrada, e deduzindo o
de saída de acordo com a extensão. Áudio também é tratado de forma transparente.
A principal vantagem aqui é que o FFMPEG tem zero peso morto, não tem GUI em Visual
Basic para rastrear IPs, não tem vários processos rodando em background. No momento
em que você apertar <enter>, ele começa a torar sua CPU, usando todos os núcleos e
threads que conseguir se apossar.
2 – Criando Colorbar
Você sabe, aquele vídeo com padrão de cores e um tom de 1KHz, usado para calibrar
seu sistema, antes do vídeo principal começar. Ninguém precisa abrir o Premiere só para
gerar um vídeo de colorbar, basta usar o comando:
Ele irá gerar um vídeo com resolução de 1920x1080, 30 frames por segundo, com 10
segundos de duração.
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 3/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
3 – Legendando Vídeos
Nós já aprendemos com o Whisper como transcrever e traduzir um áudio para um
arquivo de texto, diretamente no formato .srt usado pela maioria dos programas.
Softwares como o VLC conseguem ler diretamente os arquivos e exibi-los corretamente,
mas seria mais conveniente ter tudo em um arquivo só. Felizmente containers como
MP4 permitem que você tenha legendas incorporadas ao arquivo principal.
Se você quiser forçar as legendas para que elas sejam “queimadas” no vídeo, pode usar
o comando:
1.00
00:00 02:05
Note que essa modalidade é bem mais lenda, pois o vídeo precisa ser reencodado.
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 4/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
Ah sim, você também pode usar o FFMPEG para extrair legendas, caso queira usá-las
como base para uma transcrição, ou para corrigir algo. O comando é:
Alguns vídeos possuem várias legendas disponíveis, como este episódio de Rick and
Morty. Aqui o FFMPEG não pode te ajudar, ele não sabe extrair todas de uma vez. Você
precisa contar a posição, começando do zero. As legendas em português brasileiro são a
16ª da lista, então o comando é...
4 – Extraindo frames
Algumas vezes você precisa de uma seqüência de frames de um vídeo. Pode ser para
criar um gif animado, selecionar uma imagem específica que aparece muito
rapidamente, ou para processamento avançado, como alteração por IA, upscaling ou
restauração.
Aqui temos um problema, a maioria dos formatos de vídeo modernos não trabalha
exatamente com frames, eles comprimem os dados e guardam as alterações entre os
keyframes, b-frames e outros frames que não temos tempo para detalhar. O FFMPEG
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 5/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
pode ser comandado para reconverter isso tudo e extrair a maior quantidade de frames
possível de um vídeo, e é simples.
Primeiro, crie uma subpasta chamada frames, no diretório onde estamos trabalhando.
Feito isso, basta o comando:
a porção out%4d.jpg diz ao FFMPEG para criar arquivos em formato JPEG (.png também
é aceito) no formato outXXXX.jpg, onde XXXX é a numeração do frame, começando em
0000. Vídeos com mais de 10000 frames, é recomendado usar %5d ou mesmo %6d, para
tudo ficar organizado.
Aqui estamos assumindo que a taxa original era de 29.97 quadros por segundo, claro.
Excelente pergunta, gafanhoto. Você pode extrair o áudio do arquivo original com o
comando:
Para reincorporar (ehê!) o áudio ao novo vídeo, durante sua criação, o comando é
6 – Detectando cenas
Existem ferramentas mais complexas e dedicadas, como o PySceneDetect, mas às
vezes você precisa de um método rápido de analisar um vídeo, detectar as cenas
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 6/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
individuais e criar um mosaico com elas, para ter uma visão geral do arquivo como um
todo.
Esvazie o nosso diretório “frames”. Agora no diretório acima, abra a linha de comando
e...
A diferenciação é sempre a parte complicada, cada vídeo tem um fator ideal diferente.
Os valores aqui variam entre 0 e 1, onde 0 significa que a mais ínfima diferença é
suficiente para o frame ser gravado. Valores mais altos fazem com que os frames
precisem ser mais distintos para disparar o processo. 0.6 é um bom valor inicial.
7 – Criando Mosaicos
Obviamente fica muito mais fácil se todas as imagens estão em um único arquivo.
Tecnicamente o FFMPEG não é um processador de imagens estáticas, mas como ele faz
basicamente tudo...
Ele irá ler os arquivos no diretório frames, e montar um mosaico com 5 imagens na
horizontal e 16 na vertical, de nome mosaico.jpg.
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 7/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
Normalmente esses arquivos ficam bem grandes rapidamente, ainda mais se você
estiver mosaicando um vídeo em 4K. Por isso o comando scale permite que a gente
determine a largura das imagens individuais. No caso, eu escolhi 400 pixels. Com 76
frames, isso resultou em um arquivo de 2000 x 3600 pixels:
8 – Adicionando logos
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 8/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
Já dizia o filósofo Abelardo Barbosa: Na internet nada se perde, nada se cria, tudo se
copia. Sites copiando sites, vídeos descaradamente roubados... o mínimo que podemos
fazer é assinar nossos vídeos. E com o FFMPEG isso é bem simples.
1.00
00:00 02:05
No caso o arquivo kennedy.mp4 será convertido para saída.mp4, com adição da logo
watermark.png, dimensionada em 30% (comando scale=iw*0.30) e com opacidade
(aa=0.3) de 30% também.
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 9/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
quiser criar um gif animado, com o FFMPEG é extremamente simples, só lembre-se que
é um formato muito ineficiente, os arquivos ficam gigantescos.
OK, eu trapaceei. O arquivo resultante tinha mais de 4MB, o comando usado cria GIFs
com qualidade máxima. Para obter GIFs com qualidade (e tamanho) bem inferior, use:
O GIF acima foi otimizado via GifSicle, um pequeno utilitário que faz mágica, tipo uma
Fiorino com escada.
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 10/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
Infelizmente o povão adora vídeo vertical, aí fica desesperado movendo o celular pros
lados, tentando enquadrar algo que se encaixaria de forma perfeitamente confortável
em um vídeo horizontal, mas como não tem jeito, muito programa de TV escolheu uma
técnica onde o vídeo vertical é mostrado no centro da tela, e para não ficar com colunas
laterais pretas, exibem uma versão borrada do vídeo nas laterais.
1.00
00:00 00:01
Ele cria um vídeo output_hor.mp4 em proporção 16:9, usando como base o vídeo
vertical.mp4. Simples assim. Eis o resultado:
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 11/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
O site oficial é ffmpeg.org. Na área de downloads, você vai achar executáveis para Linux,
Mac e Windows. Para Windows há dois links principais. Eu sugiro que você vá no do
BtBN, que levará até esta página do GitHub, onde você poderá baixar o arquivo ffmpeg-
master-latest-win64-gpl.zip.
Passo 2:
Passo 3:
Abra o zip, você vai achar as pastas bin e doc. Copie ambas para a pasta c:\FFMPEG.
Passo 4:
Clique na área de pesquisa na barra de tarefas do Windows, digite Powershell. Ele abrirá
uma janela parecida com esta. Clique na opção “Executar como Administrador”.
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 12/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
Passo 5:
Passo 6:
ffmpeg -version
Se tudo der certo você verá uma tela assim e o FFMPEG estará devidamente instalado
em seu sistema.
Conclusão
Nem chegamos a arranhar as possibilidades do FFMPEG, as chances são que se você
conseguir imaginar, ele consegue fazer, em se tratando de vídeo. Uma busca no Google,
leitura da documentação ou até uma leve trapaça, perguntando ao ChatGPT se algo é
possível, e você estará automatizando seus processos quase como mágica.
E sim, o FFMPEG tem integração com quase toda linguagem que você imaginar, mas um
bom e velho bash ou batch já resolvem a maioria das necessidades.
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 13/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
relacionados
comentários
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 14/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
O que você achou?
4 Respostas
4 Comentários
1 Entrar
G Participe da discussão...
Nome
Careca Voador − ⚑
2 horas atrás
Sensacional. Agora faz um com Ghostscript! hahahaha, sacanagem. Valeu, Cardoso, mais
um post incrivelmente útil.
0 0 Responder • Compartilhar ›
Super_Yoda − ⚑
4 horas atrás
https://imagemagick.org/script/index.php
0 0 Responder • Compartilhar ›
F Flavio Viana − ⚑
10 horas atrás
0 0 Responder • Compartilhar ›
Hil D i l Gil ⚑
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 15/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
destaques
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 16/17
11/28/23, 9:22 AM Tutorial: FFMPEG – 0 canivete suíço da manipulação de vídeos - Meio Bit
https://meiobit.com/462885/tutorial-ffmpeg-0-canivete-suico-da-manipulacao-de-videos/ 17/17