Я использую WebRTC в приложении для Android для видеопотока в один конец в браузер.Записанное видео должно иметь точное разрешение (на данный момент) 640x360.Проблема в том, что VideoCapturer, кажется, захватывает видео только в тех разрешениях, которые действительно поддерживает камера, и он выбирает то, которое ближе всего к предоставленным значениям, вместо того, чтобы просто использовать кадрированную рамку с более высоким разрешением.Поэтому, если я сделаю: videoCapturer.startCapture(640, 360, 25);
, он на самом деле захватывает видео в формате 640x480, что, конечно, является неправильным аспектом.
Так что мне нужно сделать, это захватить видео в разрешении 1920x1080, а затем взять только кадр 640x360 изсередина, означающая ручную обрезку видео перед его отправкой удаленному партнеру, но я понятия не имею, как это сделать.
Что-то вроде:
videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("height", "360"));
videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("width", "640"));
, похоже, нетработает, так как это только масштабирует видео до желаемого разрешения, а не обрезает его.Есть ли способ или другой обходной путь для достижения желаемого результата?