Also i can send you an email with public RTSP URL privately if you ask. On Mon, Feb 29, 2016 at 3:10 PM, Andrew Shulgin <[email protected]> wrote:
> Extracting SPS without the missig PPS results in unplayable FLV. > > ffmpeg -thread_queue_size 512 -rtsp_transport tcp -i rtsp:// > admin:[email protected]/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 < > [email protected]> 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 < >> [email protected]> >> > 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 < >> > > [email protected]> 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 >> > >> [email protected] >> > >> 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 <[email protected]> >> > 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 >> [email protected] >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> > _______________________________________________ ffmpeg-devel mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
