Commit d3b756175cb040cf85f999e609fd006e28ffb999
Merge branch 'fix/video-time-delay' into 'main_dev'
fix: 修复videojs切换至其他页面,返回播放界面,视频时延问题 See merge request yunteng/thingskit-view!189
Showing
1 changed file
with
16 additions
and
1 deletions
@@ -125,7 +125,22 @@ const initVideo = async () => { | @@ -125,7 +125,22 @@ const initVideo = async () => { | ||
125 | } | 125 | } |
126 | } | 126 | } |
127 | } | 127 | } |
128 | - videoPlayer = videojs(videoRef.value, options) | 128 | + videoPlayer = videojs(videoRef.value, options) //fix 修复videojs解决直播延时的问题 |
129 | + videoPlayer?.on('timeupdate', function () { | ||
130 | + // 计算表最新推流的时间和现在播放器播放推流的时间 | ||
131 | + let differTime = | ||
132 | + (videoPlayer as any as videojs.Player)?.buffered()?.end(0) - | ||
133 | + (videoPlayer as any as videojs.Player)?.currentTime() // 差值小于1.5s时根据1倍速进行播放 | ||
134 | + if (differTime < 1.5) { | ||
135 | + videoPlayer?.playbackRate(1) | ||
136 | + } // 差值大于1.5s小于10s根据1.2倍速进行播放 | ||
137 | + if (differTime < 10 && differTime > 1.5) { | ||
138 | + videoPlayer?.playbackRate(1.2) | ||
139 | + } // 差值大于10s时进行重新加载直播流 | ||
140 | + if (differTime > 10) { | ||
141 | + initVideo() | ||
142 | + } | ||
143 | + }) // | ||
129 | } | 144 | } |
130 | } | 145 | } |
131 | } | 146 | } |