Capture RTCP Sender Report with rtpbin/rtspsrc
mdbtfu
thibaud.furst at microdb.fr
Tue Jan 10 15:48:48 UTC 2017
Hi,
I'm developping a program that displays the images of an IP camera. The
camera's clock is synchronised with an NTP server and I would like to get
the NTP timestamp of the RTCP sender report (as described in the RFC 1889
https://tools.ietf.org/html/rfc1889#section-6.3.1).
I found some topics about this but none gave me the solution to my problem.
Here is my pipeline :
gst-launch-1.0 rtpbin name=rtpbin latency=200 rtspsrc
location="rtsp://172.29.179.179:554/0" latency=1 ! rtpbin.recv_rtp_sink_0
rtpbin. ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink udpsrc
port=6970 ! rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0 ! udpsink
port=49900 host=172.29.179.179 sync=true async=false
And here is the code I use.
**************
// Initialisation of GStreamer
gst_init(NULL, NULL);
GMainLoop *loop = g_main_loop_new(NULL, NULL);
// Create pipeline
string str_pipeline = "rtpbin name=rtpbin latency=200";
str_pipeline += " rtspsrc location=rtsp://172.29.179.179:554/0
caps=video/x-raw-rgb !";
str_pipeline += " rtpbin.recv_rtp_sink_0 rtpbin. ! rtph264depay !
avdec_h264 ! videoconvert ! videoscale ! autovideosink";
str_pipeline += " udpsrc name=udpsrc port=6970 ! rtpbin.recv_rtcp_sink_0
rtpbin.send_rtcp_src_0 ! udpsink port=49900 host=172.29.179.179 sync=true
async=false";
// Parse pipeline
GError * message = NULL;
GstElement *pipeline = gst_parse_launch(str_pipeline.c_str(), &message);
// Set bus to get messages
GstBus *bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
gst_bus_add_watch(bus, camera_bus_callback, NULL);
gst_object_unref(bus);
// Set pipeline to play
gst_element_set_state(pipeline, GST_STATE_PLAYING);
// Iterate
g_main_loop_run(loop);
gst_element_set_state(pipeline, GST_STATE_NULL);
gst_object_unref(pipeline);
g_main_loop_unref(loop);
**************
I've read the documentation of rtpbin and rtspsrc and didn't understand how
to get the sender report. Which signal from rtpbin or rtspsrc should I use?
I would be really thankful for any help!
Thibaud
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Capture-RTCP-Sender-Report-with-rtpbin-rtspsrc-tp4681386.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list