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

29

我正在尝试使用 Chrome canary 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连接,并直接将视频上传到服务器?我希望能够中继视频流而不是将其点对点发送。


我很感兴趣看看是否有人对此有一些见解。 - andyzinsser
3个回答

6
你需要一个后端流媒体服务器。
步骤如下:
1. 捕获视频源 2. 发送到服务器 3. 转码为各种客户端格式 4. 管理传出的流
有许多免费和付费的选择:
- nodejs(demo/POC) - wowza(paid) - 基于Chrome 更多关于转码的信息:xuggler 媒体的“瑞士军刀”:ffmpeg 等等。

1
我已经开发了视频录制解决方案,持续了近5年时间,并在修复Red5中的视频录制错误方面做出了很大贡献。
在桌面上,您可以使用Flash客户端+媒体服务器(Red5、Wowza、Adobe Media Server),在移动设备上,您可以使用HTML媒体捕获。
我在类似问题的Record video on browser and upload to LAMP server给出了详细的答案。

0
你可以试试nimbb,他们有基于Flash和HTML5的录制。之后,你可以将视频推送到Brightcove,转码成各种客户端格式。
他们有API集成。唯一的问题是费用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接