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