problems while pushing data to rtsp server through appsrc

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

problems while pushing data to rtsp server through appsrc

swaroop

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

 

 

 


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

rtsp_apsnksrc_test.zip (8K) Download Attachment