Assisto a muitos esportes e recentemente fiquei fascinado com algumas das metodologias que eles usam para ilustrar eventos dentro do jogo. É claro que não tenho o software ou hardware de TV avançado deles, mas adoro o ffmpeg, que me permite fazer tudo, desde vídeos de clipes para mudar formatos de vídeo, crie vídeos de destaque de mau gosto com música emo techno combinar áudio e vídeoe muito mais.


Uma das minhas técnicas favoritas de ilustração de esportes na TV é acelerar o vídeo (lapso de tempo) ou diminuí-lo muito (reprodução em câmera lenta); naturalmente, eu queria saber como manipular a velocidade do vídeo com o ffmpeg. Acontece que tudo o que o senhor precisa fazer é passar um filtro com um PTS (registro de data e hora da apresentação) valor:


Velocidade de vídeo mais rápida

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4


Velocidade de vídeo mais lenta

ffmpeg -i input.mp4 -filter:v "setpts=2*PTS" output.mp4


Quanto mais baixo o PTS mais rápido o vídeo de lapso de tempo é gerado. Se o senhor usar um valor maior, o vídeo será exibido em movimento mais lento.


Ajuste de vídeo e áudio


Se o senhor quiser sincronizar a velocidade do áudio com a velocidade do vídeo, as coisas ficam um pouco mais complicadas:


ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4


Mais confuso é o fato de que o atempo parece exigir lógica reversa para que o setpts ou seja, dobrar a velocidade parece exigir um múltiplo diferente.


Recentemente, usei essa técnica de câmera lenta em um vídeo de destaques baixado do YouTube para tirar minhas próprias conclusões sobre uma jogada específica. A capacidade de manipular vídeos com tanta facilidade, sem uma interface de usuário, também facilita a automação da mídia, especialmente quando se combina essa técnica com recorte de vídeo — o senhor obtém apenas os quadros que deseja na velocidade que deseja. ffmpeg FTW!

  • Filtros CSS

    O suporte a filtros CSS foi lançado recentemente nos nightlies do WebKit. Filtros CSS fornecem um método para modificar a renderização de um elemento DOM básico, imagem ou vídeo. Os filtros CSS permitem desfocar, distorcer e modificar a intensidade da cor dos elementos. Vamos lá…

  • 7 funções essenciais do JavaScript

    Lembro-me dos primeiros dias do JavaScript, quando era preciso uma função simples para quase tudo, porque os fornecedores de navegadores implementavam recursos de forma diferente, e não apenas recursos de ponta, mas também recursos básicos, como addEventListener e attachEvent. Os tempos mudaram, mas ainda existem algumas funções que todo desenvolvedor deve…