基于WebRTC从0到1实现一个视频聊天室,有Vue3和React两个版本,看下项目视频演示

前言

  写这个项目的原因有两点,起初是因为在上家公司的项目中有这方面业务,但是自己并没有参与其中开发,且自己对这方面还比较感兴趣,想着有时间得学一学玩一玩;因为最近没有工作,刚好满足第一点中的有时间,所有就开始学习并实现了;此项目WebRTC相关模块全程根据MDN文档编写,主要是学习原生WebRTC,未使用其他成熟的开源WebRTC相关库,我也是这方面的初学者,写的不好的地方请多多包涵(我是菜只因,轻点喷),如果你也感兴趣,可以与我交流。

项目介绍

项目概述

  基于WebRTC实现的能够多人视频通话、共享屏幕、设备启停、实时通讯的匿名视频聊天室,项目并不依赖数据库,只依赖信令服务器完成WebRTC连接与断开后重连,核心在前端部分。

  目前项目还比较小,只有一个单页面和几个组件,都是些业务代码,支撑功能实现的代码本菜鸡封装为了一个SDK,不依赖开发框架,可以直接移植使用,项目核心就在于此,文章后面会给出此SDK的API文档;目前还有一些想法没有实现,还在开发当中。

 拉取代码即可在本地部署,部署到服务器需要ssl证书,阿里云可以申请免费证书。

项目展示

基于WebRTC实现了一个视频聊天室,有Vue3和React两个版本

B站传送门点击预览体验

RTCClient

Syntax

new RTCClient(options)

Parameters

options

  • configuration: RTCConfiguration
  • constraints: MediaStreamConstraints
  • socketConfig:
    • host: 域名或者ip
    • port?: 端口号
import RTCClient from 'rtc-client';

const host = 'https://127.0.0.1'
const port = 3000

const rtc = new RTCClient({
   
   
  configuration: {
   
   
    iceServers: [
      {
   
   
        urls: `turn:stun.l.google.com:19302`,
        username: "webrtc",
        credential: "turnserver",
      },
    ],
  },
  constraints: {
   
   
    audio: true,
    video: true
  },
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小米爱老鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值