Você não pode alterar a maneira como a câmera do iOS grava vídeos. Ele define um sinalizador de rotação e, se você quiser que o vídeo seja exibido corretamente no OS X e no Windows (e em outros players), será necessário:
- Remova o sinalizador de rotação. Agora seu vídeo é paisagem, mas ainda está errado.
- Codifique novamente o vídeo, girando-o.
Faça o download do ffmpeg (uma versão estática para o seu sistema operacional é boa).
Você precisa do filtro transpose
, por exemplo
ffmpeg -i portrait.mov \
-c:v libx264 -filter:v "transpose=1" \
-c:a copy \
-metadata:s:v:0 rotate=0 out.mp4
Algumas observações:
-
Aqui,
transpose=1
girará em 90 °. Se o seu vídeo está de cabeça para baixo, você precisa combinar as opções. Você pode usar-filter:v "transpose=2,transpose=2"
ou outros. Veja aqui: Como virar um vídeo em 180 ° (vertical / de cabeça para baixo) com FFmpeg? -
A opção
-metadata:s:v:0 rotate=0
garante que os metadados de rotação no primeiro fluxo de vídeo estejam configurados para 0 novamente (era em 90 antes), portanto, seu vídeo agora é exibido bem no OS X e em outros sistemas operacionais. -
Naturalmente, a transposição irá recodificar o vídeo e você perderá qualidade. Adicione a opção
-crf
após-c:v libx264
para definir o Fator de taxa constante , que controla a qualidade. Use valores mais baixos para obter melhor qualidade. 23 é, na verdade, o padrão, então você não precisa especificá-lo, mas você pode querer escolher algo tão baixo quanto 18 se o vídeo acabar parecendo ruim, por exemplo,-c:v libx264 -crf 18
. -
Em alguns casos, você pode querer apenas remover o sinalizador de rotação, mas manter o fluxo de bits do vídeo original intacto. Para fazer isso, substitua
-c:v libx264 -filter:v "transpose=1"
por-c:v copy
. -
Confira o guia de codificação x264 para saber mais.