Here's what I got when using --gst-debug:<br><br>....<br>0:00:40.041460639 29100 0x91ac738 DEBUG rtph264depay gstrtph264depay.c:560:gst_rtp_h264_depay_process:<rtph264depay0> queueing 1386 bytes<br>0:00:40.041587089 29100 0x91ac738 DEBUG rtph264depay gstrtph264depay.c:404:gst_rtp_h264_depay_process:<rtph264depay0> receiving 1132 bytes<br>
0:00:40.041702807 29100 0x91ac738 DEBUG rtph264depay gstrtph264depay.c:421:gst_rtp_h264_depay_process:<rtph264depay0> NRI 2, Type 28<br>0:00:40.041814445 29100 0x91ac738 DEBUG rtph264depay gstrtph264depay.c:519:gst_rtp_h264_depay_process:<rtph264depay0> S 0, E 1<br>
0:00:40.041929402 29100 0x91ac738 DEBUG rtph264depay gstrtph264depay.c:560:gst_rtp_h264_depay_process:<rtph264depay0> queueing 1130 bytes<br>0:00:40.042042693 29100 0x91ac738 DEBUG rtph264depay gstrtph264depay.c:568:gst_rtp_h264_depay_process:<rtph264depay0> output 1130 bytes<br>
0:00:40.042204307 29100 0x91ac738 DEBUG rtph264depay gstrtph264depay.c:404:gst_rtp_h264_depay_process:<rtph264depay0> receiving 2 bytes<br>0:00:40.042320160 29100 0x91ac738 DEBUG rtph264depay gstrtph264depay.c:421:gst_rtp_h264_depay_process:<rtph264depay0> NRI 0, Type 9<br>
....<br><br>I haven't found anything like 'codec_data buffer is pushed'.<br><br>I had tried to set caps like this:<br>gst-launch rtsp://localhost:8554/h264 ! rtph264depay ! video/x-h264 ! ffdec_h264 ! ffmpegcolorspace ! autovideosink<br>
but still got this message:<br>...<br>0:00:03.521963200 29480 0x94ef290 ERROR ffmpeg :0:: number of reference frames exceeds max (probably corrupt input), discarding one<br>...<br><br>Tried to set byte-stream=false to rtph264depay, I got this message:<br>
0:00:03.536385694 29480 0x94ef290 ERROR ffmpeg :0:: no frame!<br><br>So do you know if is there anything wrong ?<br><br><div class="gmail_quote">2009/10/13 Arnout Vandecappelle <span dir="ltr"><<a href="mailto:arnout@mind.be">arnout@mind.be</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">On Tuesday 13 Oct 2009 10:03:44 Thành Trung Nguyễn wrote:<br>
> Here's what I got from gst-launch -v on rtph264depay elements:<br>
><br>
> /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps =<br>
> video/x-h264<br>
><br>
> /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps =<br>
> application/x-rtp, media=(string)video, payload=(int)96,<br>
> clock-rate=(int)90000, encoding-name=(string)H264,<br>
> profile-level-id=(string)4d401f,<br>
> sprop-parameter-sets=(string)\"Z01AH5JUAoAt2AiAAAADAIAAAB5HjBlQ\\,aO48gA\\=<br>
> \\=\", a-tool=(string)GStreamer, a-type=(string)broadcast,<br>
> clock-base=(guint)2373374152, seqnum-base=(guint)13660,<br>
> npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1<br>
><br>
> I'm not sure but I think video/x-h264 is the codec data you said, isn't it<br>
> ?<br>
<br>
</div> The 'sprop-parameter-sets' is the config string I mentioned. The 'video/x-<br>
h264' should have codec data as a parameter, or it may send the codec-data as<br>
an in-stream buffer (and now I seem to remember that's actually the default).<br>
But since the sprop-parameter-sets are there, the codec data will be there as<br>
well.<br>
<br>
Run with --gst-debug=rtph264depay:5,ffdec:3 to get a bit (well, actually a<br>
lot) more detail. If that mentions that the codec_data buffer is pushed, then<br>
something else is wrong...<br>
<br>
Maybe the problem is that the codec data gets discarded again because the<br>
discontinuity that comes from the errors of your first two frames. That is<br>
solved by setting it as caps instead of pushing it as a buffer. Add the<br>
'byte-stream=false' property to rtph264depay.<br>
<br>
Regards,<br>
Arnout<br>
<br>
PS Please send replies to the list, other people may benefit from these<br>
messages.<br>
<div><div></div><div class="h5"><br>
><br>
> 2009/10/13 Arnout Vandecappelle <<a href="mailto:arnout@mind.be">arnout@mind.be</a>><br>
><br>
> > On Monday 12 Oct 2009 13:18:01 Thành Trung Nguyễn wrote:<br>
> > > Hi,<br>
> > ><br>
> > > I'm working on a project that use gst-rtsp-server as the streaming<br>
> > > server and got the following message on the client with h264 and mpeg4<br>
> > > video format:<br>
> > ><br>
> > > ffmpeg :0:: warning: first frame is no keyframe<br>
> > > ffmpeg :0:: Missing reference picture<br>
> > > ffmpeg :0:: number of reference frames exceeds max (probably corrupt<br>
> > > input), discarding one<br>
> > > ffmpeg :0:: non-existing PPS referenced<br>
> > > ffmpeg :0:: sps_id out of range<br>
> ><br>
> > This sounds like you're missing codec_data for your decoder. Can you<br>
> > check<br>
> > on your client which caps are set on the elements? You typically have a<br>
> > config string on rtph264depay's sink pad and a codec-data buffer on its<br>
> > src pad.<br>
> ><br>
> > If your rtsp server is not sending out the codec data (e.g. because you<br>
> > start<br>
> > in the middle of a stream), then you have a problem :-)<br>
> ><br>
> > Regards,<br>
> > Arnout<br>
> ><br>
> > --<br>
> > Arnout Vandecappelle arnout at mind be<br>
> > Senior Embedded Software Architect +32-16-286540<br>
> > Essensium/Mind <a href="http://www.mind.be" target="_blank">http://www.mind.be</a><br>
> > G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR<br>
> > Leuven<br>
> > LinkedIn profile: <a href="http://www.linkedin.com/in/arnoutvandecappelle" target="_blank">http://www.linkedin.com/in/arnoutvandecappelle</a><br>
> > GPG fingerprint: D206 D44B 5155 DF98 550D 3F2A 2213 88AA A1C7 C933<br>
><br>
<br>
--<br>
Arnout Vandecappelle arnout at mind be<br>
Senior Embedded Software Architect +32-16-286540<br>
Essensium/Mind <a href="http://www.mind.be" target="_blank">http://www.mind.be</a><br>
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven<br>
LinkedIn profile: <a href="http://www.linkedin.com/in/arnoutvandecappelle" target="_blank">http://www.linkedin.com/in/arnoutvandecappelle</a><br>
GPG fingerprint: D206 D44B 5155 DF98 550D 3F2A 2213 88AA A1C7 C933<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Cheers !<br><br>trungnt<br>