В настоящее время я создаю проект, поддерживающий запись видео через мой сайт.Скорость записи javascript
Я создаю холст, а затем нажимаю на него записанные кадры. Проблема в том, что когда я воспроизвожу видео после его записи, он играет слишком быстро. Воспроизведение видео продолжительностью 10 секунд длится примерно 2 секунды. Я проверил, что для параметра playbackRate установлено значение 1. Я сохраняю запись в базе данных и ее ускорение там, поэтому она не имеет никакого отношения к видеоплееру браузеров.
Я относительно новый для AngularJS и javascript, поэтому мне жаль, если я оставил что-то важное.
Я попытался изменить много значений взад и вперед, но я не могу найти причину проблемы. Есть идеи?
Вот код для записи видео:
scope.startRecording = function() {
if (mediaStream) {
var video = $('.video-capture')[0];
var canvas = document.createElement('canvas');
canvas.height = video.videoHeight;
canvas.width = video.videoWidth;
ctx = canvas.getContext('2d');
var CANVAS_WIDTH = canvas.width;
var CANVAS_HEIGHT = canvas.height;
function drawVideoFrame(time) {
videoRecorder = requestAnimationFrame(drawVideoFrame);
ctx.drawImage(video, 0, 0, CANVAS_WIDTH, CANVAS_HEIGHT);
recordedFrames.push(canvas.toDataURL('image/webp', 1));
}
videoRecorder = requestAnimationFrame(drawVideoFrame); // Note: not using vendor prefixes!
scope.recording = true;
}
};
scope.stopRecording = function() {
cancelAnimationFrame(videoRecorder); // Note: not using vendor prefixes!
// 2nd param: framerate for the video file.
scope.video.files = Whammy.fromImageArray(recordedFrames, 1000/30);
recordedVideoBlob = Whammy.fromImageArray(recordedFrames, 1000/30);
scope.videoMode = 'viewRecording';
scope.recording = false;
};