无法使用 PubNub WebRTC 教程
Cannot get PubNub WebRTC tutorial to work
我正在尝试按照 PubNub 教程构建我的第一个 WebRTC 应用程序 (https://www.pubnub.com/blog/2015-08-25-webrtc-video-chat-app-in-20-lines-of-javascript/);但是,它根本不起作用。我对编程还很陌生,所以非常感谢任何帮助。下面是我的代码。请注意,我已经创建了一个帐户并拥有自己的 "pub" 和 "sub",我已将其适当地插入。
<!DOCTYPE html>
<html>
<div id="vid-box"></div>
<form name="loginForm" id="login" action="#" onsubmit="return login(this);">
<input type="text" name="username" id="username" placeholder="Pick a username!" />
<input type="submit" name="login_submit" value="Log In">
</form>
<form name="callForm" id="call" action="#" onsubmit="return makeCall(this);">
<input type="text" name="number" placeholder="Enter user to dial!" />
<input type="submit" value="Call"/>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://cdn.pubnub.com/pubnub.min.js"></script>
<script src="js/webrtc.js"></script>
<script type="text/javascript">
var video_out = document.getElementById("vid-box");
function login(form) {
var phone = window.phone = PHONE({
number : form.username.value || "Anonymous", // listen on username line else Anonymous
publish_key : 'MY OWN PUB KEY',
subscribe_key : 'MY OWN SUB KEY',
});
phone.ready(function(){ form.username.style.background="#55ff5b"; });
phone.receive(function(session){
session.connected(function(session) { video_out.appendChild(session.video); });
session.ended(function(session) { video_out.innerHTML=''; });
});
return false; // So the form does not submit.
}
function makeCall(form){
if (!window.phone) alert("Login First!");
else phone.dial(form.number.value);
return false;
}
</script>
</html>
WebRTC 运行在本地主机 HTTPS 上运行
您正在使用 localhost 在笔记本电脑上本地查看 运行 WebRTC 演示。您必须使用 HTTPS。这是您使用本地安全网络服务器进行演示的 GIF 视频 (包括!)。 我们清理了您的视频 DOM/jQuery 代码并更正了一些错误。 您可以找到 WebRTC Source Code on GitHub Gists 的 HTML 来源。
运行 WebRTC 本地演示
这些终端命令会将 html 文件下载到您的本地盒子,为 TLS 加密创建 PEM 密钥,并 运行 使用 Python 的本地 HTTPS 服务器。
curl https://gist.githubusercontent.com/stephenlb/edd4b0c218a72a34349baa004a80fd7a/raw/1b28c5e39db0d5eaabc10006cede0a8825b9afd4/webrtc-demo.html > webrtc-demo.html
python <(curl -L https://gist.githubusercontent.com/stephenlb/2e19d98039469b9d0134/raw/5afefc79647e0786097ca3406dbf93c5de919aed/https.py)
然后打开并接受本地HTTPS连接(同意未知根CA警告)。
open https://0.0.0.0:4443/webrtc-demo.html
运行上面的命令来测试演示。
WebRTC 参考链接
我正在尝试按照 PubNub 教程构建我的第一个 WebRTC 应用程序 (https://www.pubnub.com/blog/2015-08-25-webrtc-video-chat-app-in-20-lines-of-javascript/);但是,它根本不起作用。我对编程还很陌生,所以非常感谢任何帮助。下面是我的代码。请注意,我已经创建了一个帐户并拥有自己的 "pub" 和 "sub",我已将其适当地插入。
<!DOCTYPE html>
<html>
<div id="vid-box"></div>
<form name="loginForm" id="login" action="#" onsubmit="return login(this);">
<input type="text" name="username" id="username" placeholder="Pick a username!" />
<input type="submit" name="login_submit" value="Log In">
</form>
<form name="callForm" id="call" action="#" onsubmit="return makeCall(this);">
<input type="text" name="number" placeholder="Enter user to dial!" />
<input type="submit" value="Call"/>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://cdn.pubnub.com/pubnub.min.js"></script>
<script src="js/webrtc.js"></script>
<script type="text/javascript">
var video_out = document.getElementById("vid-box");
function login(form) {
var phone = window.phone = PHONE({
number : form.username.value || "Anonymous", // listen on username line else Anonymous
publish_key : 'MY OWN PUB KEY',
subscribe_key : 'MY OWN SUB KEY',
});
phone.ready(function(){ form.username.style.background="#55ff5b"; });
phone.receive(function(session){
session.connected(function(session) { video_out.appendChild(session.video); });
session.ended(function(session) { video_out.innerHTML=''; });
});
return false; // So the form does not submit.
}
function makeCall(form){
if (!window.phone) alert("Login First!");
else phone.dial(form.number.value);
return false;
}
</script>
</html>
WebRTC 运行在本地主机 HTTPS 上运行
您正在使用 localhost 在笔记本电脑上本地查看 运行 WebRTC 演示。您必须使用 HTTPS。这是您使用本地安全网络服务器进行演示的 GIF 视频 (包括!)。 我们清理了您的视频 DOM/jQuery 代码并更正了一些错误。 您可以找到 WebRTC Source Code on GitHub Gists 的 HTML 来源。
运行 WebRTC 本地演示
这些终端命令会将 html 文件下载到您的本地盒子,为 TLS 加密创建 PEM 密钥,并 运行 使用 Python 的本地 HTTPS 服务器。
curl https://gist.githubusercontent.com/stephenlb/edd4b0c218a72a34349baa004a80fd7a/raw/1b28c5e39db0d5eaabc10006cede0a8825b9afd4/webrtc-demo.html > webrtc-demo.html
python <(curl -L https://gist.githubusercontent.com/stephenlb/2e19d98039469b9d0134/raw/5afefc79647e0786097ca3406dbf93c5de919aed/https.py)
然后打开并接受本地HTTPS连接(同意未知根CA警告)。
open https://0.0.0.0:4443/webrtc-demo.html
运行上面的命令来测试演示。