2014-02-17 4 views
6

Я разработал приложение для обмена видео для Android и ios, которое записывает видео и загружает его в amazon s3. Для совместимости записи android/ios в формате mp4 с кодеками H264/AAC.Метаданные вращения видеоролика Mp4

Пользователи могли снимать портрет или пейзаж, и приложение, получать информацию от датчиков, установить ротацию файла (mediarecorder.setOrientationHint на андроид и что-то похожее на IOS)

видео с прошивкой играть отлично на андроид и наоборот. Проблема в том, когда я хочу воспроизвести видео в веб-браузере. Браузеры, поддерживающие формат mp4 (т. Е. Хром), отображают видео, но игнорируют метаданные вращения. То же самое происходит, когда я воспроизвожу эти видео с помощью mplayer на linux.

Первое решение, которое приходит на ум

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

Есть ли причина, почему браузеры игнорируют метаданные вращения? Это ошибка? Могу ли я что-то сделать, чтобы исправить это во время записи видео?

Вот 2 образца от iOS и android соответственно.

Thansk

ios video android video

ответ

0

Метод 1: Поворот элемент HTML, если соотношение сторон не горизонтально
Chrome HTML5 Video Flipping Portrait Sideways

Способ 2: перекодировать iPhone-видео
Displaying vertical videos with html5 on chrome

Способ 3: Установите ориентацию должным образом на IOS-устройствах (Advanced)
iOS AVFoundation: Setting Orientation of Video

Метод 4: Спросите этот парень, если он нашел ответ
Use FFmpeg to rotate the video based on its <rotate> metadata? Why does Android put the wrong metadata?

Смежные вопросы