我试图弄清楚如何测试STUN/TURN服务器是否存活并正确响应连接.理想情况下,此测试将在外部机器上执行,以防万一STUN/TURN机器因此情况而停机,也应通过连接测试报告.
过去有没有人调查这个案子?建议采用什么解决方案?
我想通过JS尽可能获得最高的视频分辨率navigator.getUserMedia.我知道约束,但在我的情况下不知道如何正确选择.
问题似乎是没有办法说"我想要一个最大分辨率的视频".所以相反,我试图说"我希望视频不低于非常大的分辨率".
当我尝试时minWidth: 1600,Chrome会返回1280×720视频(我认为我的相机可能最高).但是,如果用户拥有更高分辨率的相机呢?所以我要求minWidth: 2048视频,Chrome只返回640×480.
var constraints = {
video: {
optional: [
{minWidth: 2048}
]
}
};
Run Code Online (Sandbox Code Playgroud)
这是在线示例:http://jsbin.com/kibeza/1/watch?js,output
并且存在实际问题:Chrome不懂数学.它认为1600大于2048.我不能要求视频"不低于100500",因为在这种情况下我将得到标准的低分辨率.我不能问视频"不低于一些合理的小分辨率",因为可能有更高分辨率的用户,我想获得更高的分辨率.
WebRTC是一种协议,用于定义对等体之间的媒体数据的传输方法.了解.它也适用于RTP/UDP.这也明白了.
在讨论有关信令服务器时,提到它需要进行兼容性检查/通道启动等等.
我的问题是:如上所述,
1)是否意味着信令服务器是强制性的?
2)WebRTC是否具有在没有签名服务器的情况下直接与其他对等方交谈的智能?
3)与webRTC相关的每篇文章都以"浏览器与浏览器通信之间的状态?"开头,是否意味着,webRTC不能用于a)带摄像头的嵌入式设备[无浏览器],b)其他地方的浏览器.
4)此外,如果使用webRTC与传统的流式传输方式相比,获得的收益是多少?[老实说,我不知道遗留的方式].
我知道这是一个理论问题.虽然,我看到这种问题可能在不同的背景下浮现在互联网上.希望这个问题能给出一些架构层面的答案 谢谢.
我们正在探索WebRTC,但已经看到了有关今天可能和支持的相互矛盾的信息.
使用WebRTC,是否可以重新创建类似于join.me或WebEx的屏幕共享服务,其中:
今天是否可以使用任何WebRTC浏览器?iOS上的Chrome怎么样?
我想创建一个WebRTC对等体,它是一个简单的监听器/记录器,没有"演示"组件(即没有HTML/CSS).
如果可以,(使用WebRTC JavaScript API),请告诉我我可以使用的独立 JavaScript引擎(我正在考虑安装一个独立的V8引擎).
谢谢.
我正在研究webrtc应用程序,必须实现以下TURN服务器.
https://code.google.com/p/rfc5766-turn-server/
我正在学习本教程.
http://www.dialogic.com/den/developer_forums/f/71/t/10238.aspx
它表示在创建RTCPeerConnection的javascript代码中如下引用TURN服务器.
var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"},
{"url":"turn:<turn_server_ip_address>", "username":"my_username", "credential":"my_password"}]};
pc_new = new webkitRTCPeerConnection(pc_config);
Run Code Online (Sandbox Code Playgroud)
我有点困惑,为什么我们引用谷歌的公共STUN服务器.我以为RFC5766 TURN服务器里面有STUN.
RFC5766只有TURN服务器吗?而不是STUN服务器?我们不能实现自己的STUN服务器,而不是使用谷歌提供的服务器吗?
抱歉这样天真的问题.我是WebRTC的新手.
谢谢.
我正在尝试使用WebRtc Native apis创建一个用于视频聊天和消息传递的Android应用程序.我已经通过几个链接,发现android的大部分文档都很模糊,特别是如果你不知道从哪里开始.我按照以下链接,
https://webrtc.org/native-code/android/#
https://www.chromium.org/developers/how-tos/android-build-instructions
但上面提到的链接没有任何意义,因为我想开发一个Android应用程序,这些链接建议下载铬然后构建它.我知道最终的结果将是一个apk,但如果我想编码自己怎么办.我也查看了pubnub和OpenTokRtc,但我也不想使用某些elses信令服务(以及pub和sub键).我尝试了以下链接,
https://github.com/pristineio/webrtc-build-scripts
但对于WebRTC的新手而言,这似乎有点不完整,因为它建议通过以下命令获取WebRtc,
# Pull WebRTC
get_webrtc
Run Code Online (Sandbox Code Playgroud)
最后我尝试了以下链接,
http://simonguest.com/2013/08/06/building-a-webrtc-client-for-android/
但是本教程的问题在于它根本没有更新.Libjingle现在已经转移到github,我不知道如何使用gclient从github获取libjingle.
我的这场斗争是一场灾难.任何人都可以帮我一些更新的文档或教程,我可以用它来了解我需要使用webRTC native apis开发应用程序到底需要什么?请不要给我任何OpenTokRtc或PubNub的链接.
谢谢
我想知道有工具或任何方法我可以看到底层的WebRTC点对点连接?
举个简单的例子,如果我使用webrtc实现视频聊天,所有连接(offer,answer,ice)都已建立,但是我看不到视频流,我怎样才能调试并看到在这些之间有任何数据包或什么东西发送两个同行与否.
我一直在研究这个问题但很沮丧,因为我觉得解决方案应该很简单,尽管我知道不会.理想情况下,我只想使用node来托管服务器,webrtc getusermedia来获取本地客户端上的实时流,并使用类似socket.io的内容将流发送到服务器,然后服务器将流广播到远程服务器客户; 好像它是一个简单的消息聊天应用程序.
只是考虑一下这似乎是一种简单的方法,因为实时视频需要连续发送大量数据,这并不等于在事件发送后发送单个消息甚至文件(按下发送按钮) .
也许我错了,但是直播视频流应用程序是否可以遵循node/socket.io messenger app的相同结构?你会发送从getUserMedia返回的媒体对象,blob,一些二进制数据吗(我已经尝试了所有这些,但可能没有正确).
理想的目标是一个应用程序,根据需要使用尽可能少的额外绒毛,安装很少的npm,几乎没有额外的JavaScript库,或者很少担心编码/解码或者ICE或STUN到底是什么.有什么方法可以这样做,还是我要求太多?
理想的客户
var socket = io();
var local = document.getElementById("local_video");
var remote = document.getElementById("remote_video");
// display local video
navigator.mediaDevices.getUserMedia({video: true, audio: true}).then(function(stream) {
local.src = window.URL.createObjectURL(stream);
socket.emit("stream", stream);
}).catch(function(err){console.log(err);});
// displays remote video
socket.on("stream", function(stream){
remote.src = window.URL.createObjectURL(stream);
});
Run Code Online (Sandbox Code Playgroud)
理想服务器
var app = require("express")();
var http = require("http").Server(app);
var fs = require("fs");
var io = require("socket.io")(http);
app.get('/', onRequest);
http.listen(process.env.PORT || 3000, function() {
console.log('server started');
})
//404 response …Run Code Online (Sandbox Code Playgroud) 我正在构建一个通过webRTC使用计算机网络摄像头的Web应用程序.该站点仅在一台特定的计算机上运行,该计算机将每天关闭并重新启动一次.
我的问题是:如何在网站加载后让机器自动确认网络摄像头对话框?
该系统是OSX Leopard和最新的Chrome.谢谢,我很开心.