Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用getUserMedia()处理和上载视频_Javascript_Video_Stream - Fatal编程技术网

Javascript 使用getUserMedia()处理和上载视频

Javascript 使用getUserMedia()处理和上载视频,javascript,video,stream,Javascript,Video,Stream,我正在尝试使用最近引入javascript的媒体捕获界面从用户上传视频。尽管在浏览器兼容性方面存在种种困难,但我甚至无法理解保存用户捕获的视频的过程 我想我可以用ajax将流式视频推送到服务器上,但尽管如此,我甚至不确定我是否正确地解决了这个问题 我包含了我的代码,目前只在chrome和opera下进行流式处理 function hasUserMedia() { return !!(navigator.getUserMedia || navigator.webkitGetUser

我正在尝试使用最近引入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();
}

目前,您无法打开到服务器的WebRTC连接(尽管可能有人正在处理它…)。AFAIK唯一的方法是通过将视频捕获到画布上,然后将每个帧发送到服务器并在那里编译视频,从而获取每个帧的屏幕截图

退房:

也可能有帮助: