langhuihui / jessibuca

Jessibuca是一款开源的纯H5直播流播放器
https://jessibuca.com
GNU General Public License v3.0
2.04k stars 395 forks source link

画面花屏和全屏模式播放卡顿的问题 #361

Open zhangyahan opened 5 months ago

zhangyahan commented 5 months ago

在小窗模式下播放不卡顿,双击切换至全屏模式下,画面卡顿严重。而且在小窗模式下偶然还会存在花屏(绿屏)的问题。

切换全屏的日志如下: Jessibuca: [Video] init Jessibuca: [Recorder] init Jessibuca: [Webcodecs] init Jessibuca: [Control] init Jessibuca: [Player] use WCS Jessibuca: [Player options] {videoBuffer: 0, videoBufferDelay: 1000, isResize: false, isFullResize: false, isFlv: false, …} Jessibuca: [jessibuca] _initPlayer {videoBuffer: 0, videoBufferDelay: 1000, isResize: false, isFullResize: false, isFlv: false, …} Jessibuca: [player events] loading true Jessibuca: [WebsocketLoader] init Jessibuca: [common dumex] init Interval Jessibuca: [FlvDemux] init Jessibuca: [Video] play and readyState: 0 Jessibuca: [Video] readyState is 0 and set _delayPlay to true Jessibuca: [websocketLoader] socket open Jessibuca: [player events] videoInfo {width: 1920, height: 1088, encType: 'H264(AVC)'} Jessibuca: [player events] playToRenderTimes {playInitStart: 1704966071978, playStart: 1704966071979, streamStart: 1704966071979, streamResponse: 1704966072295, demuxStart: 1704966072342, …} Jessibuca: [player events] start undefined Jessibuca: [player events] loading false Jessibuca: [player events] playing true Jessibuca: [player events] volumechange 0 Jessibuca: [player events] play undefined Jessibuca: [Video] canplay and _delayPlay is true Jessibuca: [Video] _play success Jessibuca: [player events] kBps 695.52 Jessibuca: [player events] stats {buf: 314, fps: 29, abps: 0, vbps: 814148, ts: 0} Jessibuca: [player events] performance 2 Jessibuca: [player events] kBps 242.20 Jessibuca: [player events] stats {buf: 352, fps: 26, abps: 0, vbps: 689216, ts: 0} Jessibuca: [player events] performance 2 Jessibuca: [player events] kBps 747.24 Jessibuca: [player events] fullscreen$2 true Jessibuca: [player events] resize undefined Jessibuca: [player events] stats {buf: 344, fps: 25, abps: 0, vbps: 320196, ts: 0} Jessibuca: [player events] performance 2 Jessibuca: [player events] resize undefined Jessibuca: [player events] kBps 227.60 Jessibuca: [player events] stats {buf: 190, fps: 24, abps: 0, vbps: 720592, ts: 0} Jessibuca: [player events] performance 2 Jessibuca: [player events] kBps 754.34 Jessibuca: [player events] stats {buf: 202, fps: 9, abps: 0, vbps: 280029, ts: 0} Jessibuca: [player events] performance 0 59[Violation] 'requestAnimationFrame' handler took ms Jessibuca: [player events] kBps 193.26 Jessibuca: [player events] stats {buf: 230, fps: 3, abps: 0, vbps: 706476, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 712.49 Jessibuca: [player events] stats {buf: 980, fps: 2, abps: 0, vbps: 284356, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 236.48 Jessibuca: [player events] stats {buf: 980, fps: 0, abps: 0, vbps: 77990, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 688.58 Jessibuca: [player events] stats {buf: -1, fps: 1, abps: 0, vbps: 899723, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 369.19 Jessibuca: [player events] stats {buf: -1, fps: 2, abps: 0, vbps: 649881, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 576.61 Jessibuca: [player events] stats {buf: -1, fps: 0, abps: 0, vbps: 634610, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 342.14 Jessibuca: [player events] stats {buf: -1, fps: 0, abps: 0, vbps: 477351, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 509.37 Jessibuca: [player events] stats {buf: 714, fps: 1, abps: 0, vbps: 225199, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 396.74 Jessibuca: [player events] stats {buf: 714, fps: 0, abps: 0, vbps: 789824, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 529.94 Jessibuca: [player events] kBps 515.85 Jessibuca: [player events] stats {buf: 629, fps: 1, abps: 0, vbps: 525145, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] kBps 386.39 Jessibuca: [player events] stats {buf: 629, fps: 0, abps: 0, vbps: 472967, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] fullscreen$2 false Jessibuca: [player events] stats {buf: 629, fps: 0, abps: 0, vbps: 115180, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] resize undefined Jessibuca: [player events] kBps 382.46 Jessibuca: [player events] kBps 1008.08 Jessibuca: [player events] stats {buf: -1, fps: 1, abps: 0, vbps: 1370191, ts: 0} Jessibuca: [player events] performance 0 Jessibuca: [player events] stats {buf: 33, fps: 102, abps: 0, vbps: 397730, ts: 0} Jessibuca: [player events] performance 2 Jessibuca: [player events] kBps 453.49 Jessibuca: [player events] kBps 549.02 Jessibuca: [player events] stats {buf: 68, fps: 36, abps: 0, vbps: 563123, ts: 0} Jessibuca: [player events] performance 2 Jessibuca: [player events] kBps 380.00 Jessibuca: [player events] stats {buf: 33, fps: 24, abps: 0, vbps: 390297, ts: 0} Jessibuca: [player events] performance 2 Jessibuca: [websocketLoader] destroy Jessibuca: [CommonDemux] destroy Jessibuca: [FlvDemux] destroy Jessibuca: [Webcodecs] destroy Jessibuca: [player events] playing false Jessibuca: [player events] volumechange 0 Jessibuca: [player events] pause undefined Jessibuca: [Events] destroy Jessibuca: [Video] destroy Jessibuca: [Recorder] destroy Jessibuca: [control] destroy Jessibuca: [Events] destroy Jessibuca: [player events] destroy undefined Jessibuca: [play] destroy end

zhangyahan commented 5 months ago

全屏后 fps 降低的很厉害,都到0了。有进一步排查的方法吗

zhangyahan commented 5 months ago

而且在播放多路视频的时候也会时不时得发生卡顿,页面的运行效率太低会发生这类情况吗?因为我的页面还渲染了一个三维场景,通过性能检查器法线每帧都在60ms左右, @bosscheng image