Error Decoding Live H264 Stream Using RTSP

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Error Decoding Live H264 Stream Using RTSP

william.l.metcalf
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

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel