我正在尝试使用最近引入 javascript 的媒体捕获界面从用户上传视频。尽管在浏览器兼容性方面存在种种困难,我什至无法理解保存用户捕获的视频的过程。
我在想我可以以某种方式使用 ajax 将流式视频推送到服务器,但即便如此,我什至不确定我是否正确地解决了这个问题。
我包含了我的代码,该代码目前仅在 chrome 和 opera 下流式传输。
function hasUserMedia()
{
return !!(navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);
}
if(hasUserMedia())
{
var onFail = function(error)
{
alert("ERROR >> " + error);
};
var onPass = function(stream)
{
var video = document.querySelector('video');
video.src = window.URL.createObjectURL(stream);
video.onloadedmetadata = function(e)
{
//..what do I put here..?
};
}
navigator.webkitGetUserMedia({video:true, audio:true}, onPass, onFail);
}
else
{
alert("ERROR >> USERMEDIA NOT SUPPORTED");
}
function saveVideo()
{
var connection = new XMLPHttpRequest();
connection.onreadystatechange=function()
{
if(connection.readyState == 4 && connection.status == 200)
{
alert("Your streamed video has been saved..!");
}
}
//..what do I type here..?
connection.open("POST","savevideo.php",true);
connection.send();
}