langhuihui / jessibuca

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

技术咨询,手机端推送国标流11秒自动断开 #382

Open ruikc opened 3 weeks ago

ruikc commented 3 weeks ago

使用国标协议,通过手机端推送直播流,前端只播放11秒就会主动断开接流,画面就会卡住,导致zlmediakit注销媒体,直播流就播放不了了,实在找不到为什么每次都是11秒断开,下面是日志,麻烦大佬

ruikc commented 3 weeks ago

播放器的播放日志

Jessibuca: [decoderWorker] onmessage: init
jessibuca.js:1 Jessibuca: [player] has loaded
jessibuca.js:1 Jessibuca: [player events] decoderWorkerInit undefined
jessibuca.js:1 Jessibuca: [player events] mute false
JessibucaDemo.vue:262 on mute false
JessibucaDemo.vue:267 on mute2 false
jessibuca.js:1 Jessibuca: [player events] volumechange 0.5
jessibuca.js:1 Jessibuca: [player events] volume 0.5
jessibuca.js:1 Jessibuca: [FetchStream] fetchStream http://192.168.3.65:8088/rtp/0BEBC204.live.flv {}
decoder.js:1 Jessibuca: [worker] init
jessibuca.js:1 Jessibuca: [Video] play and readyState: 0
jessibuca.js:1  Jessibuca: [Video] readyState is 0 and set _delayPlay to true
warn @ jessibuca.js:1
play @ jessibuca.js:1
(匿名) @ jessibuca.js:1
r @ jessibuca.js:1
emit @ jessibuca.js:1
(匿名) @ jessibuca.js:1
Promise.then(异步)
fetchStream @ jessibuca.js:1
(匿名) @ jessibuca.js:1
Promise.then(异步)
(匿名) @ jessibuca.js:1
play @ jessibuca.js:1
(匿名) @ jessibuca.js:1
_play @ jessibuca.js:1
(匿名) @ jessibuca.js:1
Promise.then(异步)
(匿名) @ jessibuca.js:1
play @ jessibuca.js:1
play @ JessibucaDemo.vue:336
handler @ JessibucaDemo.vue:164
run @ vue.runtime.esm.js:4562
flushSchedulerQueue @ vue.runtime.esm.js:4304
eval @ vue.runtime.esm.js:1980
flushCallbacks @ vue.runtime.esm.js:1906
Promise.then(异步)
timerFunc @ vue.runtime.esm.js:1933
nextTick @ vue.runtime.esm.js:1990
queueWatcher @ vue.runtime.esm.js:4396
update @ vue.runtime.esm.js:4538
notify @ vue.runtime.esm.js:730
reactiveSetter @ vue.runtime.esm.js:1055
proxySetter @ vue.runtime.esm.js:4625
eval @ equipment-list.vue:574
Promise.then(异步)
lookDetail @ equipment-list.vue:572
click @ equipment-list.vue:220
invokeWithErrorHandling @ vue.runtime.esm.js:1854
invoker @ vue.runtime.esm.js:2179
invokeWithErrorHandling @ vue.runtime.esm.js:1854
Vue.$emit @ vue.runtime.esm.js:3882
handleClick @ element-ui.common.js:9417
invokeWithErrorHandling @ vue.runtime.esm.js:1854
invoker @ vue.runtime.esm.js:2179
original._wrapper @ vue.runtime.esm.js:6911
显示 19 更多框架
显示简略信息
jessibuca.js:1 Jessibuca: [decoderWorker] onmessage: audioCode 7
decoder.js:1  Jessibuca: [worker]: [pcm_alaw @ 0x61e9d0] Warning: not compiled with thread support, using thread emulation
printErr @ decoder.js:1
put_char @ decoder.js:1
write @ decoder.js:1
write @ decoder.js:1
doWritev @ decoder.js:1
fd_write @ decoder.js:1
$func2273 @ decoder.wasm:0xaf7a4
$func2312 @ decoder.wasm:0xb205e
$func2082 @ decoder.wasm:0xa2c0f
$func2080 @ decoder.wasm:0xa24c0
$func2084 @ decoder.wasm:0xa2ca7
$func2083 @ decoder.wasm:0xa2c39
$func1984 @ decoder.wasm:0x9cb8c
$func58 @ decoder.wasm:0x2bca
$func73 @ decoder.wasm:0x5e83
AudioDecoder$decode @ VM12:10
self.onmessage @ decoder.js:1
jessibuca.js:1 Jessibuca: [decoderWorker] onmessage: initAudio channels:1,sampleRate:48000
jessibuca.js:1 Jessibuca: [player events] audioInfo {"encType":"ALAW","channels":1,"sampleRate":48000,"encTypeCode":7}
JessibucaDemo.vue:271 audioInfo {encTypeCode: 7, __ob__: Observer}
jessibuca.js:1  [Deprecation]The ScriptProcessorNode is deprecated. Use AudioWorkletNode instead. (https://bit.ly/audio-worklet)
initScriptNode @ jessibuca.js:1
decoderWorker.onmessage @ jessibuca.js:1
jessibuca.js:1 Jessibuca: [MediaSource] timeInit set false , cacheTrack = {}
jessibuca.js:1 Jessibuca: [MediaSource] updateVideoInfo: 1920,1080
jessibuca.js:1 Jessibuca: [player events] videoInfo {"width":1920,"height":1080,"encType":"H264(AVC)","encTypeCode":7}
JessibucaDemo.vue:284 videoInfo {__ob__: Observer}
jessibuca.js:1 Jessibuca: [player events] start undefined
JessibucaDemo.vue:296 frame start
jessibuca.js:1 Jessibuca: [player events] loading false
jessibuca.js:1 Jessibuca: [player events] playing true
jessibuca.js:1 Jessibuca: [player events] volumechange 0.5
jessibuca.js:1 Jessibuca: [player events] play undefined
JessibucaDemo.vue:254 on play
jessibuca.js:1 Jessibuca: [player events] playToRenderTimes {"playInitStart":1717986578753,"playStart":1717986578776,"streamStart":1717986578776,"streamResponse":1717986579098,"demuxStart":1717986579098,"decodeStart":1717986579105,"videoStart":1717986579536,"playTimestamp":23,"streamTimestamp":0,"streamResponseTimestamp":322,"demuxTimestamp":0,"decodeTimestamp":7,"videoTimestamp":431,"allTimestamp":783}
jessibuca.js:1 Jessibuca: [MediaSource] timeInit set true
jessibuca.js:1 Jessibuca: [Video] timeupdate and this.isPlaying is false and retry play
jessibuca.js:1 Jessibuca: [Video] canplay
jessibuca.js:1 Jessibuca: [Video] canplay and _delayPlay is true and next play()
jessibuca.js:1 Jessibuca: [Video] _play success
jessibuca.js:1 Jessibuca: [Video] waiting
jessibuca.js:1 Jessibuca: [Video] canplay
jessibuca.js:1 Jessibuca: [player events] kBps 389.92
JessibucaDemo.vue:317 kBps 389.92
jessibuca.js:1 Jessibuca: [player events] stats {"buf":209,"fps":13,"abps":7704,"vbps":640290,"ts":604}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] kBps 828.12
JessibucaDemo.vue:317 kBps 828.12
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":16,"abps":8346,"vbps":883913,"ts":1840}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 1
jessibuca.js:1 Jessibuca: [player events] kBps 764.72
JessibucaDemo.vue:317 kBps 764.72
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":1,"abps":8025,"vbps":773993,"ts":2739}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] kBps 789.09
JessibucaDemo.vue:317 kBps 789.09
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":1,"abps":7704,"vbps":754278,"ts":3571}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] kBps 680.78
JessibucaDemo.vue:317 kBps 680.78
jessibuca.js:1 Jessibuca: [Video] waiting
jessibuca.js:1 Jessibuca: [player events] stats {"buf":202,"fps":2,"abps":8025,"vbps":688454,"ts":4485}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [Video] canplay
jessibuca.js:1 Jessibuca: [player events] kBps 742.76
JessibucaDemo.vue:317 kBps 742.76
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":1,"abps":8025,"vbps":786011,"ts":5270}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [Video] waiting
jessibuca.js:1 Jessibuca: [Video] canplay
jessibuca.js:1 Jessibuca: [player events] kBps 914.66
JessibucaDemo.vue:317 kBps 914.66
jessibuca.js:1 Jessibuca: [Video] waiting
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":1,"abps":8025,"vbps":901738,"ts":6109}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [Video] canplay
jessibuca.js:1 Jessibuca: [player events] kBps 719.13
JessibucaDemo.vue:317 kBps 719.13
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":2,"abps":8025,"vbps":757998,"ts":7847}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] kBps 650.85
JessibucaDemo.vue:317 kBps 650.85
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":1,"abps":8025,"vbps":654805,"ts":8674}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [Video] waiting
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":1,"abps":6099,"vbps":703611,"ts":9506}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] kBps 401.87
JessibucaDemo.vue:317 kBps 401.87
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":50153,"ts":9506}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506}
JessibucaDemo.vue:313 stats {…}
jessibuca.js:1 Jessibuca: [player events] performance 0
jessibuca.js:1 Jessibuca: [FetchStream] destroy
jessibuca.js:1 Jessibuca: [CommonDemux] destroy
jessibuca.js:1 Jessibuca: [FlvDemux] destroy
jessibuca.js:1 Jessibuca: [decoderWorker] destroy
decoder.js:1 Jessibuca: [worker]: close
jessibuca.js:1 Jessibuca: [MediaSource] destroy
jessibuca.js:1 Jessibuca: [player events] playing false
jessibuca.js:1 Jessibuca: [player events] volumechange 0
jessibuca.js:1 Jessibuca: [player events] pause undefined
JessibucaDemo.vue:250 on pause
jessibuca.js:1 Jessibuca: [AudioContext] destroy
jessibuca.js:1 Jessibuca: [Video] canplay
jessibuca.js:1 Jessibuca: [player events] timeout delayTimeout
JessibucaDemo.vue:292 timeout
jessibuca.js:1 Jessibuca: [player events] delayTimeout undefined
jessibuca.js:1 Jessibuca: [Jessibuca] delay timeout replay time is 0
jessibuca.js:1 Jessibuca: [Jessibuca] delay timeout replay time is 1
jessibuca.js:1 Jessibuca: [Jessibuca] delay timeout replay time is 2
jessibuca.js:1 Jessibuca: [player events] loading true
jessibuca.js:1 Jessibuca: [FetchStream] init
jessibuca.js:1 Jessibuca: [AudioContext] init
jessibuca.js:1 Jessibuca: [common dumex] init Interval
jessibuca.js:1 Jessibuca: [FlvDemux] init
jessibuca.js:1 Jessibuca: [MediaSource] init
jessibuca.js:1 Jessibuca: [decoderWorker] init
jessibuca.js:1 Jessibuca: [player events] mute false
JessibucaDemo.vue:262 on mute false
JessibucaDemo.vue:267 on mute2 false
jessibuca.js:1 Jessibuca: [player events] volumechange 0.5
jessibuca.js:1 Jessibuca: [player events] volume 0.5
jessibuca.js:1 Jessibuca: [FetchStream] fetchStream http://192.168.3.65:8088/rtp/0BEBC203.live.flv {}
jessibuca.js:1 Jessibuca: [player events] volumechange 0.5
jessibuca.js:1 Jessibuca: [player events] volume 0.5
jessibuca.js:1 Jessibuca: [FetchStream] fetchStream http://192.168.3.65:8088/rtp/0BEBC202.live.flv {}
jessibuca.js:1 Jessibuca: [player events] mseSourceClose undefined
jessibuca.js:1 Jessibuca: [player events] mseSourceOpen undefined
jessibuca.js:1 Jessibuca: [decoderWorker] onmessage: init
jessibuca.js:1 Jessibuca: [player] has loaded
jessibuca.js:1 Jessibuca: [player events] decoderWorkerInit undefined
jessibuca.js:1 Jessibuca: [player events] volumechange 0.5
jessibuca.js:1 Jessibuca: [player events] volume 0.5
jessibuca.js:1 Jessibuca: [FetchStream] fetchStream http://192.168.3.65:8088/rtp/0BEBC202.live.flv {}
decoder.js:1 Jessibuca: [worker] init
jessibuca.js:1 Jessibuca: [FetchStream] destroy
jessibuca.js:1 Jessibuca: [CommonDemux] destroy
jessibuca.js:1 Jessibuca: [FlvDemux] destroy
jessibuca.js:1 Jessibuca: [decoderWorker] destroy
jessibuca.js:1 Jessibuca: [MediaSource] destroy
decoder.js:1 Jessibuca: [worker]: close
jessibuca.js:1 Jessibuca: [player events] loading false
jessibuca.js:1 Jessibuca: [AudioContext] destroy
jessibuca.js:1 Jessibuca: [player events] timeout loadingTimeout
JessibucaDemo.vue:292 timeout
jessibuca.js:1 Jessibuca: [player events] loadingTimeout undefined
jessibuca.js:1 Jessibuca: [Jessibuca] loading timeout replay time is 2
jessibuca.js:1 Jessibuca: [player events] loading true
jessibuca.js:1 Jessibuca: [FetchStream] init
jessibuca.js:1 Jessibuca: [AudioContext] init
jessibuca.js:1 Jessibuca: [common dumex] init Interval
jessibuca.js:1 Jessibuca: [FlvDemux] init
jessibuca.js:1 Jessibuca: [MediaSource] init
jessibuca.js:1 Jessibuca: [decoderWorker] init
jessibuca.js:1 Jessibuca: [player events] timeout loadingTimeout
JessibucaDemo.vue:292 timeout
jessibuca.js:1 Jessibuca: [player events] loadingTimeout undefined
jessibuca.js:1 Jessibuca: [player events] mseSourceClose undefined
jessibuca.js:1 Jessibuca: [player events] mseSourceOpen undefined
jessibuca.js:1 Jessibuca: [decoderWorker] onmessage: init
jessibuca.js:1 Jessibuca: [player] has loaded
jessibuca.js:1 Jessibuca: [player events] decoderWorkerInit undefined
jessibuca.js:1 Jessibuca: [player events] mute false
JessibucaDemo.vue:262 on mute false
JessibucaDemo.vue:267 on mute2 false
jessibuca.js:1 Jessibuca: [player events] volumechange 0.5
decoder.js:1 Jessibuca: [worker] init
jessibuca.js:1 Jessibuca: [player events] volume 0.5
jessibuca.js:1 Jessibuca: [FetchStream] fetchStream http://192.168.3.65:8088/rtp/0BEBC202.live.flv {}
jessibuca.js:1 Jessibuca: [FetchStream] destroy
jessibuca.js:1 Jessibuca: [CommonDemux] destroy
jessibuca.js:1 Jessibuca: [FlvDemux] destroy
jessibuca.js:1 Jessibuca: [decoderWorker] destroy
jessibuca.js:1 Jessibuca: [MediaSource] destroy
decoder.js:1 Jessibuca: [worker]: close
jessibuca.js:1 Jessibuca: [player events] loading false
jessibuca.js:1 Jessibuca: [AudioContext] destroy
jessibuca.js:1 Jessibuca: [player events] timeout loadingTimeout
JessibucaDemo.vue:292 timeout
jessibuca.js:1 Jessibuca: [player events] loadingTimeout undefined
bosscheng commented 3 weeks ago

看日志: jessibuca.js:1 Jessibuca: [player events] performance 0 jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506} JessibucaDemo.vue:313 stats {…} jessibuca.js:1 Jessibuca: [player events] performance 0 jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506} JessibucaDemo.vue:313 stats {…} jessibuca.js:1 Jessibuca: [player events] performance 0 jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506} JessibucaDemo.vue:313 stats {…} jessibuca.js:1 Jessibuca: [player events] performance 0 jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506} JessibucaDemo.vue:313 stats {…} jessibuca.js:1 Jessibuca: [player events] performance 0 jessibuca.js:1 Jessibuca: [player events] stats {"buf":-1,"fps":0,"abps":0,"vbps":0,"ts":9506}

好像就没有成功解封装出来flv数据了。可以检查下流信息。