Upstream event or bus for RTCP info to video encoder?

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

Upstream event or bus for RTCP info to video encoder?

Qin Chen-2
Hi experts,

I am writing a video streaming application. I used gstrtpbin for RTP/RTCP packet transmission.

Furthermore, at the sender side, I would like to adapt video encoding parameters according to RTCP receiver report QoS statistics. The sender pipeline is shown below. In the pipeline, identity element is used to probe RTCP packets for QoS statistics.

 * .-------.    .-------.    .-------.      .----------.     .-------.
 * |v4l2   |    |x264enc|    |h264pay|      | rtpbin   |     |udpsink|  RTP
 * |      src->sink    src->sink    src->send_rtp send_rtp->sink     | port=5000
 * '-------'    '-------'    '-------'      |          |     '-------'
 *                                          |          |
 *                                          |          |     .-------.
 *                                          |          |     |udpsink|  RTCP
 *                                          |    send_rtcp->sink     | port=5001
 *              .-------.    .--------.     |          |     '-------' sync=false
 *    RTCP      |udpsrc |    |identity|     |          |               async=false
 *    port=5005 |      src->sink     src->recv_rtcp    |
 *              '-------'    '--------'     '----------'
 */

My question is, what is the best way to send the QoS statistics obtained from identity element to x264enc element (directly or indirectly)?

From the GStreamer manual, it seems that upstream event could be a candidate since it can be used for application-element interaction. And bus is used for application-pipeline interaction. So which one is more suitable here and where can I find similar examples? Thanks in advance.

Regards,

Qin

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel