Подтвердить что ты не робот

Chrome HTML5 Видео переворачивание портрета в сторону

Я создаю сайт для показа видео, записанного с iPhone. Видео поставляется в портретной ориентации, 288x352. Safari отображает это видео очень хорошо, но в Chrome видео переводится в ландшафтный режим, 352x288. Моя голова боком.: - (

Вот страница, о которой идет речь: http://aaron.tiberiuslog.com/B4F4CC56-172E-4D84-9656-BE04E6E475A0

А вот само видео, если это помогает.

http://tiberiuslog.s3.amazonaws.com/output_D7DB78A9-8019-4D09-9B22-EB8738F844BB-2380-000001530B13BE09.mov

Я пробовал использовать ванильную разметку HTML5 и теперь добавил VideoJS, хотя это не имело никакого значения для этой проблемы.

Обновление. У меня есть половина ответа на мой вопрос. Похоже, что на устройстве должна быть установлена ​​некоторая опция кодирования, чтобы обеспечить правильную ориентацию на всех зрителях, включая VLC и Chrome (например). У этого вопроса нет ног, чтобы получить этот ответ, поэтому Я создал новый. Надеемся, мы соберем правильное решение для этой проблемы!

Обновление 2: я нашел ответ! Другой вопрос, который я поставил, привел меня к методике правильного кодирования видео в iOS.

4b9b3361

Ответ 1

Смотрите этот пост на форумах поддержки videojs, который говорит о том, что, вероятно, это связано с тем, как iPhone кодирует видео, поскольку он содержит информацию, которую QuickTime может но другие игроки не могут. Совет заключается в том, что вы кодируете видео на iOS, используя AVFoundation и вращайте его. Предположительно, будет работать и другая стандартная библиотека кодирования.

Ответ 2

Это немного уродливо, но вы можете добавить -webkit-transform:rotate(90deg); в атрибут style тега video. Тем не менее, это также поворачивает ваши элементы управления.

Я просто передал видео с AWS через VLC Player, и видео, похоже, повернуто на 90 градусов против часовой стрелки. Apple использует флаг метаданных для указания вращения вместо простой записи видео в другой ориентации. К сожалению, многие игроки/браузеры игнорируют этот флаг, включая VLC и Chrome.

Чтобы устранить проблему, вам необходимо повернуть фактический видеофайл. Вы можете сделать это, открыв его в VLC Player, перейдите к Tools > Effects and Filters. Нажмите Video Effects, затем Geometry. Включите Transform и выберите Rotate by 90 degrees в выпадающем меню. Нажмите OK, затем просто закройте VLC. Теперь видео должно быть готово, хотя я не могу проверить его на вашей странице.

Теперь вам может потребоваться удалить тег метаданных вращения, чтобы Safari не поворачивал видео дальше. Опять же, я еще не тестировал это.

Ответ 3

Эта проблема исправлена ​​с 2 июня 2016 года. Пожалуйста, обратитесь к ошибке firefox здесь. Эта проблема не в том, как Iphone кодирует видео, но связан с firefox, поддерживающим файлы mp4, но не с метаданными ориентации в файлах mp4.

В любом случае, можно проверить, имеет ли видеофайл Rotation с помощью: exiftool -Rotation video.mp4

Примечание: Для тех, кто все еще видит эту проблему, это обновление еще не доступно, так как мое последнее обновление не правильно автоматизировало видео. При внимательном рассмотрении страница с ошибкой говорит, что целью является mozilla49.