[gst-devel] gst-rtsp-server and ffmpeg message

Arnout Vandecappelle arnout at mind.be
Tue Oct 13 10:30:21 CEST 2009


On Tuesday 13 Oct 2009 10:03:44 Thành Trung Nguyễn wrote:
> Here's what I got from gst-launch -v on rtph264depay elements:
> 
> /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps =
> video/x-h264
> 
> /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps =
> application/x-rtp, media=(string)video, payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)H264,
> profile-level-id=(string)4d401f,
> sprop-parameter-sets=(string)\"Z01AH5JUAoAt2AiAAAADAIAAAB5HjBlQ\\,aO48gA\\=
> \\=\", a-tool=(string)GStreamer, a-type=(string)broadcast,
> clock-base=(guint)2373374152, seqnum-base=(guint)13660,
> npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
> 
> I'm not sure but I think video/x-h264 is the codec data you said, isn't it
>  ?

 The 'sprop-parameter-sets' is the config string I mentioned.  The 'video/x-
h264' should have codec data as a parameter, or it may send the codec-data as 
an in-stream buffer (and now I seem to remember that's actually the default).  
But since the sprop-parameter-sets are there, the codec data will be there as 
well.

 Run with --gst-debug=rtph264depay:5,ffdec:3 to get a bit (well, actually a 
lot) more detail.  If that mentions that the codec_data buffer is pushed, then 
something else is wrong...

 Maybe the problem is that the codec data gets discarded again because the 
discontinuity that comes from the errors of your first two frames.  That is 
solved by setting it as caps instead of pushing it as a buffer.  Add the 
'byte-stream=false' property to rtph264depay.

 Regards,
 Arnout

 PS Please send replies to the list, other people may benefit from these 
messages.

> 
> 2009/10/13 Arnout Vandecappelle <arnout at mind.be>
> 
> > On Monday 12 Oct 2009 13:18:01 Thành Trung Nguyễn wrote:
> > > Hi,
> > >
> > > I'm working on a project that use gst-rtsp-server as the streaming
> > > server and got the following message on the client with h264 and mpeg4
> > > video format:
> > >
> > > ffmpeg :0:: warning: first frame is no keyframe
> > > ffmpeg :0:: Missing reference picture
> > > ffmpeg :0:: number of reference frames exceeds max (probably corrupt
> > >  input), discarding one
> > > ffmpeg :0:: non-existing PPS referenced
> > > ffmpeg :0:: sps_id out of range
> >
> >  This sounds like you're missing codec_data for your decoder.  Can you
> > check
> > on your client which caps are set on the elements?  You typically have a
> > config string on rtph264depay's sink pad and a codec-data buffer on its
> > src pad.
> >
> >  If your rtsp server is not sending out the codec data (e.g. because you
> > start
> > in the middle of a stream), then you have a problem :-)
> >
> >  Regards,
> >  Arnout
> >
> > --
> > Arnout Vandecappelle                               arnout at mind be
> > Senior Embedded Software Architect                 +32-16-286540
> > Essensium/Mind                                     http://www.mind.be
> > G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR
> > Leuven
> > LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> > GPG fingerprint:  D206 D44B 5155 DF98 550D  3F2A 2213 88AA A1C7 C933
> 

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  D206 D44B 5155 DF98 550D  3F2A 2213 88AA A1C7 C933




More information about the gstreamer-devel mailing list