ffmeg para reduzir tamanho de vídeos

Eventualmente podemos fazer um vídeo screencast utilizando algum aplicativo no computador para destacar ou demonstrar algo diretamente do que se vê na tela. Através do sistema operacional Mac OS, podemos utilizar o aplicativo QuickTime Player, que permite capturar o que se faz na tela gerando um vídeo como resultado. Porém, o que fazer se o tamanho do vídeo com o formato original ficar muito grande?

Vou exemplificar como reduzir o tamanho final do arquivo usando a biblioteca open-source ffmpeg gerando um vídeo de menor tamanho.

QuickTime Player

O QuickTime X é a tecnologia de mídia de próxima geração que turbina a sua experiência de áudio e vídeo no Mac OS X v10.6 ou posterior. O QuickTime Player traz uma interface mais simples e ordenada. Sem contar um reprodutor de mídia mais eficiente, streaming HTTP e cores mais vivas e precisas. [fonte]

Através desse software, que já vem pré instalado no Mac OS, podemos gravar o que se está fazendo na tela do notebook e gerar um vídeo como resultado. Esse processo também pode ser feito com um dispositivo iOS (iPhone ou iPad).

Iniciando gravação de tela com QuickTime Player
Configurando o perfil de gravação

Basta iniciar o QuickTime Player e selecionar New Screen Recording, configurar opcionalmente as opções extras e apertar o Record (botão em vermelho). A gravação então será iniciada considerando a tela atual em exibição fullscreen. Ao final do processo basta clicar em um ícone que será exibido na barra principal com uma opção de Stop Recording.

Um vídeo será apresentado com opção para salvar em disco. Neste instante o arquivo usa o formato padrão do MAC (.mov) e o tamanho do arquivo normalmente não utiliza compactação de dados, tornando o mesmo muito grande. No meu exemplo, capturei 19 minutos de gravação, em uma resolução de 2560 × 1600. O vídeo ficou com tamanho de 632 MB.

FFMPEG

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and playpretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. [fonte]

Essa biblioteca possui diversos recursos usando os comandos de bash (comandos no terminal de digitação) e pode ser extremamente útil no dia a dia se você tiver paciência de estudar sua forma de uso.

Vou explicar apenas a linha de comando que usei com a biblioteca ffmpeg para converter o vídeo original de 632.4 MB para o tamanho menor com 82 MB, mantendo a qualidade aceitável.
arquivo original vs convertido
ffmpeg -i parte4.mov -vcodec libx264 -crf 20 parte4-convertido.mp4

onde:

  • ffmpeg é o nome do programa open-source (aplicativo)
  • -i indica o nome do arquivo de entrada (input)
  • -vcodec força usar codec do vídeo
  • -crf conjunto de parâmetros extras conforme a documentação (ffmpeg help para mais informações)

O resultado será um processamento de conversão que pode demorar conforme a capacidade do seu computador. A versão do ffmpeg usada na data deste artigo foi:

ffmpeg version 2.6.3 Copyright (c) 2000–2015 the FFmpeg developers

em resumo

Conhecer e utilizar alguns dos aplicativos nativos do sistema operacional Mac OS ou afins, nos permite estender as possibilidades diárias melhorando nossa produtividade. Utilizar as bibliotecas e aplicativos de terceiros, seja open-source ou pagos, estendem ainda mais a produtividade e complementam as nossas necessidades e demandas. Para isso existem os aplicativos, para isso usamos software.