From e03231ebb4fd347663f6575c4a2202def275fc4d Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Fri, 21 Oct 2022 10:58:56 +0300 Subject: [PATCH] fix ffmpeg transcoding for Reolink RLC-510A --- pkg/h264/rtp.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/h264/rtp.go b/pkg/h264/rtp.go index 01d207e2..9f84f745 100644 --- a/pkg/h264/rtp.go +++ b/pkg/h264/rtp.go @@ -46,8 +46,15 @@ func RTPDepay(track *streamer.Track) streamer.WrapperFunc { buf = append(buf, ps...) case NALUTypeSEI: // fix ffmpeg with transcoding first frame - i := 4 + binary.BigEndian.Uint32(payload) + i := int(4 + binary.BigEndian.Uint32(payload)) + + // check if only one NAL (fix ffmpeg transcoding for Reolink RLC-510A) + if i == len(payload) { + return nil + } + payload = payload[i:] + if NALUType(payload) == NALUTypeIFrame { buf = append(buf, ps...) }