小编Kg7*_*Kg7的帖子

无法使用 EBML.js 从媒体记录器创建可搜索的视频 blob - MediaRecorder API - Chrome

使用媒体记录器,我可以在 azure 上上传和附加视频 blob。但使用以下代码下载时无法搜索组合视频 -

var chunks =[];
var mediaRecorder = new MediaRecorder(stream, 'video/x-matroska;codecs=vp8,opus');
mediaRecorder.ondataavailable = function(event) {
  if(event.data && event.data.size > 0) {
       chunks.push(event.data);
       appendBlockToAzure(chunks);
    }
};
mediaRecorder.start(10000);
Run Code Online (Sandbox Code Playgroud)

我尝试使用 EBML.js,如果我使用以下代码,那么我会得到可查找的视频文件。这种方法需要在最后处理文件。因此,最终文件的大小可能为 1GB,这将需要很长时间才能上传。

var chunks =[];
var mediaRecorder = new MediaRecorder(stream, 'video/x-matroska;codecs=vp8,opus');
mediaRecorder.ondataavailable = function(event) {
   if(event.data && event.data.size > 0) {
        chunks.push(event.data);
        if(mediaRecorder.state == "inactive") { //if media recorder is stopped
            var combined = new Blob(chunks, { type: event.data.type });
            getSeekableBlob(combined, function (seekableBlob) {
                   saveCombinedVideoToAzure(seekableBlob);  
            });
        }
    }
 };
mediaRecorder.start(10000); …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome webrtc web-mediarecorder ebml

7
推荐指数
1
解决办法
3602
查看次数