ossrs / srs

SRS is a simple, high-efficiency, real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, HTTP-TS, SRT, MPEG-DASH, and GB28181.
https://ossrs.io
MIT License
25.28k stars 5.33k forks source link

Sometimes, attempting to retrieve FLV streams using SRS5.0 may result in failure. #4112

Open yrJim opened 2 months ago

yrJim commented 2 months ago

[2024-07-10 13:20:50.213][INFO][1][0bny523e] complex handshake success. [2024-07-10 13:20:50.213][INFO][1][0bny523e] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128 [2024-07-10 13:20:50.213][INFO][1][0bny523e] connected, version=5.0.210.0, ip=192.168.2.2, pid=1, id=0, dsu=1 [2024-07-10 13:20:50.214][INFO][1][0bny523e] edge-pull publish url rtmp://192.168.2.2:1935/live/1e4529d97ce16f2d61209b70bfc39982?token=c99644d5c57245af8c5e0fefd58371ad&vhost=srs-edge-server, stream=1e4529d97ce16f2d61209b70bfc39982?token=c99644d5c57245af8c5e0fefd58371ad as 1e4529d97ce16f2d61209b70bfc39982?token=c99644d5c57245af8c5e0fefd58371ad [2024-07-10 13:20:50.214][INFO][1][0bny523e] got metadata, width=960, height=540, vcodec=7, acodec=10 [2024-07-10 13:20:50.214][INFO][1][0bny523e] 39B video sh, codec(7, profile=High, level=3.1, 960x540, 0kbps, 0.0fps, 0.0s) [2024-07-10 13:20:50.224][INFO][1][u008759b] -> HTS http: got 2 msgs, age=41206190, min=8, mw=100 [2024-07-10 13:20:50.431][WARN][1][0bny523e][11] EdgeIngester: Ignore error, code=3001(HlsDecode)(HLS decode av stream failed) : process message : source consume video : format consume video : demux NALU : avc demux annexb : not annexb [2024-07-10 13:20:53.434][INFO][1][0bny523e] complex handshake success. [2024-07-10 13:20:53.434][INFO][1][0bny523e] protocol in.buffer=0, in.ack=0, out.ack=0, in.chunk=128, out.chunk=128 [2024-07-10 13:20:53.435][INFO][1][0bny523e] connected, version=5.0.210.0, ip=192.168.2.2, pid=1, id=0, dsu=1 [2024-07-10 13:20:53.435][INFO][1][0bny523e] edge-pull publish url rtmp://192.168.2.2:1935/live/1e4529d97ce16f2d61209b70bfc39982?token=c99644d5c57245af8c5e0fefd58371ad&vhost=srs-edge-server, stream=1e4529d97ce16f2d61209b70bfc39982?token=c99644d5c57245af8c5e0fefd58371ad as 1e4529d97ce16f2d61209b70bfc39982?token=c99644d5c57245af8c5e0fefd58371ad [2024-07-10 13:20:53.435][INFO][1][0bny523e] got metadata, width=960, height=540, vcodec=7, acodec=10 [2024-07-10 13:20:53.435][INFO][1][0bny523e] 39B video sh, codec(7, profile=High, level=3.1, 960x540, 0kbps, 0.0fps, 0.0s) [2024-07-10 13:20:53.668][WARN][1][0bny523e][11] EdgeIngester: Ignore error, code=3001(HlsDecode)(HLS decode av stream failed) : process message : source consume video : format consume video : demux NALU : avc demux annexb : not annexb

TRANS_BY_GPT4

yrJim commented 1 month ago

@winlinvip If this is the case, can you set the callback function to be processed logically by the business application

yrJim commented 1 month ago

@winlinvip 这个问题在播放flv时会出现,对同一个流用hls播放时不会出现,报错信息却提示是HLS解码失败,这是不是有问题

ShineSea commented 1 week ago

I also encountered this issue, and upon investigation, it appears that there is a problem with the parsing of NALU. The frame length information at the beginning of the IBMF format might start with 000001, which has been mistakenly identified as the ANNEXB format.

TRANS_BY_GPT4

ShineSea commented 1 week ago

1724839796627 I have configured this on my end, and there are no more error messages.

TRANS_BY_GPT4