bluenviron / gortsplib

RTSP 1.0 client and server library for the Go programming language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

【HELP】 error: [h264 @ 000001d0b3218d40] no frame!

wwhai opened this issue · comments

when I run this example:

c.OnPacketRTP(media, forma, func(pkt *rtp.Packet) {
		_, ok := c.PacketPTS(media, pkt)
		if !ok {
			log.Printf("waiting for timestamp")
			return
		}

		nalus, err := rtpDec.Decode(pkt)
		if err != nil {
			return
		}
		defer func() {
			nalus = nil
		}()

		for _, nalu := range nalus {
			// convert NALUs into RGBA frames
			img, err1 := frameDec.Decode(nalu)
			if err1 != nil {
				panic(err1)
			}
			if img == nil {
				continue
			}
		}
	})

output:

[image2pipe @ 000001a49bd8ba00] Opening 'fd:' for reading
[fd @ 000001a49bd8c000] Setting default whitelist 'crypto,data'
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
2024/03/26 11:18:13 5 RTP packets lost
[h264 @ 000001d0b3218d40] Increasing reorder buffer to 1
2024/03/26 11:18:15 38 RTP packets lost
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
2024/03/26 11:18:15 28 RTP packets lost
2024/03/26 11:18:16 16 RTP packets lost
[h264 @ 000001d0b3218d40] concealing 3149 DC, 3149 AC, 3149 MV errors in P frame
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
2024/03/26 11:18:16 23 RTP packets lost
2024/03/26 11:18:17 12 RTP packets lost
2024/03/26 11:18:18 85 RTP packets lost
2024/03/26 11:18:18 29 RTP packets lost
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
2024/03/26 11:18:23 40 RTP packets lost
2024/03/26 11:18:23 29 RTP packets lost
2024/03/26 11:18:24 10 RTP packets lost
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
2024/03/26 11:18:24 23 RTP packets lost
2024/03/26 11:18:24 20 RTP packets lost
2024/03/26 11:18:25 80 RTP packets lost
2024/03/26 11:18:26 39 RTP packets lost
2024/03/26 11:18:26 4 RTP packets lost
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
2024/03/26 11:18:31 11 RTP packets lost
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
2024/03/26 11:18:33 39 RTP packets lost
2024/03/26 11:18:33 32 RTP packets lost
2024/03/26 11:18:33 17 RTP packets lost
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
2024/03/26 11:18:34 22 RTP packets lost
2024/03/26 11:18:34 15 RTP packets lost
2024/03/26 11:18:36 73 RTP packets lost
2024/03/26 11:18:36 40 RTP packets lost
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!
[h264 @ 000001d0b3218d40] no frame!

hello, I have the same problem, how did you solve it?

from the log it's evident that the incoming transmission was corrupted:

2024/03/26 11:18:24 23 RTP packets lost
2024/03/26 11:18:24 20 RTP packets lost
2024/03/26 11:18:25 80 RTP packets lost
2024/03/26 11:18:26 39 RTP packets lost
2024/03/26 11:18:26 4 RTP packets lost

so this is not a bug.

I don't have "RTP packets lost" messages.
I get "no frame!" even when decoding SPS and PPS.

C.av_log_set_level(C.AV_LOG_QUIET) - only this helps :)

from the log it's evident that the incoming transmission was corrupted:

2024/03/26 11:18:24 23 RTP packets lost
2024/03/26 11:18:24 20 RTP packets lost
2024/03/26 11:18:25 80 RTP packets lost
2024/03/26 11:18:26 39 RTP packets lost
2024/03/26 11:18:26 4 RTP packets lost

so this is not a bug.

But this log more and more when run after long time. I Have not resolve it

@sg3des Where did you add that?

@sg3des Where did you add that?

I think it can be place anywhere, but i put it to the init function

func init() {
	C.av_log_set_level(C.AV_LOG_QUIET)
}

as written previously, this is an issue that doesn't depend in any way from the library, but is caused by a corrupted stream. The stream gets corrupted either during transmission due to insufficient bandwidth, or originally at its source.