所以我有一个网站可以从用户的网络摄像头录制视频流,并使用getUserMedia(). 我现在想将此 blob 发送到服务器,以便可以保存和处理视频。我在通过 ajax 发送 blob 文件时遇到了麻烦,我尝试使用 formData + XMLHttpRequest() 方法以及纯 ajax。对于我的应用程序来说,用户可以录制视频并立即将此视频发送到我的服务器是必不可少的。
任何帮助将不胜感激。
所以 HTML:
<div class="demo">
<video id="preview" autoplay width="400" height="300"></video>
<video id="recording" width="400" height="300" style="display:none;" controls></video>
<div class="progress">
<div class="progress-bar"></div>
<span>01:00</span>
</div>
<button class="record">Record</button>
<button class="upload">Upload</button>
</div>
Run Code Online (Sandbox Code Playgroud)
相关JS函数:
function captureVideo () {
const preview = document.querySelector('video#preview');
const recording = document.querySelector('video#recording');
navigator.mediaDevices.getUserMedia({video: true}).then((stream) => {
preview.srcObject = stream;
preview.captureStream = preview.captureStream || preview.mozCaptureStream;
return new Promise(resolve => preview.onplaying = resolve);
}).then(() => {
let recorder = …Run Code Online (Sandbox Code Playgroud)