problems while pushing data to rtsp server through appsrc
Swaroop, Narasimha
Narasimha.Swaroop at Honeywell.com
Mon Nov 14 04:23:35 PST 2011
Hi,
I am trying to build rtsp streamer test application based on gstreamer's
example rtsp application. Please find the code attached.
In the streamer I create 2 rtsp_media_factories with launch strings
"appsrc name=aps is-live=true block=true !
video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! videoscale !
video/x-raw-yuv,width=320,height=240 ! x264enc ! rtph264pay name=pay0
pt=96"
"appsrc name=aps ! ffmpegcolorspace ! videoscale !
video/x-raw-yuv,width=176,height=120 ! videorate !
video/x-raw-yuv,framerate=10/1 ! ffenc_mpeg4 ! rtpmp4vpay name=pay0
pt=96"
I have derived GstRTSPMediaFactory and implemented a class which has
modifications in custom_get_element(). (Gets appsrc element from
pipeline which is later used to push data into the pipeline)
The mainline code has a persistent pipeline : "videotestsrc is-live=true
! video/x-raw-yuv,width=320,height=240 ! appsink name=apsink
max-buffers=10 drop=true". This keeps on running and appsink will keep
dropping old buffers.
Whenever a client connects to server, as per the design of rtsp server,
it creates corresponding pipeline starting from appsrc and then appsink
starts pushing buffers to that pipeline.
I am facing a couple of problems here and need some clarifications.
1. As soon as client connects (Vlc player) it displays first
frame and it freezes for 30 to 60 seconds, then it continues displaying
video. When this happens I get following errors. This is also
inconsistent sometimes it doesn't play video for minutes.
0:00:03.470756887 4570 0x821c098 WARN bin
gstbin.c:2384:gst_bin_do_latency_func:<media-pipeline> failed to query
latency
0:00:03.471939373 4570 0x83df298 WARN videorate
gstvideorate.c:691:gst_video_rate_event:<videorate0> Got segment but
doesn't have GST_FORMAT_TIME value
0:00:03.881337049 4570 0x83df298 WARN basesink
gstbasesink.c:3626:gst_base_sink_chain_unlocked:<multiudpsink0> warning:
Internal data flow problem.
0:00:03.881364737 4570 0x83df298 WARN basesink
gstbasesink.c:3626:gst_base_sink_chain_unlocked:<multiudpsink0> warning:
Received buffer without a new-segment. Assuming timestamps start from 0.
0:00:03.887089513 4570 0x8329c00 WARN rtspmedia
rtsp-media.c:1511:default_handle_message: 0x83270d0: got warning
Internal data flow problem. (gstbasesink.c(3626):
gst_base_sink_chain_unlocked ():
/GstPipeline:media-pipeline/GstMultiUDPSink:multiudpsink0:
I guess I could do away with multiudpsink error by setting its "sync"
property to false (because I did the same thing with ximagesink earlier
and it worked) but I am not aware of its side effects. Will there be any
problems if I do that?
2. How to solve errors related with videorate?
I want to understand root cause of this problem. Am I missing something
here? Any suggestions or explanations will be extremely helpful.
Thanks and Regards,
Swaroop
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20111114/bc6cebe5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rtsp_apsnksrc_test.zip
Type: application/x-zip-compressed
Size: 6093 bytes
Desc: rtsp_apsnksrc_test.zip
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20111114/bc6cebe5/attachment-0001.bin>
More information about the gstreamer-devel
mailing list