Я подключил веб-камеру к своему ПК, чтобы я мог записывать.Я хочу сохранить последние x минут, когда пользователь нажимает кнопку.Вот пример кода:
record.onclick = function() {
recorder = new MediaRecorder(localStream, options); //options are MIME type
recorder.ondataavailable = e => {
recordChunk.push(e.data);
};
}
stop.onclick = function() {
recorder.stop();
let blob = new Blob(recordChunk);
element.href = URL.createObjectURL(blob);
element.download = "download.webm";
}
Этот код должен начать запись и остановить запись.Я в основном хочу исключить кнопку остановки, которая вместо этого должна просто сохранять последние x минут (скажем, 60 секунд).
У меня есть идея, где я могу удалить некоторые из первых кусков данных вмассив recordChunk
, но я не уверен, сколько нужно хранить в массиве.Не совсем точно, сколько минут отснятого материала находится внутри recordChunk
.
Есть идеи?Кажется довольно простым, но я не уверен, сколько данных удалить из массива (если это правильный подход).
РЕДАКТИРОВАТЬ: похоже, что объединение первых нескольких элементов массива recordChunk
несобираюсь на работу (я не удаляю первый элемент с size: 1
).Выходной файл просто не является допустимым WebM.
РЕДАКТИРОВАТЬ 2: Хорошо, он частично работает ... но не совсем.Первые кадры, которые я удаляю, полностью разбиты, но остальные кадры выглядят так, как будто они работают.Не очень хорошее решение.Должен быть лучший способ.