Видеопоток сбоку в некоторых комбинациях браузера/устройства

Я getUserMedia() для получения видеопотока и просто устанавливаю stream как srcObject для srcObject.

В частности, в Chrome на двух разных Windows-планшетах, в режиме Портрет, видео является сторонним.

Я не могу найти информацию о ориентации в объектах потока или видеодорожки, а информация о дорожке и ширине дорожки соответствует элементу видео и точно соответствует информации о дорожке пропорций.

Вы можете дублировать https://camera.stackblitz.io

Как получить информацию о ориентации из потока или логически повернуть видео?

Редактировать:

Я не хочу ориентации устройства или экрана, но видеопотока. Возможно, "вращение" - это правильная формулировка. Другими словами, как мне узнать, когда нужно поворачивать видео без того, чтобы человек смотрел на него?

Изменить 2:

"Chrome on Windows Tablet in Portrait mode" - это то, что я испытал, я не знаю, изолирована ли проблема от этой проблемы, или проблема связана с каждым планшетом Windows, но главный вопрос заключается в том, как определить, боковое или вращение видео?

Ответ 1

Насколько я знаю,

Ориентация находится в области экрана, а не потока.

API ориентации экрана предоставляет возможность считывать тип и угол ориентации экрана, чтобы быть информированным, когда состояние ориентации экрана изменяется, и иметь возможность заблокировать ориентацию экрана в определенном состоянии.

На мой взгляд, один большой метод управления ориентацией - использование медиа-запросов, как показано ниже:

/* 
  ##Device = Tablets, Ipads (portrait)
  ##Screen = B/w 768px to 1024px
*/

@media (min-width: 768px) and (max-width: 1024px) {

  //CSS

}

Для использования других методов, таких как JavaScript или манифест, обратитесь к этой статье.

редактировать

Вы упомянули в заголовке вопроса на планшет Windows, а также упомянули, что ищете способ настройки параметров ориентации без того, чтобы человек смотрел на него. Второе условие противоречит первому.

Как мы обнаруживаем устройство - это Windows Tablet без человека, смотрящего видео?

Невозможно ответить на этот вопрос. Я думаю, что ваше представление о потоке ошибочно.

Вы можете выбрать один из них за раз:

  1. Если вам нужно обнаружить некоторые устройства, такие как Windows Tablet, вы можете использовать некоторые вещи, такие как медиа-запрос или метод JavaScript для обнаружения устройства.
  2. Если вам нужно установить опцию без того, чтобы человек смотрел на нее, вы можете использовать какой-то метод, например MediaStreamTrack.applyConstraints().

Ответ 2

Вы можете получить информацию о ориентации через javascript с screen.orientation. См. В документах MDN