Javascript 在发布到服务器之前将捕获的getUserMedia视频保存到文件
我正在尝试编写一个小应用程序,可以在浏览器中录制视频并将其上传到服务器 我得到的代码如下:Javascript 在发布到服务器之前将捕获的getUserMedia视频保存到文件,javascript,html5-video,Javascript,Html5 Video,我正在尝试编写一个小应用程序,可以在浏览器中录制视频并将其上传到服务器 我得到的代码如下: <html> <body> <video id="video" playsinline autoplay></video> <script> function hasGetUserMedia() { return !!(navigator.mediaDevices &&
<html>
<body>
<video id="video" playsinline autoplay></video>
<script>
function hasGetUserMedia() {
return !!(navigator.mediaDevices &&
navigator.mediaDevices.getUserMedia);
}
if (hasGetUserMedia()) {
console.log("Good to go");
} else {
console.log('Not supported');
}
const constraints = {
video: true,
audio: true,
};
function start(){
navigator.mediaDevices.getUserMedia(constraints).
then((stream) => {video.srcObject = stream});
var videoEl = document.getElementById('video');
stream = videoEl.srcObject;
}
function stop(){
var videoEl = document.getElementById('video');
stream = videoEl.srcObject;
tracks = stream.getTracks();
tracks.forEach(function(track) {
track.stop();
});
downloadLink.href = URL.createObjectURL(new Blob(tracks[0]));
downloadLink.download = 'acetest.webm';
}
</script>
<button onclick="start()">Start</button>
<button onclick="stop()">Stop</button>
</body>
函数hasGetUserMedia(){
return!!(navigator.mediaDevices)&&
navigator.mediaDevices.getUserMedia);
}
如果(hasGetUserMedia()){
console.log(“很好”);
}否则{
console.log(“不支持”);
}
常量约束={
视频:没错,
音频:是的,
};
函数start(){
navigator.mediaDevices.getUserMedia(约束)。
然后((流)=>{video.srcObject=stream});
var videoEl=document.getElementById('video');
流=videoEl.src对象;
}
函数停止(){
var videoEl=document.getElementById('video');
流=videoEl.src对象;
tracks=stream.getTracks();
tracks.forEach(函数(track){
track.stop();
});
downloadLink.href=URL.createObjectURL(新Blob(曲目[0]);
downloadLink.download='acetest.webm';
}
开始
停止
我可以在屏幕上看到视频,但不确定如何将其捕获到文件中进行上传
我尝试过使用URL.createObjectURL(新Blob(tracks[0])代码>但这不起作用。按下停止按钮后如何保存视频