标签: webrtc

Javascript - socket.io get显示未找到

我收到错误:/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)

javascript ajax google-chrome node.js webrtc

0
推荐指数
1
解决办法
280
查看次数

带有 Google Channel API 的 RTCDataChannel

我正在尝试按照Dan Ristic 的这个示例进行RTCDataChannel浏览器 p2p 通信,与 Google 的Channel API进行信号通信。这似乎是默默的失败-我不能得到的RTCDataChannel.onopenRTCPeerConnection.onicecandidate或者RTCPeerConnection.ondatachannel事件火灾。

客户端 JS/HTML:

<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

0
推荐指数
1
解决办法
1515
查看次数

Twilio WebRTC与DIY WebRTC

WebRTC是否可以免费供Web开发人员在网页上设置视频通话?为什么Twilio每分钟定价25c用于视频通话,对于小家伙来说,在网络托管服务器上管理视频通话的成本太高了?

任何深入WebRTC的人都有任何建议吗?

twilio webrtc

0
推荐指数
2
解决办法
4018
查看次数

webRTC 上的音频/语音

我正在尝试使用webRTCphp 作为服务器端实现单向语音传输。

查看样本,我无法理解其webRTC机制。

在我看来,流程应该是这样的:

  1. 呼叫者和接收者在服务器上注册
  2. 接收方监听来电
  3. 呼叫者向服务器询问接收者的 IP
  4. 服务器将 IP 发送给呼叫者
  5. 来电者直接连接到接收者

但是示例代码,(在本地机器上运行)

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)

javascript audio webrtc

0
推荐指数
1
解决办法
792
查看次数

WebRTC 视频会议应用程序 - 星型拓扑:如何开始?

我正在开发一个使用 WebRTC 的用于教育目的的视频会议应用程序。它需要在星形拓扑中完成,因为它最多连接 20 个参与者。

从概念上讲它很容易理解,但我不知道如何开始,因为我没有任何示例。

所有客户端将使用 WebRTC 连接到服务器,服务器将以特定布局混合视频流并将其发送回所有客户端。以下是我的问题/困难:

  • 服务器部分如何实现?什么是最好的技术(例如 NodeJS)?是否有类似星型拓扑应用的简单示例?

  • 我们如何开始编写 MCU 代码?有例子吗?或者更容易定制像 Licode/Lynckia 这样的开源 MCU?

  • 我如何估计我们将用作 MCU 服务器的正确 AWS EC2 实例类型?

  • 我如何估算将在会议的 1 小时内传输的数据传输成本(大小,以 GB/TB 为单位)?

非常感谢,卡洛斯

amazon-ec2 node.js video-conferencing webrtc licode

0
推荐指数
1
解决办法
1440
查看次数

Websockets:向除发件人以外的所有客户端发送消息和通知

我正在开发基于 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)

javascript json websocket node.js webrtc

0
推荐指数
1
解决办法
5289
查看次数

WebRTC 和身份验证实现

好的,最近我需要使用 WebRTC 创建一个用于视频语音等的应用程序。

因此,在查看了一些库之后,我发现 SimpleWebRTC 看起来非常漂亮:https : //github.com/andyet/SimpleWebRTC

所以我感兴趣的是如何实现 STUN/TURN 服务器?(如果有人能用简单的英语解释差异,那就太好了!)而且还有身份验证机制。目前,我的应用程序联系我的数据库并登录用户等,但 stun and turn 服务器将是私有的,并且不以任何方式参与身份验证过程。

所以基本上:

  • 什么是实现 STUN/TURN 的最佳方式
  • 有什么认证机制吗?

请注意,这是针对混合应用程序的,因此我将为此使用 JavaScript/AngularJS。我选择 SimpleWebRTC 的主要原因。

谢谢!

stun webrtc angularjs turn simplewebrtc

0
推荐指数
1
解决办法
1915
查看次数

如何在通话中交换 webrtc 中的相机源(javascript API)

在 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)

javascript webrtc

0
推荐指数
1
解决办法
6586
查看次数

将捕获的视频保存到 Electron 中的文件

我想将从网络摄像头捕获的视频保存到本地文件。到目前为止,我已经能够:

  1. 创建一个流 getUserMedia
  2. 封装流 RecordRTC
  3. RecordRTC

我不知道如何将视频保存到文件中。调用save()RecordRTC让我下载的视频文件,但我想要的一切,以对的NodeJS进一步处理发生。无论如何,该文件是可播放的。我试图将 blob 和 dataURL 写入文件,但该文件无法播放。

video node.js webrtc electron recordrtc

0
推荐指数
1
解决办法
3270
查看次数

不支持navigator.mediaDevices.getDisplayMedia

我正在尝试构建一个可以捕获用户桌面的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)

javascript webrtc get-display-media

0
推荐指数
1
解决办法
1587
查看次数