Metadatos de rotación de vídeo Mp4

He desarrollado una aplicación para compartir videos android / ios que graba un video y lo sube a amazon s3. Para la compatibilidad tanto android / ios registro en formato mp4 con codecs H264 / AAC.

Los usuarios pueden disparar retrato o paisaje y la aplicación, obtener información de los sensores, establecer la rotación del archivo (mediarecorder.setOrientationHint en android y algo similar en iOS)

Los vídeos de iOS funcionan bien en android y viceversa. El problema es cuando quiero reproducir un video en un navegador web. Los navegadores compatibles con el formato mp4 (es decir, cromado) muestran el video pero ignoran los metadatos de rotación. Lo mismo sucede cuando reproduzco esos videos con mplayer en linux.

La primera solución que viene a la mente es

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

¿Hay alguna razón por la cual los navegadores ignoran los metadatos de rotación? ¿Es un error? ¿Podría hacer algo para arreglar esto mientras graba el video?

Aquí hay 2 muestras de iOS y android, respectivamente.

Thansk

Ios video android video

Método 1: Gire el elemento HTML si la relación de aspecto no es horizontal
Vídeo HTML5 de Chrome que mueve de un tirón el retrato de lado

Método 2: Volver a codificar el vídeo de iPhone
Visualización de vídeos verticales con html5 en cromo

Método 3: Establecer orientación correctamente en dispositivos iOS (avanzado)
IOS AVFoundation: Configuración de la orientación del vídeo

Método 4: Pregunte a este tipo si ha encontrado una respuesta
Utilice FFmpeg para girar el video basado en sus metadatos <rotate>? ¿Por qué Android pone los metadatos incorrectos?

  • Androide ImageView una rotación de dedo
  • Rotación de 90 grados en la vista web de FrameLayout en Android
  • Rotación de la imagen YUV420 / NV21 en android
  • Android - ¿Cómo diseñar un tipo de diseño de Rotary Dialer / Rotary Dialer?
  • Dibujar el texto verticalmente sobre lienzo
  • Android: orientación de la vista previa de la cámara en modo vertical
  • Cómo rotar un dibujable por ObjectAnimator?
  • ¿La imagen resultante de la cámara Android debe girarse después de la captura?
  • ¿Cómo manejar pegatinas con redimensionar y rotar la funcionalidad?
  • Imagen giratoria. Animación de la lista o rotación animada? (Androide)
  • Rotar una matriz de bytes YUV en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.