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.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 _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel rtsp_apsnksrc_test.zip (8K) Download Attachment |
Free forum by Nabble | Edit this page |