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')
}
},
注意:在页面关闭时销毁播放器