我有一个工作正常的视频(webm)捕获脚本。它记录视频,然后将其作为下载提供。代码的相关部分是这样的:从视频流中获取数据网址?
stopBtn.addEventListener('click', function() {
recorder.ondataavailable = e => {
ul.style.display = 'block';
var a = document.createElement('a'),
li = document.createElement('li');
a.download = ['video_', (new Date() + '').slice(4, 28), '.'+vid_format].join('');
a.textContent = a.download;
a.href = URL.createObjectURL(stream); //<-- deprecated usage?
li.appendChild(a);
ul.appendChild(li);
};
recorder.stop();
startBtn.removeAttribute('disabled');
stopBtn.disabled = true;
}, false);
这个工作正如我所说的。但是,控制台说,将媒体流传递到URL.createObjectURL
已被弃用,我应该使用HTMLMediaElement srcObject
。
所以我把它改为:
a.href = URL.createObjectURL(video.srcObject);
......虽然一切仍然有效,我得到了同样的警告。
有没有人知道如何才能得到一个URL或blob数据没有这种弃用的方式?
我也尝试读取视频元素中的src
和currentSrc
属性,但它们在涉及流的位置回到空白处。
你想下载流?这样做的常见方法是通过MediaRecorder创建一个blob,然后下载blob(其中涉及URL.createObjectURL但是使用blob而不是流) –
基本上我只想将录制的视频保存到服务器。谢谢你的提示 - 你能给我一些关于如何做或读什么的指示吗?代码片段将是ace。 – Utkanos
这段代码真的有效吗? Weiiird ... – Kaiido