Я пытаюсь получить максимально возможное видео разрешение через JS navigator.getUserMedia
. Я знаю о ограничениях, но не знаю, как правильно выбрать в моем случае.
Проблема заключается в том, что нет способа сказать "Я хочу видео с максимальным разрешением". Поэтому вместо этого я пытаюсь сказать "Я хочу видео не менее, чем очень большое разрешение".
Когда я пытаюсь minWidth: 1600
, Chrome возвращает мне 1280 × 720 видео (максимально возможное для моей камеры, я думаю). Но что делать, если у пользователя есть камера с более высоким разрешением? Поэтому я запрашиваю видео minWidth: 2048
, а Chrome возвращает только 640 × 480.
var constraints = {
video: {
optional: [
{minWidth: 2048}
]
}
};
Это онлайн-пример: http://jsbin.com/kibeza/1/watch?js,output
И есть настоящая проблема: Chrome не знает математику. Он думает, что 1600 больше, чем 2048. Я не могу просить видео "не менее 100500", потому что в этом случае я получу стандартное низкое разрешение. Я не могу спросить видео "не менее разумного малого разрешения", потому что могут быть пользователи с более высоким разрешением, и я хочу получить более высокое разрешение.