RecordRTC |我们可以不停止记录就保存Blob数据吗

时间:2019-02-27 12:16:39

标签: video-streaming html5-video video-capture recordrtc

我正在使用RecordRTC并尝试每隔1分钟保存一次视频,但是要保存视频,我必须调用stopRecording()。 例如:

function postFiles() {
            var blob = recorder.getBlob();
            // getting unique identifier for the file name
            var fileName = generateRandomString() + '.webm';

            var file = new File([blob], fileName, {
                type: 'video/webm'
            });

            xhr('/uploadFile', file, function(responseText) {
                    console.log(responseText);
            });

            if(mediaStream) mediaStream.stop();
        }

stopRecording(postFiles);

我想保存视频而不停止录制。

1 个答案:

答案 0 :(得分:1)

相关演示:https://www.webrtc-experiment.com/RecordRTC/simple-demos/ondataavailable.html

recorder = RecordRTC(camera, {
    recorderType: MediaStreamRecorder,
    mimeType: 'video/webm',
    timeSlice: 1000, // pass this parameter
    ondataavailable: function(blob) {
        invokeSaveAsDialog(blob);
    }
});

如您所见,我还传递了两个附加参数:

  1. ondataavailable回调函数
  2. timeSlice间隔

ondataavailable将在每个指定的时间间隔后返回blob。