TSINGSEE青犀视频基于WebRTC编译网页播放平台播放视频video标签在运行却没有画面问题排查

webrtc的优势在于超低延时的直播,在网页直播方面有很高的可用性和发展性。TSINGSEE青犀视频基于webrtc编译的网页播放项目webrtc-client已经完成且后续也在不断优化中。

TSINGSEE青犀视频基于WebRTC编译网页播放平台播放视频video标签在运行却没有画面问题排查

在通过webrtc进行网页播放时,第一次连接正常,可以出现画面和声音;但是服务器关闭,前端重连出现video标签时间进度在跑,但是没有画面的情况。

TSINGSEE青犀视频基于WebRTC编译网页播放平台播放视频video标签在运行却没有画面问题排查

此处我们是先使用webrtc拿到数据流,再用网页的video标签播放。第一次初始化可以播放,说明服务端通过webrtc反馈的数据流没有问题,因此我们判定是js代码取到的数据流有问题,出现了渲染黑屏,而时间线在跑,不播放视频。

解决问题只能分析js代码,因此复现一下数据是怎么操作的,重连进行渲染为什么导致视频出现黑屏现象:

1、函数初始化一个媒体流

TSINGSEE青犀视频基于WebRTC编译网页播放平台播放视频video标签在运行却没有画面问题排查

2、向媒体流添加数据流,使video标签播放出来

TSINGSEE青犀视频基于WebRTC编译网页播放平台播放视频video标签在运行却没有画面问题排查

那么进行重连之后其实是没有进行初始化MediaStream或者没有把之前向里添加的数据流给删除,导致出现多个数据流,因此Video标签渲染失败,出现黑屏现象。

代码修改(把参数初始化即可):

TSINGSEE青犀视频基于WebRTC编译网页播放平台播放视频video标签在运行却没有画面问题排查

上一篇:WebRTC基本原理


下一篇:WebRtc学习之旅 —— 协议介绍