从浏览器向服务器发送摄像机视频

时间:2012-02-10 02:19:17

标签: html5 client-server webcam html5-video

我正在尝试镀铬金丝雀19的新功能和令人兴奋的功能。

我基本上可以从网络摄像头抓取视频并将其设置为视频标记的源元素。

<!DOCTYPE html>
<html>
    <head>
    <title>Camera capture</title>
    <script>
        var localStream;
        var localStreamObjUrl;
        window.onload = function() {
            navigator.webkitGetUserMedia("audio, video", gotStream);
        }
        function gotStream(stream) {
            localStream = stream;
            localStreamObjUrl = webkitURL.createObjectURL(localStream);
            var video = document.getElementById("selfView");
            video.src = localStreamObjUrl;
        }
    </script>
</head>
<body>
    <video id="selfView" autoplay audio=muted></video>
</body>
</html>

https://apprtc.appspot.com的示例中,我们可以获取视频并将其流式传输给对等方...

我的问题是,我可以避免进行所有遍历以获得p2p连接并直接将视频上传到服务器吗?我希望能够转发视频流而不是发送它p2p。

4 个答案:

答案 0 :(得分:5)

背面需要某种流媒体服务器。

过程将是:

  1. 捕获Feed
  2. 将其发送到服务器
  3. 转码为各种客户端格式
  4. 管理出站流
  5. 有许多免费和付费品种可供选择:

    有关转码的更多信息:xuggler
    媒体的“瑞士军刀”:ffmpeg

    等等。

答案 1 :(得分:2)

哇,问题差不多是两年了,仍然具有相关性。目前,您拥有的两个选项是将摄像机流送入画布,以便定期向您的服务器发送屏幕截图(简单但非常慢),或使用WEBRTC流式传输数据。不幸的是,在服务器端对WEBRTC的支持仍然不是很好,因为没有太多用于常见编程语言的webrtc库。

答案 2 :(得分:1)

我在过去5年的大部分时间里都开发了视频录制解决方案,并为修复Red5中的视频录制错误做出了很多贡献。

在桌面上,您可以使用Flash客户端+媒体服务器(Red5,Wowza,Adobe Media Server),在移动设备上可以使用HTML Media Capture。

我在Record video on browser and upload to LAMP server

给出了类似问题的详细答案

答案 3 :(得分:0)

您可以尝试使用基于Flash和HTML5捕获的nimbb。之后,您可以将视频推送到Brightcove以将其转码为各种客户端格式。

他们有API集成。唯一的问题是费用。