Você está na página 1de 7

< https://instagram.

com/coisasdogeek>

< https://twitter.com/coisasdogeek>

Como estabilizar vídeo com o ffmpeg


Como aplicar rapidamente a estabilização de imagens de vídeo usando o
ffmpeg, na linha de comando do Linux.
Agora, qualquer vídeo seu pode ter estabilidade.

By Elias Praciano < https://elias.praciano.com/author/budspencer/>

08/11/2018 < https://elias.praciano.com/2018/11/como-estabilizar-video-


com-o-ffmpeg/>

Estabilização de imagens em vídeo pode ser feita de diversas formas, com


diferentes métodos. Com frequência, é possível combinar os métodos de
estabilização e obter resultados ainda melhores.
O melhor método é aquele feito pelo hardware de filmagem, que compensa as
tremidas ou movimentos involuntários da mão de quem está segurando o
equipamento.

Ainda assim, ele não é 100% perfeito e pode ser complementado com uma
estabilização via software — e é sobre isso que vamos falar neste post.
A estabilização do vídeo pode ser realizada de diversas formas, como afirmei no
começo.
Quando ela é mecânica (física) ou via hardware:

1. O sistema (motor) de estabilização pode ficar embutido no corpo da câmera ou


filmadora. Neste caso, é comumente chamado IBIS (In Body Image
Stabilization, ou estabilização de imagem dentro do “corpo”, em uma tradução
livre) ou, ainda, ICIS (In Camera Image Stabilization).
2. Alguns fabricantes optam por colocar o sistema de estabilização da imagem nas
lentes da câmera. O resultado é o mesmo, mas permite vender câmeras mais
baratas e os usuários compram lentes estabilizadas apenas se necessitarem.
3. Existe também a opção de usar estabilização tanto na câmera quanto na lente.
Os dois sistemas podem trabalhar em conjunto para obter resultados ainda
melhores.

A estabilização por software é muito usada em câmeras mais baratas e em celulares


(onde não há espaço para embutir um sistema de estabilização físico).

Há também métodos externos bastante eficientes para obter filmes com imagens
estáveis e sem tremores indesejados — por exemplo, gimbals, tripés ou apenas
apoiar a câmera sobre uma superfície estável.

Neste post, vamos abordar a técnica de estabilização por software. Embora exista
programas GUI (de interface gráfica) plenamente capazes de fazer “a mágica”,
vamos abordar o procedimento via CLI, com o ffmpeg.

O procedimento é rápido e muito eficiente… mas se você não gosta de digitar


comandos, este artigo não é para você.

A estabilização de imagens em vídeo, via software, é realizada através de um


corte (cropping), o que vai dar em uma perda na qualidade do resultado final.
Claro que você pode fazer uma estabilização leve e ter menos perda.
Se achar que o impacto na qualidade é aceitável, pode optar por uma aplicação
mais pesada do recurso.
A escolha é sua.
Só por curiosidade, o equipamento usado na minha filmagem é uma câmera
Canon T6 (ou 1300D) < https://elias.praciano.com/?s=canon+1300d> , com
uma lente Canon EF-S 55-250mm f/4-5.6 IS STM.

Neste caso, trata-se de uma lente que possui mecanismo de estabilização de


imagem.

O problema é que ao usar o extremo da lente, a estabilização nunca é perfeita. E eu


achei que poderia refinar o resultado, acrescentando estabilização por software.

Como já ficou claro no título, vamos usar os recursos presentes no ffmpeg,


presente na maioria das distribuições Linux e que já tem compilado, dentro de si, a
biblioteca para estabilização de imagens de vídeo, libvidstab.

O processo funciona com um recorte na imagem, que cria margem para os lados
“absorverem” os movimentos mais abruptos.
O zoom é um dos “efeitos colaterais” do uso deste recurso.

Veja um exemplo de um dos quadros do vídeo original, abaixo:

< https://elias.praciano.com/2018/11/como-estabilizar-video-com-o-ffmpeg
/imagem-de-video-nao-estabilizada-com-ffmpeg/>

Veja um exemplo do mesmo quadro do vídeo após a estabilização:

< https://elias.praciano.com/2018/11/como-estabilizar-video-com-o-ffmpeg
/imagem-de-video-estabilizada-com-ffmpeg/>

Percebeu a diferença (e o recorte)? Tenha isso em mente: quanto mais estabilização


você aplicar, via software, maior será o recorte da imagem em vídeo.

A ferramenta de edição e manipulação de vídeos, ffmpeg, possui diversos recursos


para melhorar o seu trabalho.
Para obter estabilização, use a opção ‘-vf’ com o parâmetro ‘vidstabtransform’.

Este método usa a biblioteca de estabilização do ffmpeg, libvidstab. Se a sua


versão não tiver esta biblioteca compilada, vá para o próximo tópico (abaixo),
aonde explico uma outra maneira de fazer o procedimento.
Para obter melhores resultados, contudo, recomendo rodar primeiro a detecção de
estabilização. Com este procedimento, é criado um pequeno arquivo
‘transforms.trf’, no diretório local, em que os parâmetros e as variáveis de trabalho
são registradas.

Veja como eu criei um arquivo transforms.trf em relação ao arquivo de vídeo


‘beija1.mov’ (substitua este nome pelo do seu arquivo, aí):

ffmpeg -i beija1.mov -vf vidstabdetect -f null -

Aguarde o andamento do processo e, em seguida, rode o procedimento de


estabilização:

ffmpeg -i beija1.mov -vf vidstabtransform=smoothing=30:input="transforms.trf" b

Acima, substitua o nome do arquivo final ‘beija1-stab.mov’, pelo que você achar
melhor.
Se não ficar satisfeito com o resultado da estabilização, altere o valor de
‘smoothing=30’ para um número mais alto. Tente 60, 120 etc.

O filtro “deshake” também pode ser usado, como método de estabilização. É bem
fácil!

Veja um exemplo:

ffmpeg -i video-original.mp4 -vf deshake video-estabilizado.mp4


No comando, acima, substitua os nomes “video-original.mp4” e “video-
estabilizado.mp4” pelo que for mais adequado para o seu caso.Eu falei que era
fácil.

Se achar interessante, pressione Ctrl+D para guardar esta página nos seus favoritos,
para uma futura referência sobre o assunto.

O uso do deshake permite realizar o trabalho mais rapidamente e costuma ser o


suficiente para mim.

A biblioteca libvidstab promove uma estabilização mais eficiente, contudo e


costuma ser necessária em casos mais extremos.

Leia mais dicas:

1. Dicas de uso do ffmpeg: https://elias.praciano.com/?s=ffmpeg+vídeo <


https://elias.praciano.com/?s=ffmpeg+vídeo>
2. Dicas de edição de vídeo: https://elias.praciano.com/tag/edicao-de-video/ <
https://elias.praciano.com/tag/edicao-de-video/>
3. Dicas de edição de imagem: https://elias.praciano.com/tag/edicao-de-imagem
< https://elias.praciano.com/tag/edicao-de-imagem>
4. Dicas relacionadas à câmera Canon T6 ou EOS 1300D:
https://elias.praciano.com/tag/canon < https://elias.praciano.com
/tag/canon>

By Elias Praciano
Autor de tecnologia (livre, de preferência), apaixonado por programação e
astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter < https://twitter.com/coisasdogeek> e vamos
trocar ideias!

View Archive → < https://elias.praciano.com/author/budspencer/>


© 2023 Elias Praciano < https://elias.praciano.com/> Up ↑

Você também pode gostar