All Projects → Nirvana-cn → Live-platform

Nirvana-cn / Live-platform

Licence: other
在线直播系统

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to Live-platform

bluetooth stack
这是一个开源的双模蓝牙协议栈(bluetooth.stack)(btstack),可以运行在STM32,Linux.,包含HCI,L2CAP,SDP,RFCOMM,HFP,SPP,A2DP,AVRCP,AVDTP,AVCTP,OBEX,PBAP等协议,后续会继续维护,以达到商用的目的
Stars: ✭ 204 (+871.43%)
Mutual labels:  sdp
semantic-sdp-js
WebRTC Semantic SDP - Minimal SDP information semantic data model and parsing tools
Stars: ✭ 68 (+223.81%)
Mutual labels:  sdp
sdp-pipeline-framework
The Solutions Delivery Platform runtime pipeline framework
Stars: ✭ 41 (+95.24%)
Mutual labels:  sdp
sdp
A Go implementation of the SDP
Stars: ✭ 89 (+323.81%)
Mutual labels:  sdp
sdp-anatomy
Source code for webrtcHacks' Anatomy of a SDP
Stars: ✭ 60 (+185.71%)
Mutual labels:  sdp
ProxSDP.jl
Semidefinite programming optimization solver
Stars: ✭ 69 (+228.57%)
Mutual labels:  sdp
CSDP.jl
Julia Wrapper for CSDP (https://projects.coin-or.org/Csdp/)
Stars: ✭ 18 (-14.29%)
Mutual labels:  sdp
go-sip-ua
Go SIP UA library for client/b2bua
Stars: ✭ 129 (+514.29%)
Mutual labels:  sdp
PyLMI-SDP
[UNMAINTAINED] Symbolic linear matrix inequalities (LMI) and semi-definite programming (SDP) tools for Python
Stars: ✭ 20 (-4.76%)
Mutual labels:  sdp
sdp
sdp encode/decode for golang
Stars: ✭ 25 (+19.05%)
Mutual labels:  sdp
kvazzup
Open software for HEVC video calls
Stars: ✭ 30 (+42.86%)
Mutual labels:  sdp
libjuice
JUICE is a UDP Interactive Connectivity Establishment library
Stars: ✭ 197 (+838.1%)
Mutual labels:  sdp
mystery
WebRTC Server implemented by ❤️ Rust + Node.js.
Stars: ✭ 150 (+614.29%)
Mutual labels:  sdp
sdp
Java SDP library with ABNF strict parsing
Stars: ✭ 19 (-9.52%)
Mutual labels:  sdp

基于WebRTC的在线直播系统

目录下安装包依赖

npm install

浏览打开127.0.0.1:3003,主播用户名为 000,开启直播。

获取当前连接状态需要websocket服务器的支持,在wsServer目录下运行,

npm install

安装完成之后运行websocket服务(对于mongodb存储部分代码可先行注释掉)

node server.js

server代码量较少,服务器主要提供数据交换的功能,主要逻辑集中在html页面中。

主要流程如下:

  1. 用户输入用户名,服务器对获取到的用户名进行验证,如果是主播则触发live事件;

  2. 主播触发live事件后,获取视频流,等待watcher的连接;

  3. 对于非主播的用户名,则定义为watcher,用一个map结构保存所有的watcher同辈连接(RTCPeerConnection);

  4. 进行WebRTC连接的相关工作,通过服务器发送offer,answer和icecandidate

个人博客:如何建立WebRTC连接

未来计划:

  1. 添加登录验证(用户名、密码、手机验证码、cookie),优化用户界面
  2. 弹幕效果
  3. 移动端自适应

正在Flutter平台上实现上面的计划😄

传送门:Flutter WebRTC APP

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].