设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 66949|回复: 0

基于nodejs实现音视频的SkyRTC

[复制链接]

110

主题

0

回帖

342

积分

中级会员

Rank: 3Rank: 3

积分
342
发表于 2022-3-26 10:35:06 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
简介

  一个Node.js编写的WebRTC服务器端库,为服务器端库,需要配合客户端库SkyRTC-client共同使用,用于搭建基于WebRTC和WebSocket技术的在线音频、视频聊天室
SkyRTC前端库SkyRTC-client

  SkyRTC-client
简单示例

NPM安装

  执行如下命令从npm进行安装:
  
  1.      $ npm install skyrtc  
复制代码
监听服务器

  
  1.      var express = require('express');       var app = express();       var server = require('http').createServer(app);       var SkyRTC = require('skyrtc').listen(server);       var port = process.env.PORT || 3000;       server.listen(port);  
复制代码
监听WebRTC事件

  SkyRTC继承自EventEmitter, 可以通过如下语法监听事件:
  
  1.      SkyRTC.rtc.on('eventName', function(params) {         //...        });  
复制代码
内置事件



  • new_connect
  • new_peer
  • remove_peer
  • socket_message
  • ice_candidate
  • offer
  • answer
new_connect

  新用户与服务器建立WebSocket连接时触发
  参数:


  • socket——新建立的WebSocket连接实例
new_peer

  用户加入房间后触发
  参数:


  • socket——用户使用的WebSocket连接实例
  • room——房间名称
remove_peer

  用户关闭连接后触发
  参数:


  • socket——用户使用的WebSocket连接实例
socket_message

  客户端向服务器端发送消息,且非自定义事件格式时触发
  参数:


  • socket——用户使用的WebSocket连接实例
  • msg——发送的消息内容
ice_candidate

  接收到ice candidate信令时触发
  参数:


  • socket——用户使用的WebSocket连接实例
  • candidate——ice candidate信令数据
offer

  接收到offer信令时触发
  参数:


  • socket——用户使用的WebSocket连接实例
  • offer——offer信令数据
answer

  接收到answer信令时触发
  参数:


  • socket——用户使用的WebSocket连接实例
  • answer——answer信令数据
接口



  • getRooms
  • broadcastInRoom
  • broadcast
  • getSocket
  • on
getRooms

  用户获取当前服务器上所有房间信息
  参数: 无
  返回值:


  • rooms——所有房间名称的数组
getSocket

  通过socket的id获得socket实例
  参数:


  • id——socket的id
  返回值:


  • socket——WebSocket实例
broadcastInRoom

  在房间中广播消息
  参数:


  • room——被广播消息的房间名称
  • data——消息的具体内容
  • errorCb——广播失败时的回调函数
  返回值: 无
broadcast

  向服务器上的所有用户广播消息
  参数:


  • data——消息的具体内容
  • errorCb——广播失败时的回调函数
  返回值: 无
on

  向服务器上的事件绑定处理器
  参数:


  • eventName——被绑定的事件名称
  • callback——被绑定的事件触发时的回调函数
  返回值: 无
自定义事件

  在SkyRTC中可以自定义事件,在前端页面使用WebSocket发送信息时,以如下JSON格式发送信息:
  
  1.      {           "eventName": "yourOwnEventName",           "data": {               //自定义事件数据            }       }  
复制代码
  在后台通过监听同名事件来进行处理:
  
  1.      SkyRTC.rtc.on("yourOwnEventName", function(data){           //data将是前台所传输的数据        });  
复制代码
  自定义事件请不要与上述SkyRTC原生事件重名

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表