Metadados de rotação de vídeo em mp4

Eu desenvolvi um aplicativo de compartilhamento de vídeo para Android / iOS que grava um vídeo e o envia para o Amazon S3. Para compatibilidade, ambos os registros android / ios no formato mp4 com codecs H264 / AAC.

Os usuários podem fotografar retrato ou paisagem e o aplicativo, obtendo informações dos sensores, definir a rotação do arquivo (mediarecorder.setOrientationHint no android e algo semelhante no iOS)

Os vídeos do iOS funcionam bem no Android e vice-versa. O problema é quando eu quero reproduzir um vídeo em um navegador da web. Os navegadores que suportam o formato mp4 (por exemplo, chrome) exibem o vídeo, mas ignoram os metadados da rotação. O mesmo acontece quando reproduzo esses vídeos com o mplayer no linux.

A primeira solução que vem à mente é

ffmpeg -i in.mp4 -vf transpose=<rotation value> out.mp4

Existe uma razão pela qual os navegadores ignoram os metadados de rotação? Isso é um bug? Posso fazer algo para corrigir isso enquanto grava o vídeo?

Aqui estão 2 amostras do iOS e do Android, respectivamente.

Thansk

ios video vídeo android

questionAnswers(1)

yourAnswerToTheQuestion