将实时网络摄像头源编码为RTMP编码视频

时间:2015-11-20 13:58:57

标签: php jquery webrtc rtmp wowza

我正在制定一个人们可以使用他们的网络摄像头上线的概念。所以基本上它是一个网络应用程序。我正在使用webRTC概念。我的代码很基本,但仍然看看:

<script>
(function () {
    console.log('here');
    navigator.getMedia = navigator.getUserMedia ||
            navigator.webkitGetUserMedia ||
            navigator.mozGetUserMedia ||
            navigator.msGetUserMedia;
    window.hasUserMedia = function hasUserMedia() {
        return navigator.getMedia ? true : false;
    };
    var errorcallback = function (e) {
        console.log('errorCalback: ' + e);
    };
    navigator.getMedia({
        video: true,
        audio: true
    },
    function (stream) {
        var video = document.getElementById('live'),
                webcamstream, streamrecorder,
                vendorUrl = window.URL || window.webkitURL;
        console.log(video);
        video.src = vendorUrl.createObjectURL(stream);
        //webcamstream = stream;
        //video.play();
        video.onloadedmetadata = function (e) {
            var counter = 0;
            counter++;
            console.log(e);
            console.log(video.src);
        };
    }, errorcallback);
})();

这个video.src提供了一个来源,但我认为它是blob格式。

输出类似于mediastream:http://localhost.movyt.com/8b57e486-a985-4331-b9ab-0eaf6def3404。 井blob格式无法发布。我们需要将其编码为RTMP编码。 我的问题是如何使用任何第三方软件对其进行编码,因为作为最终用户,我不会安装任何用于注册网站的软件。

我尝试使用Flash进行直播,但需要安装 flash live encoder ,我不想使用它,因为它不会对用户友好。 有很多专门的服务器,如wowza,dacast等,但它们都需要RTMP编码的视频流才能进行进一步处理。

注意:我尝试在另一个页面中使用<video src=video.src>,但它不会结果为任何结果,因为根据之前编写的代码video.src来自video metadata。< / p>

那么有什么方法可以将我的blob视频编码为RTMP协议吗?

1 个答案:

答案 0 :(得分:0)

由于您已经查看了Wowza,我假设您将重新分发此已发布的流。该服务器确实具有WebRTC功能:

https://www.wowza.com/products/capabilities/webrtc-streaming-software

您目前必须注册“预览”以激活这些功能,但不会更长时间。

我强烈建议避免尝试将RTMP用作与浏览器之间的传输协议,因为这总是需要一个像Flash这样的插件(在出路时)。