rtspsrc cpu optimization

Eloi Bail eloi.bail at gmail.com
Tue Oct 7 10:53:36 PDT 2014


Hi,

We want to run Gstreamer on our embedded PPC platform to record 8
simultaneous HD streams (720P 12fps)
We are using Gstreamer 1.2.1 (Linux)

Our testing pipeline is :

gst-launch-1.0 rtspsrc location=rtsp://xxx ! rtph264depay ! h264parse !
queue2 ! matroskamux ! filesink location=file.mkv

CPU consumption of each pipeline is around 10%. We would like to decrease
it to 5-7%.

Using gst-launch-1.0 rtspsrc location=rtsp://xxx ! fakesink we see a CPU
consumption of 7%.
That's the reason why we are focusing right now on rtspsrc optimization.

On X86 we profiled the pipeline ( rtspsrc location=rtsp://xxx ! fakesink)
using callgrind.
We saw high CPU consumption in gst_rtp_jitter_buffer_loop. It also looks
like it requires lot of pad push.

According to the code and the doc, rtp data are proccessed inside RtpBin
that use elements gstrtpsession, gstrtpssrcdemux, gstjitterbuffer,
gstrtpptdemux.
We defined buffer-mode to none (=0) to reduce calculation inside
jitterbuffer. We also changed latency to a minimal value (1000) and enabled
drop-on-latency.

Regarding our system, we would have a local network that link HD cameras
and ppc recorder.

My questions:

- Considering a local network dedicated to video streaming, would it be
possible to completely remove jitterbuffer ?
    - As RTP packets are processed by jitterbuffer from gstrtpssrcdemux to
gstrtpptdemux, could we directly connect gstrtpssrcdemux to gstrtpptdemux ?
    - Would it makes sense to write a minimal gstjitterbuffer ?
- As we see lot of pad push, would it be a good point to gather all rtpbin
sub-elements to one element and thus have less pads ?
- Any other ideas ;) ?

Thanks,


Eloi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141007/1a978a2b/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graph-callgrind.png
Type: image/png
Size: 146434 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141007/1a978a2b/attachment-0001.png>


More information about the gstreamer-devel mailing list