Categorias
Linux Tutoriais Video

Como fazer vídeos em câmera lenta com o ffmpeg

Use o aplicativo de linha de comando ffmpeg para converter a taxa de quadros dos seus vídeos.
Veja como acelerar ou desacelerar a reprodução de vídeo e áudio de arquivos multimídia.

Vídeos em câmera lenta vão funcionar melhor se você planejar antes.

Alguns ajustes prévios podem ajudar a melhorar a qualidade do resultado final.

Se possível, faça vídeos a 240 fps (frames per second ou quadros por segundo), se tiver a intenção de converter o conteúdo para slow motion (ou, simplesmente, slomo).

Qualquer coisa acima de 60 fps, já permite obter resultados bem suaves. Abaixo deste valor, as limitações irão começar a aparecer.

Muita gente gosta de gravar seus vídeos a 24 fps — o padrão do cinema. Eu também gosto. Mas aí é que entra o planejamento — se você tem a intenção de fazer uma cena em slomo, suba esta taxa para pelo menos 60 fps — pode ser só a parte que vai ser em câmera lenta.

Os comandos ffmpeg para fazer slow motion

O comando é super simples, copie o conteúdo da linha abaixo e substitua “video-de-entrada” e “video-de-saida” pelos nomes mais adequados para você:

ffmpeg -i video-de-entrada -filter:v "setpts=X*PTS" video-de-saida

O que você deve fazer:

  • video-de-entrada é o nome completo do original. Não esqueça da extensão mp4, mov, mkv etc.
  • setpts=X*PTS — aqui, substitua o “X” pela velocidade desejada. Se quiser que fique 2X mais lento, use “2”. Se quiser que fique apenas 1.5X mais lento, use “1.5”. Ou use o valor 2.5, se quiser converter um vídeo de 60fps para 24fps slomo.
  • video-de-saida é o nome do vídeo final, em câmera lenta.

Outras formas de usar o ffmpeg

Se quiser fazer o contrário, ou seja, aumentar a velocidade do vídeo, use valores menores que 1 para X.

Se quiser que o vídeo corra no dobro da velocidade, use 0.5.

Se achar que o som ficou horrível (eu sempre acho…) remova-o, com a opção -an:

ffmpeg -i video-de-entrada -filter:v "setpts=X*PTS" -an video-de-saida

Se você quiser sincronizar o som ao vídeo em câmera lenta, há duas formas. Veja a que fica melhor para você:

ffmpeg -i video-de-entrada -filter:v "setpts=X*PTS" -filter:a "asetpts=X*PTS" video-de-saida

A segunda forma usa o tempo — que tem limites: os valores não podem ser menores que 0.5 e nem maiores que 2.0:

ffmpeg -i video-de-entrada -filter:v "setpts=X*PTS" -filter:a "atempo=X" video-de-saida

Links úteis

https://cloudacm.com/?p=3055

https://write.corbpie.com/speed-up-and-slow-down-video-with-ffmpeg/

https://ffmpeg.org/ffmpeg-all.html#setpts_002c-asetpts

Por 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 e vamos trocar ideias!

2 respostas em “Como fazer vídeos em câmera lenta com o ffmpeg”

Elias, tudo bem, cara é o seguinte eu tenho uma câmera IM3 da intelbras, ela funciona por WiFi é uma câmera interna. a minha ideia é em um dos meus servidores ou até mesmo um VPS da vida eu baixar os vídeos diários desta câmera. eu consegui um comando que vem funcionando mas que ainda faltam ajustes, Com qualidade Full HD e baixo consumo de banda, quero também fazer um script em Shell para que ele grave 24Hs caso o comando caia, o script monitore e suba novamente a gravação.

Segue o Comando que estou usando…

ffmpeg -v trace -rtsp_transport tcp -i “rtsp://admin:SENHA@MEU_IP:554/cam/realmonitor?channel=1&subtype=0” -t 120 -vcodec copy -acodec copy -y teste.mp4

O “-t 120” equivale aos segundos

Deixe uma resposta para Daniel Gusmão Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.