webrtc 视频直播

webrtc 是一种开源的音视频通信技术,可以不借助中间媒介建立浏览器点对点(peer-to-peer)连接,实现音视频以及其他数据的传输。webrtc具有平台兼容性,低延迟与高实时的优点。今天主要记录一下webrtc的使用记录:

播放HTTP视频链接

视频链接例:http://**/rtc/v1/whep/?app=live&stream=

复制代码
<video id="rtcPlayerId" controls autoplay style="width:100%;height:100%;" />

引入sdk,sdk在资源中可以下载,根据链接使用SrsRtcWhipWhepAsync这个方法来进行播放

复制代码
import { SrsRtcWhipWhepAsync } from './sdk'

接下来就是对初始化播放器了,方法简单,不过多叙述,直接上代码:

复制代码
async initPlayer() {
      //播放地址不存在,直接返回
      if(!this.playUrl) return
      let rtcMediaPlayer = document.getElementById('rtcPlayerId')
      //是否已存在,存在则关闭销毁
      if (this.sdk) {
        this.sdk.close()
        this.sdk = null
      }
      this.sdk = new SrsRtcWhipWhepAsync()
      rtcMediaPlayer.srcObject = this.sdk.stream
      const url = this.playUrl
      try {
        //videoOnly:只播放视频流;audioOnly:只播放音频流
        await this.sdk.play(url,{videoOnly:false,audioOnly:false})
      } catch (err) {
        this.sdk.close()
        console.log(err, 'rtcplayer-error')
      }
    },

注意:在页面关闭时销毁播放器

相关推荐
vipbic2 小时前
别再把“做个H5”挂嘴边了:这个词,官方压根就没有定义过
前端
ZC跨境爬虫3 小时前
跟着 MDN 学CSS day_39:(Flexbox 弹性盒子核心机制)
前端·css·ui·html·tensorflow
小陈同学呦3 小时前
前端如何处理订单状态导航的数据竞态问题
前端·javascript
喵个咪4 小时前
GoWind Toolkit 前端代码生成|Vue3(ElementPlus/Vben)、React(AntDesign)全自动一键生成教程
前端·vue.js·react.js
qq_2518364575 小时前
SpringBoot+Vue 共享电池柜管理系统 完整实现 前后端分离项目实战 完整代码
vue.js·spring boot·后端
摆烂大大王5 小时前
玩转 OpenClaw:用 TaskFlow + Heartbeat 打造自动化工作流
前端·人工智能·自动化
zhangxingchao5 小时前
AI 大模型核心六:量化、Workflow 与 Agent、多轮 RAG
前端·人工智能·后端
梦想的颜色6 小时前
TypeScript 完全指南(上):从零开始掌握类型系统
前端·typescript
之歆6 小时前
Day01_ES6+ 专业指南:从基础到实战的现代JavaScript开发(下)
前端·javascript·es6
lichenyang4536 小时前
鸿蒙 MVVM 实战:从 Demo 到工程化,聊聊登录、状态管理与埋点系统设计
前端