goldvideo / h265player

一套完整的Web版H.265播放器解决方案,非常适合学习交流和实际应用。基于JS码流解封装、WebAssembly(FFmpeg)视频解码,利用Canvas画布投影、AudioContext播放音频。
https://goldvideo.github.io/h265player/
1.53k stars 298 forks source link

h265的.m3u8直播流只加载一次m3u8,只拿到一次分片ts #82

Closed fjnpqsr closed 2 years ago

fjnpqsr commented 2 years ago

image

控制台日志输出

Logger.js?5e70:39 [GOLDPLAY AudioPlayer.js][onMSEReady>AudioPlayerReady] 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][bindEvent>audioPlayer ready] 2022/6/29 10:40:31
HTTP.js?422a:339 
{data: {…}}
HLSLoader.js?816b:71 
MessageEvent {isTrusted: true, data: {…}, origin: '', lastEventId: '', source: null, …}
 '>>>>>>>>>>>>>>>>>>'
Logger.js?5e70:39 [GOLDPLAY HLSDataManage.js][startLoad>begin to load ts data] time: 0 2022/6/29 10:40:31
Decode.js?5d20:32 wasm loaded
libffmpeg.js:1159 [][Core][DT] Decoder initialized 0.
Decode.js?5d20:48 opendecode
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][bindEvent>decoder ready] 2022/6/29 10:40:31
6
Logger.js?5e70:39 [GOLDPLAY HLSLoader.js][loadfile>httpWorker] onmessage get data 2022/6/29 10:40:31
HTTP.js?422a:339 
{data: {…}}
Logger.js?5e70:39 [GOLDPLAY HLSLoader.js][loadfile>httpWorker] onmessage get data 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY HLSLoader.js][loadFile>read success] data no: 1 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][bindEvent>first data ready] 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][checkReady>player ready] 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][bindEvent>player ready] 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY StreamController.js][startLoad>index:] 1 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY StreamController.js][onRead>get stream data] 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY DataProcessorController.js][onStartDemux>postMessage to demux] 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY HLSLoader.js][isNotFree>check status for loader] notice: []loader is not free. please wait. 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY HLSLoader.js][loadFile>is loading] segment: 
SegmentModel {no: 2, name: 'no desc', duration: 1.96, file: 'livestream-148758.ts', start: 1.96, …}
 type: play 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY StreamController.js][bindevent>Events.AudioPlayerDataReady] 2022/6/29 10:40:31
3
Logger.js?5e70:39 [GOLDPLAY HLSLoader.js][loadfile>httpWorker] onmessage get data 2022/6/29 10:40:31
HTTP.js?422a:339 
{data: {…}}
Logger.js?5e70:39 [GOLDPLAY HLSLoader.js][loadfile>httpWorker] onmessage get data 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY HLSLoader.js][loadFile>read success] data no: 2 2022/6/29 10:40:31
Logger.js?5e70:39 [GOLDPLAY StreamController.js][bindevent>Events.ImagePlayerReady] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][bindEvent>dataReady] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][play>init] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][start play] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY Action.js][play>play start] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY ImagePlayer.js][Events.ImagePlayerWait>21674929] 21674929 21674929 null 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY ImagePlayer.js][render>not yuv data] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY StreamController.js][player status wait] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][onWait>wait,wait,wait] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][onPlay>play, play, play] 2022/6/29 10:40:32
Logger.js?5e70:39 [GOLDPLAY StreamController.js][bindevent>Events.ImagePlayerReady] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][bindEvent>dataReady] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][play>wait] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][start play] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY Action.js][play>play start] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY Screen.js][drawFrame>reandertime:] 13 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][onPlay>play, play, play] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY StreamController.js][onAppendEnd>start load next ts condition] true 1 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY StreamController.js][onAppendEnd>load next ts. currentIndex:] 1 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY StreamController.js][loadNext>load next ts] tsno: 2 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY StreamController.js][onRead>get stream data] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY StreamController.js][onRead>the last ts] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY DataProcessorController.js][onStartDemux>postMessage to demux] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY StreamController.js][bindevent>Events.AudioPlayerDataReady] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][bindEvent>dataReady] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY GoldPlay.js][play>playing] 2022/6/29 10:40:33
Logger.js?5e70:39 [GOLDPLAY StreamController.js][onAppendEnd>events.decodeFlush] true 2022/6/29 10:40:35
libffmpeg.js:1159 [][Core][DT] Video codec context closed.
libffmpeg.js:1159 [][Core][DT] Video codec context closed.
libffmpeg.js:1159 [][Core][DT] All buffer released.
Logger.js?5e70:39 [GOLDPLAY StreamController.js][flushend>>>>>>>>>>>>>>>>21678849] 2022/6/29 10:40:35
Logger.js?5e70:39 [GOLDPLAY StreamController.js][bindevent>........imageplayer end] 2022/6/29 10:40:37

.m3u8流文件格式

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:YES
#EXT-X-MEDIA-SEQUENCE:148757
#EXT-X-TARGETDURATION:2
#EXTINF:1.960, no desc
livestream-148757.ts
#EXTINF:1.960, no desc
livestream-148758.ts

请问下如何能持续的请求m3u8获取后续的分片ts

fjnpqsr commented 2 years ago

看了其他issue的回复不支持直播