getUserMedia возвращает повернутое видео на Safari iOS

Мне нужно транслировать видео через webrtc и воспроизводить его на веб-странице, он работает правильно во всех окнах браузера рабочего стола и Mac OS. он также работает в браузерах Android. но в Safari iOS видео повернуто как альбомное. он поворачивается на обоих (при захвате видео с помощью iOS Safari и при получении потока на рабочий стол Chrome или Safari). Я тестировал его с помощью стандартной демонстрации базового примера getUserMedia на сайте webrtc с Safari iOS и той же проблемой. как можно это исправить или, пожалуйста, какое-либо другое решение?


person omar foudhaili    schedule 21.09.2020    source источник
comment
Где код, который вы используете? Чтобы получить более быструю помощь, лучше опубликовать код   -  person Khalid Almannai    schedule 08.10.2020


Ответы (1)


Что-то, что может быть актуальным, с чем я столкнулся -

Запрос {width: 640, height: 480} на iOS в портретном режиме вернет камеру MediaStream, которая имеет размер {width: 480, height: 640}, а при изменении ориентации MediaStream переворачивает свои размеры. Будьте осторожны при жестком кодировании ширины и высоты html-элементов. Может вызвать коробление. Люди должны придерживаться известных разрешений, например, перечисленных в en.wikipedia.org/wiki/Display_resolution. Когда вы используете нетипичное разрешение, в спецификации WebRTC указано, что браузер попытается эмулировать ваш желаемый канал. Однако это делает кроссбраузерный код плохим. Если вам нужна постоянная камера, я бы этого не сделал.

источник: getUserMedia (Selfie) в полноэкранном режиме на мобильных устройствах

person Ced    schedule 22.04.2021