我收到错误:/socket.io/1/?t = 1410234556010 404(未找到)
Socket.prototype.handshake = function (fn) {
var self = this
, options = this.options;
function complete (data) {
if (data instanceof Error) {
self.connecting = false;
self.onError(data.message);
} else {
fn.apply(null, data.split(':'));
}
};
var url = [
'http' + (options.secure ? 's' : '') + ':/'
, options.host + ':' + options.port
, options.resource
, io.protocol
, io.util.query(this.options.query, 't=' + +new Date)
].join('/');
if (this.isXDomain() && !io.util.ua.hasCORS) {
var insertAt = document.getElementsByTagName('script')[0]
, script = document.createElement('script'); …Run Code Online (Sandbox Code Playgroud) 我正在尝试按照Dan Ristic 的这个示例进行RTCDataChannel浏览器 p2p 通信,与 Google 的Channel API进行信号通信。这似乎是默默的失败-我不能得到的RTCDataChannel.onopen,RTCPeerConnection.onicecandidate或者RTCPeerConnection.ondatachannel事件火灾。
<html>
<head>
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="/_ah/channel/jsapi"></script>
<script>
$(document).ready(function(){
var IS_CHROME = !!window.webkitRTCPeerConnection,
RTCPeerConnection = window.webkitRTCPeerConnection || mozRTCPeerConnection,
RTCIceCandidate = window.RTCIceCandidate || RTCSessionDescription,
RTCSessionDescription = window.RTCSessionDescription || mozRTCSessionDescription,
SESSION_ID = "12345",
weAreHost,
optionalRtpDataChannels = {
optional: [{RtpDataChannels: true}]
},
mediaConstraints = {
optional: [],
mandatory: {
OfferToReceiveAudio: false, // Hmm!!
OfferToReceiveVideo: false // Hmm!!
}
};
// Signaling …Run Code Online (Sandbox Code Playgroud) javascript google-app-engine channel-api webrtc rtcdatachannel
WebRTC是否可以免费供Web开发人员在网页上设置视频通话?为什么Twilio每分钟定价25c用于视频通话,对于小家伙来说,在网络托管服务器上管理视频通话的成本太高了?
任何深入WebRTC的人都有任何建议吗?
我正在尝试使用webRTCphp 作为服务器端实现单向语音传输。
查看样本,我无法理解其webRTC机制。
在我看来,流程应该是这样的:
但是示例代码,(在本地机器上运行)
function call() {
trace('Starting call');
var servers = null;
var pcConstraints = {
'optional': []
};
pc1 = new RTCPeerConnection(servers, pcConstraints);
trace('Created local peer connection object pc1');
pc1.onicecandidate = iceCallback1;
pc2 = new RTCPeerConnection(servers, pcConstraints);
trace('Created remote peer connection object pc2');
pc2.onicecandidate = iceCallback2;
pc2.onaddstream = gotRemoteStream;
trace('Requesting local stream');
navigator.mediaDevices.getUserMedia({
audio: true,
video: false
})
.then(gotStream)
.catch(function(e) { …Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用 WebRTC 的用于教育目的的视频会议应用程序。它需要在星形拓扑中完成,因为它最多连接 20 个参与者。
从概念上讲它很容易理解,但我不知道如何开始,因为我没有任何示例。
所有客户端将使用 WebRTC 连接到服务器,服务器将以特定布局混合视频流并将其发送回所有客户端。以下是我的问题/困难:
服务器部分如何实现?什么是最好的技术(例如 NodeJS)?是否有类似星型拓扑应用的简单示例?
我们如何开始编写 MCU 代码?有例子吗?或者更容易定制像 Licode/Lynckia 这样的开源 MCU?
我如何估计我们将用作 MCU 服务器的正确 AWS EC2 实例类型?
我如何估算将在会议的 1 小时内传输的数据传输成本(大小,以 GB/TB 为单位)?
非常感谢,卡洛斯
我正在开发基于 websockets 和 webrtc 的聊天。我想向除发件人以外的所有连接用户发送消息,但我找不到合适的解决方案。更具体地说,我想向其他连接的用户发送新用户已加入聊天的通知。我试图为每个连接的用户提供一个唯一的 ID,但是每个新用户都会重写第一个分配的 ID,我无法区分用户。
服务器:
// list of users
var CLIENTS=[];
var id;
// web server is using 8081 port
var webSocketServer = new WebSocketServer.Server({ port: 8081 });
// check if connection is established
webSocketServer.on('connection', function(ws) {
id = Math.random();
CLIENTS[id] = ws;
CLIENTS.push(ws);
ws.on('message', function(message) {
console.log('received: %s', message);
var received = JSON.parse(message);
if(received.type == "login"){
ws.send(message); // send message to itself
/* *********************************************************** */
/* *** Here I trying to check if message comes from …Run Code Online (Sandbox Code Playgroud) 好的,最近我需要使用 WebRTC 创建一个用于视频语音等的应用程序。
因此,在查看了一些库之后,我发现 SimpleWebRTC 看起来非常漂亮:https : //github.com/andyet/SimpleWebRTC
所以我感兴趣的是如何实现 STUN/TURN 服务器?(如果有人能用简单的英语解释差异,那就太好了!)而且还有身份验证机制。目前,我的应用程序联系我的数据库并登录用户等,但 stun and turn 服务器将是私有的,并且不以任何方式参与身份验证过程。
所以基本上:
请注意,这是针对混合应用程序的,因此我将为此使用 JavaScript/AngularJS。我选择 SimpleWebRTC 的主要原因。
谢谢!
在 iOS 上我可以这样做:
// set a new camera id
cameraId = ([cameraId isEqualToString:frontCameraId]) ? backCameraId : frontCameraId;
// determine if the stream has a video track
BOOL hasActiveVideoTrack = ([self.localMediaStream.videoTracks count] > 0);
// remove video track from the stream
if (hasActiveVideoTrack) {
[self.localMediaStream removeVideoTrack:self.localVideoTrack];
}
// remove renderer from the video track
[self.localVideoTrack removeRenderer:self.localVideoView];
// re init the capturer, video source and video track
localVideoCapturer = nil;
localVideoSource = nil;
localVideoCapturer = [RTCVideoCapturer capturerWithDeviceName:cameraId];
localVideoSource = [peerConnectionFactory videoSourceWithCapturer:localVideoCapturer constraints:mediaConstraints]; …Run Code Online (Sandbox Code Playgroud) 我想将从网络摄像头捕获的视频保存到本地文件。到目前为止,我已经能够:
getUserMedia RecordRTCRecordRTC我不知道如何将视频保存到文件中。调用save()上RecordRTC让我下载的视频文件,但我想要的一切,以对的NodeJS进一步处理发生。无论如何,该文件是可播放的。我试图将 blob 和 dataURL 写入文件,但该文件无法播放。
我正在尝试构建一个可以捕获用户桌面的Web应用程序。我发现此网络api应该可以很好地完成这项工作,但是我似乎无法使其正常工作。现在,应该通过启用标记在最新版本的Edge和Chrome 70上都支持它,但是如果我正在查看导航器对象,则在两种浏览器中都应支持该功能。getDisplayMedia()功能均不存在。我也尝试调用该函数,但收到一条错误消息,说它不是函数(确认它实际上不在导航器中)。可能是什么问题呢?
提前致谢!
编辑:这是我的javascript
function na() {
navigator.mediaDevices.getDisplayMedia({
video: {
mandatory: {
chromeMediaSource: 'desktop',
minWidth: 1280,
maxWidth: 1280,
minHeight: 720,
maxHeight: 720
}
}
}).then((stream)=>console.log(stream))
console.log(navigator)
}
na();
Run Code Online (Sandbox Code Playgroud) webrtc ×10
javascript ×6
node.js ×4
ajax ×1
amazon-ec2 ×1
angularjs ×1
audio ×1
channel-api ×1
electron ×1
json ×1
licode ×1
recordrtc ×1
simplewebrtc ×1
stun ×1
turn ×1
twilio ×1
video ×1
websocket ×1