Error Decoding Live H264 Stream Using RTSP

William Metcalf wmetcalf at niftytv.com
Thu Aug 11 11:54:48 PDT 2011


Hello all,

I am tyring to stream H264 video to a streaming server, and then read 
that stream using RTSP in a gstreamer pipeline.  I am sending the video 
using the following pipeline in an application:

appsrc max-bytes=0 is-live=true typefind=true ! <capsfilter element> ! 
videorate ! ffmpegcolorspace ! x264enc ! h264parse ! rtph264pay ! 
udpsink clients="192.168.42.45:52000,192.168.42.74:52000"

I can play the video being sent to 192.168.42.45 perfectly using the 
following pipeline:

gst-launch -v udpsrc port=52000 ! 
"application/x-rtp,media=(string)video,clock-rate=90000,profile-level-id=(string)42C00D,sprop-parameter-sets=(string)\"Z0LADdsC0P/mwEQAAAMABAAAAwDyPFCrgA\=\=\,aMqMsg\=\=\",encoding-type=(string)H264,payload=(int)97" 
! rtph264depay ! 
"video/x-h264,width=(int)720,height=(int)486,framerate=(fraction)30/1" ! 
queue ! ffdec_h264 ! ffmpegcolorspace ! glimagesink sync=false

The video being sent to 192.168.42.74, is being routed through wowza so 
that multiple clients can connect and receive the stream via RTSP 
(through the use of an sdp file).  The SDP file located on this machine 
is as follows:

v=0
o=- 15123511617644225080 15123511617644225080 IN IP4 192.168.42.74
s=Unnamed
i=N/A
c=IN IP4 192.168.42.45
t=0 0
a=tool:vlc 1.1.11
a=type:broadcast
a=charset:UTF-8
m=video 52000 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 
sprop-parameter-sets=Z0LADdsC0P/mwEQAAAMABAAAAwDyPFCrgA==,aMqMsg==;

I try to connect clients to WOWZA using the following pipeline (pretty 
much the same pipeline as above, but with rtspsrc instead of udpsrc)

gst-launch -v rtspsrc location="rtsp://192.168.42.74/livetest/jpv.sdp" ! 
"application/x-rtp,media=(string)video,clock-rate=90000,profile-level-id=(string)42C00D,sprop-parameter-sets=(string)\"Z0LADdsC0P/mwEQAAAMABAAAAwDyPFCrgA\=\=\,aMqMsg\=\=\",encoding-type=(string)H264,payload=(int)97" 
! rtph264depay ! 
"video/x-h264,width=(int)720,height=(int)486,framerate=(fraction)30/1" ! 
queue ! ffdec_h264 ! ffmpegcolorspace ! glimagesink sync=false

This pipeline does pick up the video, but it is very jumpy and 
pixelated, and often a layer of colors will appear over the picture.  
The following errors are spammed pretty regularly, and it seems they are 
coming from ffdec_h264:

0:00:05.505550000  4568   0173BCD8 ERROR                 ffmpeg .:0:: 
reference picture missing during reorder
0:00:05.511551000  4568   0173BCD8 ERROR                 ffmpeg .:0:: 
Missing reference picture
0:00:05.714571000  4568   0173BCD8 ERROR                 ffmpeg .:0:: 
Missing reference picture
0:00:05.719572000  4568   0173BCD8 ERROR                 ffmpeg .:0:: 
decode_slice_header error
0:00:05.745574000  4568   0173BCD8 ERROR                 ffmpeg .:0:: 
mmco: unref short failure
0:00:05.780578000  4568   0173BCD8 ERROR                 ffmpeg .:0:: 
reference picture missing during reorder
0:00:05.807581000  4568   0173BCD8 ERROR                 ffmpeg .:0:: 
Missing reference picture

Could someone please tell me some causes for these errors, and maybe 
some methods I can use for trying to alleviate this problem?  I do not 
get why the video plays perfectly before it is sent to WOWZA, and then 
becomes so horribly choppy and pixelated afterwards.

Thank you all,
William



More information about the gstreamer-devel mailing list