Extracting SPS without the missig PPS results in unplayable FLV. ffmpeg -thread_queue_size 512 -rtsp_transport tcp -i rtsp:// admin:12345@192.88.99.1/h264/ch1/main/av_stream -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -c:v copy -acodec aac -strict experimental -ab 128k -f flv wrong.flv
Uploaded to upload.ffmpeg.org with filename rtsp-invalid-sprop-parameter-sets.flv Also you may download the sample from here: http://home.rmrf.co/storage/rtsp-invalid-sprop-parameter-sets.flv On Mon, Feb 29, 2016 at 2:47 PM, Michael Niedermayer <mich...@niedermayer.cc > wrote: > On Mon, Feb 29, 2016 at 01:59:22PM +0200, Andrew Shulgin wrote: > > Corrected the patch a bit, now setting extradata_size to 0 > > > > On Mon, Feb 29, 2016 at 1:13 PM, Andrew Shulgin < > andrewshulgi...@gmail.com> > > wrote: > > > > > Correct SPS and PPS are in the stream. > > > Maybe it's reasonale to use existing SPS. But i'm not sure how to > > > implement that. > > > Yeah really, setting extradata_size to 0 should not be skipped. > > > > > > On Mon, Feb 29, 2016 at 1:01 PM, Michael Niedermayer < > > > mich...@niedermayer.cc> wrote: > > > > > >> On Sat, Feb 27, 2016 at 09:56:01PM +0200, Andrew Shulgin wrote: > > >> > Some Hikvison RTSP cameras send wrong sprop-parameter-sets in SDP - > it's > > >> > missing PPS. > > >> > > > >> > Example of correct sprop-parameter-sets: > > >> > sprop-parameter-sets=Z0IAH5W4PASaEAAAcIAAFfkAQA==,aM48gA== > > >> > Example of wrong sprop-parameter-sets: > > >> > sprop-parameter-sets=Z0IAH5WoPASaEAAAcIAAFfkIQA==, > > >> > > > >> > My patch adds a workaround that ignores invalid > sprop-parameter-sets. > > >> > > >> from where does it get the correct parameter set ? > > >> is it in the stream ? or repeated sprop-parameter-sets ? > > >> > > >> also shuldnt the sps be used instead of skipped? > > >> or the skip code be made conditional on codec->extradata_size > 0 ? > > >> > > >> [...] > > >> -- > > >> Michael GnuPG fingerprint: > 9FF2128B147EF6730BADF133611EC787040B0FAB > > >> > > >> Complexity theory is the science of finding the exact solution to an > > >> approximation. Benchmarking OTOH is finding an approximation of the > exact > > >> > > >> _______________________________________________ > > >> ffmpeg-devel mailing list > > >> ffmpeg-devel@ffmpeg.org > > >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > >> > > >> > > > > > > rtpdec_h264.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > 04777111f044772997bed9c6ac4367b4a4c83952 > 0001-Ignore-invalid-sprop-parameter-sets-missing-PPS.patch > > From 5ba47e182a47753ed47344b25fd6ba9d15698fd1 Mon Sep 17 00:00:00 2001 > > From: Andrew Shulgin <andrewshulgi...@gmail.com> > > Date: Mon, 29 Feb 2016 13:57:42 +0200 > > Subject: [PATCH] Ignore invalid sprop-parameter-sets missing PPS > > > > --- > > libavformat/rtpdec_h264.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/libavformat/rtpdec_h264.c b/libavformat/rtpdec_h264.c > > index b399be4..4c0003e 100644 > > --- a/libavformat/rtpdec_h264.c > > +++ b/libavformat/rtpdec_h264.c > > @@ -168,6 +168,10 @@ static int > sdp_parse_fmtp_config_h264(AVFormatContext *s, > > int ret; > > codec->extradata_size = 0; > > av_freep(&codec->extradata); > > + if (value[strlen(value) - 1] == ',') { > > + av_log(s, AV_LOG_WARNING, "Missing PPS in > sprop-parameter-sets, ignoring\n"); > > + return 0; > > + } > > what i meant was that if there is no extradata set then extracting > the SPS without the missig PPS into it would make sense > while if extradata was already set then a SPS only sprop would be > better skiped as it would remove a already extradted PPS > > [...] > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > If you drop bombs on a foreign country and kill hundred thousands of > innocent people, expect your government to call the consequence > "unprovoked inhuman terrorist attacks" and use it to justify dropping > more bombs and killing more people. The technology changed, the idea is > old. > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel