Я читаю поток внешней видеокамеры 1080p и 720p через API getUserMedia со следующим конфигом
let c_constraints = {
audio: false,
video: {
deviceId: { exact: videoValue },
width: { min: 320, ideal: 1280, max: 1920 },
height: { min: 144, ideal: 720, max: 1080 },
framerate: { min: 15, ideal: 30, max: 60 }
}
}
navigator.mediaDevices.getUserMedia(c_constraints)
.then((stream) => c_handleStream(stream))
.catch((e) => c_handleError(e));
И записываю поток с использованием следующих
try {
c_recorder = new MediaRecorder(currentCameraStream);
} catch (e) {
throw e
}
Проблема -> это работает хорошо на устройствах высокого класса, но на устройстве с 4 ГБ ОЗУ, Intel Core i3 при записи в 1080p и 720p я получаю отставание , и видео прерывистое только в течение первых 3 секунд, но оставшееся видео просто отлично .
также, при воспроизведении этого записанного видео в медиаплеере VL C таймер напрямую переключается с 00:01 на 00: 03,
, если это была проблема с памятью / буфером, другие капли тоже пострадают. я что-то упустил, должен ли я использовать MediaRecorder другим способом или с другими вариантами.
PS: я пытался использовать RecordRT C сэром Муазом Ханом, но это кажется тяжелым для процессора, так как На вышеупомянутой машине загрузка ЦП превышает 70%, что делает ее очень медленной.
Пожалуйста, проясните это немного.