Hi, is there any issue with this patch? Here's a sample SDP without the VPS, that all hikvision cameras send during RTSP DESCRIBE. The VPS is sent periodically as part of the stream. The sprop-sps and sprop-pps are lost without this patch because the sprop-vps is not present.
[rtsp @ 0x12d606fe0] SDP: v=0 o=- 1743536797185502 1743536797185502 IN IP4 192.168.2.64 s=Media Presentation e=NONE b=AS:5100 t=0 0 a=control:rtsp://192.168.2.64:554/ISAPI/Streaming/channels/101/?transportmode=unicast m=video 0 RTP/AVP 96 c=IN IP4 0.0.0.0 b=AS:5000 a=recvonly a=x-dimensions:3840,2160 a=control:rtsp://192.168.2.64:554/ISAPI/Streaming/channels/101/trackID=1?transportmode=unicast a=rtpmap:96 H265/90000 a=fmtp:96 sprop-sps=QgEBAWAAAAMAsAAAAwAAAwCZoAHgIAIcWNrkkUvzcBAQEAg=; sprop-pps=RAHA8s5wOyQ= m=audio 0 RTP/AVP 0 c=IN IP4 0.0.0.0 b=AS:50 a=recvonly a=control:rtsp://192.168.2.64:554/ISAPI/Streaming/channels/101/trackID=2?transportmode=unicast a=rtpmap:0 PCMU/8000 a=Media_header:MEDIAINFO=494D4B48010200000400050010710110401F000000FA000000000000000000000000000000000000; a=appversion:1.0 On Wed, Mar 26, 2025 at 1:51 PM <kou...@gmail.com> wrote: > > From: Koushik Dutta <kou...@gmail.com> > > Many IP cameras do not place VPS in the SDP, and only send it > in the stream. The RTSP SDP only contains SPS/PPS. > > Signed-off-by: Koushik Dutta <kou...@gmail.com> > --- > libavformat/sdp.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/libavformat/sdp.c b/libavformat/sdp.c > index 28490d77f3..64fe9d61ac 100644 > --- a/libavformat/sdp.c > +++ b/libavformat/sdp.c > @@ -301,7 +301,9 @@ static int extradata2psets_hevc(AVFormatContext *fmt, > const AVCodecParameters *p > pos += len; > } > } > - if (!ps_pos[0] || !ps_pos[1] || !ps_pos[2]) > + > + // VPS is not mandatory > + if (!ps_pos[1] || !ps_pos[2]) > goto err; > > psets = av_mallocz(MAX_PSET_SIZE); > @@ -314,6 +316,8 @@ static int extradata2psets_hevc(AVFormatContext *fmt, > const AVCodecParameters *p > > for (i = 0; i < 3; i++) { > pos = ps_pos[i]; > + if (!pos) > + continue; > > if (i > 0) > av_strlcat(psets, "; ", MAX_PSET_SIZE); > -- > 2.39.5 (Apple Git-154) > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".