【问题标题】:WebRTC video streaming in PubNubPubNub 中的 WebRTC 视频流
【发布时间】:2016-07-12 15:16:31
【问题描述】:

我最近接触了 PubNub 的 WebRTC sdk。一切都很顺利,但我在将视频从客户端显示到我的屏幕时遇到了问题。

正如他们的文档和教程中提到的,我编写了以下代码:

function login(form) {
var pub = <publish_key>;
var sub = <subscribe_key>;
var phone = window.phone = PHONE({
    number        : form.username.value,
    publish_key   : pub,
    origin        :'pubsub.pubnub.com',
    subscribe_key : sub,
    //media         : { audio : true, video : true }
    ssl           :true
});
var ctrl = window.ctrl = CONTROLLER(phone);
    ctrl.ready(function(){ 
        form.username.style.background="#55ff5b";
        form.login_submit.hidden="true";    // Hide login button
        ctrl.addLocalStream(vid_thumb); 
    });
    ctrl.receive(function(session){
        session.connected(function(session){ 
            video_out.appendChild(session.video);
        });
        session.ended(function(session) { ctrl.getVideoElement(session.number).remove(); });
    });
}

    function makeCall(){
    if (!window.phone) alert("Login First!");
        var num = form.number.value;
        if (phone.number()==num) return false; // No calling yourself!
        ctrl.dial(num);
        return false;
    }

一切似乎都在工作,但实际视频没有显示在我的屏幕上。 (我在两台机器上都使用 chrome 浏览器) 有人可以帮忙吗? 谢谢

【问题讨论】:

  • 从 PubNub 的角度来看,这不在 PubNub 的控制范围内。视频流方面的 STUN/TURN/ICE 可能存在一些问题(PubNub 仅是信号协议)。有关详细信息,请参阅此:pubnub.com/knowledge-base/discussion/252/…

标签: javascript html webrtc pubnub


【解决方案1】:

我得到了解决方案.. 虽然它是一个非常奇怪的解决方案,但我不能真正说出它是如何解决我的问题的.. 我之前将我的 javascript 代码放在另一个脚本文件中,然后将该文件链接到我的 HTML 页面。但是,一旦我将这些代码转移到我的 HTML 页面,一切似乎都运行良好。 谢谢大家。

【讨论】:

  • 这可能只是一个变量范围问题。
【解决方案2】:

PubNub P2P 中的 WebRTC 视频流

Answer: WebRTC running on localhost with HTTPS

我们昨天回答了一个类似的问题。您可以在以下 Stackoverflow 答案链接中找到答案。本质上,您需要确保在本地运行 HTTPS,并使用 Craig Conover 提到的正确的变量范围。

你可以find the source code on github gist

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多