GUIAS
June 3, 2023

Aprenda a otimizar coleção de vídeos para Smartphone e Stream com o VIDQA

Reflita se você já passou por algumas dessas situações:
A) Você já fez download de uma coleção de vídeos em múltiplas pastas e ao tentar assistir no smartphone apareceu a mensagem de que "o vídeo não pôde ser reproduzido neste dispositivo"?

B) Ou ao tentar enviar para o telegram ou google drive para assistir online depois, notou que o vídeo não é "assistível online" (stream), mas a mídia enviada se comporta como um arquivo que só pode ser baixado?

C) Ou ao tentar assistir pelo smartphone, a imagem apresentou travamentos?

No caso A, o problema está no vídeo ter sido convertido com um codec ou para um container ou com um profile que seu smartphone não é capaz de reproduzir.

No caso B, o problema está no vídeo ter sido convertido com um codec que o telegram ou google não é capaz de streamar. Stream neste sentido representa o ato de reproduzir o vídeo imediatamente após tentar, sem necessitar fazer download dele inteiro antes.

No caso C, o problema está no vídeo ter sido convertido com um codec cuja leitura necessita de uma capacidade de processamento que seu smartphone não é capaz de acompanhar. Caso comum em codec h265.

Se você nunca passou por isso, é bem possível que tenha visto alguém reclamar sobre alguma dessas dores.

O que fazer para resolver isso?

Cada situação exige uma investigação que pode levar a uma conclusão diferente. Mas o objetivo aqui é explorar a hipótese de converter os vídeos.

A pessoa que tem interesse de converter os vídeos para tornar, por exemplo, compatível com o stream do telegram, busca converter para codec de vídeo h264 e de áudio aac.

Por que não converter com o Handbrake?

Uma alternativa popular é o handbrake, com interface gráfica que se utiliza do eficiente software de linha de comando ffmpeg por trás do visual. Apesar dele ser de uso intuitivo e fácil, há ressalvas que sustentam a conclusão de que ele não é a melhor escolha para coleções de vídeos.

Em primeiro lugar, é possível que nem todos os vídeos de uma coleção necessitem de conversão absoluta (reencode de vídeo e áudio). Para simplificar, existem 3 principais atividades de mudança de um arquivo de vídeo que costuma estar debaixo do termo guarda-chuva "conversão".

  • A mudança exclusiva de container, observada pela extensão do arquivo, exemplificada pela mudança de um arquivo mkv para mp4. Velocidade de conversão de 80x.
  • A mudança exclusiva do codec de áudio, exemplificada pela mudança do codec opus (usado pelo youtube) para aac. Velocidade de conversão de 8x..
  • A mudança integral do codec de vídeo e áudio para o container adequado, exemplificada pela conversão de um vídeo mkv/vp9/opus para mp4/h264/aac. Velocidade de conversão de 3x.

Esses 3 principais tipos de mudanças foram descritos em ordem crescente de tempo necessário para conversão. O valor de velocidade estimado tem valor comparativo, não absoluto. Este valor simboliza quantas vezes a conversão será mais rápida que a duração da mídia. Assim, um vídeo de 8 minutos que necessita de mudança exclusiva de codec de áudio se tiver o processo executado em velocidade 8x, seria convertido em 1 minuto (8 min/8 x).

Tá, mas por que escreveu tudo isso?
Porque com uso do Handbrake, você não saberá exatamente qual o tipo de conversão que cada vídeo precisa e acabará fazendo uma conversão integral de TODOS os vídeos, numa velocidade baixíssima, quando talvez a maioria de seus vídeos necessitasse de uma mudança apenas de container que seria até 30 vezes mais rápida.

VIDQA - A solução que te poupa tempo

Similar a abordagem do handbrake se utilizar do software ffmpeg baixo do visual, para tornar o uso mais fácil e intuitivo, o VIDQA também se utiliza do mesmo ffmpeg mas com um objetivo diferente.

O objetivo do VIDQA é tornar o processo de otimização de grandes coleções de vídeos mais rápido e exigindo menos esforço e atenção do usuário.

Não há interface gráfica, mas é um software de linha de comando.

Ele analisa o tipo de conversão que cada vídeo da sua coleção necessita (só container, só codec de áudio, só codec de vídeo ou integral) e aplica as conversões, substituindo os arquivos originais e preservando a estrutura original das pastas.

A preservação da estrutura original das pastas é um detalhe muito importante, como em coleções de cursos em vídeo, em que pode haver uma dúzia de pastas representando os módulos. Onde dentro da pasta de cada módulo pode haver meia dúzia de pastas de aulas. E dentro dessas pastas existirem diversos arquivos de vídeo.

Imagine como seria demorado aplicar conversão individual para cada vídeo desse com o handbrake e substituir os vídeos convertidos na sua pasta de origem... Dependendo do tamanho da coleção, seria uma atividade manual que duraria horas ou dias de atenção e esforço.

Se você possui uma pasta com 15 cursos, basta abrir um terminal dentro desta pasta e digitar o comando:

  • $ vidqa -i {pasta_da_colecao} -m batch

Magicamente será gerado um relatório de metadados para cada pasta de curso, permitindo a análise de qual o tipo de conversão enxuta seria mais adequado. Em seguida os vídeos serão convertidos e substituídos para o local onde estavam os vídeos originais. Será só uma questão de esperar tudo terminar, para as mesmas 15 pastas dos cursos se transformarem para o padrão mp4/h264/aac, compatível com telegram, com vídeos compatíveis com celulares antigos e mantendo uma ótima qualidade de imagem.

Este não é um tutorial detalhado de instalação, uso e configuração, mas da utilidade da ferramenta e os dilemas que ela busca solucionar.

Apesar disso, segue um resumo do processo de instalação, uso e configuração usando um PC:

  • Instale um interpretador python na sua máquina
  • Abra um terminal numa pasta onde você deseja que seja salvo os relatórios de análise da conversão
  • Instale via terminal com os comando: $ pip install vidqa
  • Execute o vidqa pelo modo iterativo simplesmente digitando no terminal o comando: vidqa. Assim será aberto um chatbot fazendo perguntas e te guiando no uso.
  • Se preferir, execute comandos específicos de conversão: $ vidqa -i {pasta_da_colecao} -m unique
  • Ver configuração atual: $ vidqa flags
  • Ajuste de qualidade na conversão:
    • $ vidqa flags --crf 23 (o padrão tá 18, quanto maior, mais rápido e pior a qualidade... CRF em 23 é considerado normal)
    • $ vidqa flags --maxrate 2 (padrão 2 MiB, para não dá lag em conexão lenta ao assistir por stream. Se for aumentar, o lag será culpa sua hehe)
  • Definir pasta padrão para arquivos temporários: $ vidqa flags -fd "c://my_temp_folder"
  • Ativar uso da pasta padrão: $ vidqa flags -dd 1

E num celular, dá para usar o VIDQA?
Sei lá, não tentei. Experimenta aí e me fala. hehe

Eu tenho dificuldade de instalar. Onde posso pedir ajuda?

Existem grupos de pessoas no telegram que usam essa ferramenta e costumam se ajudar. Aparece lá e busca ajuda.

Referências

Leituras recomendadas