WebRTC播放器通过js Video标签拉流播放有时无法刷新视频画面的原因排查

对于WebRTC的研究,TSINGSEE青犀视频已经进入一个更深的阶段,不仅仅满足于播放或者分屏此类功能,还需要视频的连贯、自动刷新等功能。

WebRTC.png

在WebRTC播放器的开发中,我们使用的是js Video标签,在播放WebRTC拉到流时,有大部分几率出现下图状况,图像刷新不出来。

69.png

在界面中点击开始按钮,流可以播放出来。但是在代码添加video.onloadedmetadata方法,里面写入video.load()和video.play()函数,再多次刷新页面也会出现视频没有刷新出来的情况。

70.png

这里我们想到用定时器去刷新video标签,使用的是video.load()方法,通过这种方法测试后,视频流的播放确实可以刷新出来,但是会导致视频播放界面闪烁,造成卡顿的假象,体验不好。

因此我们上网查询了一下,导致这个问题的主要原因,是浏览器不允许用户对网页进行触发之前播放音频,而视频不受限制。但因为视频文件同时包含了音频,所以也同样被禁止。

这个问题比较常见的做法是在video标签加上muted属性,或者使用js加上video.muted = false,这样即可解决WebRTC的播放问题了。

webrtcclient.png

WebRTC的播放仍需我们进一步的拓展,我们也会不定期将我们的开发过程通过博文进行记录,大家可以关注我们获取最新消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值