Por que os vídeos acabam de lado
O celular decide a orientação pelo sensor de movimento no momento em que você aperta o botão de gravar. Várias situações do dia a dia o confundem:
- Começar a gravar com o celular deitado na mesa ou apontado para baixo, quando o sensor não consegue saber qual borda está para cima.
- Bloqueio de rotação ativado enquanto você vira o celular para a horizontal.
- Virar o celular no meio de um clipe. A orientação é definida no início e não acompanha o giro.
- Câmeras de ação, dashcams e drones montados de cabeça para baixo.
A maioria dos celulares não gira os pixels de fato. Eles guardam a imagem como o sensor a viu e acrescentam ao arquivo um pequeno sinalizador de rotação que diz aos players como exibi-la. Players que respeitam o sinalizador mostram o clipe corretamente; alguns editores, TVs antigas, players web e sistemas de upload o ignoram, então o mesmo arquivo fica certo no celular e de lado em todos os outros lugares.
Como a rotação é aplicada
Esta ferramenta gira os pixels de verdade e gera um novo MP4 que não precisa de sinalizador nenhum.
- O FFmpeg lê o vídeo e aplica qualquer sinalizador de rotação que já esteja no arquivo, então o ponto de partida é o clipe como ele aparece num player normal.
- A rotação escolhida é aplicada por cima: 90° gira a imagem no sentido horário, 270° no sentido anti-horário, 180° a deixa de cabeça para baixo.
- O vídeo é codificado de novo em H.264 com CRF 23, com cor padrão de 8 bits 4:2:0, e gravado como MP4 com o índice no início.
- Áudio AAC é copiado sem alteração; qualquer outro áudio é convertido para AAC a 128 kbit/s.
Como o passo 1 usa o que você realmente vê, escolha o ângulo olhando o clipe no seu player de costume:
- A cabeça das pessoas aponta para a esquerda: escolha 90°.
- A cabeça das pessoas aponta para a direita: escolha 270°.
- A imagem está de cabeça para baixo: escolha 180°.
Uma rotação de 90° ou 270° troca largura e altura, então um arquivo horizontal de 1920×1080 vira um vertical de 1080×1920. Uma rotação de 180° mantém as dimensões. A ferramenta só gira; ela não espelha a imagem, então um vídeo de selfie com o texto invertido continua assim.
Qualidade, tamanho e velocidade
Não dá para girar sem recodificar, porque cada frame precisa ser reconstruído na nova orientação. O CRF 23 é uma configuração de qualidade constante em que a diferença em relação ao original é difícil de perceber numa exibição normal, e a resolução e a taxa de quadros não mudam.
No navegador, o FFmpeg roda como WebAssembly com o preset de codificação fast. Conte com velocidade próxima do tempo real num notebook recente para 1080p, mais devagar para 4K e em celulares. A opção de servidor usa o FFmpeg nativo com o preset medium, mais lento, e o mesmo CRF, o que costuma gerar um arquivo um pouco menor e termina muito mais rápido em clipes longos.
O tamanho do resultado costuma ser diferente do original. Vídeos gravados em HEVC num iPhone recente podem crescer, porque o H.264 precisa de mais bits para a mesma qualidade. Vídeos de aparelhos mais antigos ou downloads muito comprimidos podem diminuir um pouco. Se o resultado ficar grande demais para enviar, o comprimir vídeo pode reduzi-lo ainda mais.
Formatos e limites
- Entrada: arquivos MP4, MOV e WebM de até 2 GB no navegador. A saída é sempre um MP4 com o nome do original acrescido de
-rotated. - Áudio AAC é copiado, o resto é convertido. Arquivos MP4 e MOV de celulares e câmeras com som AAC o mantêm intacto. Opus ou Vorbis de arquivos WebM e PCM sem compressão de algumas câmeras e gravadores de áudio são convertidos para AAC, para que o MP4 toque em qualquer player e editor.
- Memória. No navegador, a entrada e a saída ficam na memória ao mesmo tempo, então arquivos de vários gigabytes num celular podem falhar.
- Processamento no servidor. Uma tarefa grátis por dia no servidor, para arquivos de até 500 MB; o Premium é ilimitado e aceita até 4 GB. Os arquivos são apagados automaticamente em cerca de uma hora.
Dicas
- Um único ângulo vale para todos os arquivos de um lote. Se os clipes precisarem de correções diferentes, processe-os em grupos separados.
- Use o cortar vídeo antes de girar quando você só precisa de parte de um clipe. As duas etapas recodificam, mas girar um trecho de 30 segundos é muito mais rápido do que girar uma gravação de 20 minutos.
- Só parte do clipe ficou de lado porque o celular foi virado no meio da gravação? Recorte esse trecho primeiro, gire só ele e deixe o resto como estava.
- Guarde o original. Cada recodificação perde um pouco de detalhe, e o original com seu sinalizador de rotação continua sendo a melhor fonte se você precisar tentar de novo.