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')
      }
    },

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

相关推荐
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于Web的餐饮管理系统的设计为例,包含答辩的问题和答案
前端
fanruitian2 小时前
visualstudio code cline使用mcp amap
java·前端·visual studio
lzh_hz3 小时前
zustand源码解析
前端·源码阅读
无声20173 小时前
Turborepo 的 Docker 化实战
前端·vue.js
韭菜炒大葱3 小时前
React 之 自定义 Hooks 🚀
前端·react.js·面试
用户91743965393 小时前
Magnitude:强!一款基于 Al 视觉的 Web 自动化框架
运维·前端·自动化
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue在线教育学习系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·学习·课程设计
军军君014 小时前
Three.js基础功能学习四:摄像机与阴影
开发语言·前端·javascript·3d·typescript·three·三维
lambo mercy4 小时前
python入门
前端·数据库·python
GIS之路5 小时前
GDAL 实现矢量数据读写
前端