rtspsrc cpu optimization

Eloi Bail eloi.bail at gmail.com
Wed Oct 15 14:31:08 PDT 2014


Usi
>
> Mem: 77908K used, 177096K free, 0K shrd, 0K buff, 70864K cached
> CPU:   5% usr   5% sys   0% nic  87% idle   0% io   0% irq   0% sirq
> Load average: 0.09 0.06 0.03 1/55 706
>   PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
>   692   652 root     S     101m  41%   5% {udpsrc0:src} gst-launch-1.0
> rtspsrc location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>   699   652 root     S     101m  41%   3% {rtpjitterbuffer} gst-launch-1.0
> rtspsrc location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>   689   652 root     S     101m  41%   0% gst-launch-1.0 rtspsrc
> location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>   690   652 root     S     101m  41%   0% {task0} gst-launch-1.0 rtspsrc
> location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>   693   652 root     S     101m  41%   0% {udpsrc1:src} gst-launch-1.0
> rtspsrc location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>   691   652 root     S     101m  41%   0% {gmain} gst-launch-1.0 rtspsrc
> location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>   696   652 root     S     101m  41%   0% {fakesrc0:src} gst-launch-1.0
> rtspsrc location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>   697   652 root     S     101m  41%   0% {rtpsession-rtcp} gst-launch-1.0
> rtspsrc location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>   698   652 root     S     101m  41%   0% {timer} gst-launch-1.0 rtspsrc
> location=rtsp://172.16.0.138/udp_ch1_stream1 ! fakesink
>

Using always the same pipeline (rtspsrc ! fakesink) I tried to
understand where rtpjitterbuffer thread consume cpu, seeing effect
when not pushing pads from element to element.

I disconnected pad_push from rtpjitterbuffer to ptdemuxer and saw
performance improvement. I reconnect it and removed pad_push from
ptdemuxer to its src pad (fakesink)

I would expect to have similar CPU consumption when pushing buffer
from ptdemuxer to fakesink or not pushing buffer from ptdemuxer  at
all.

I see a difference of 1% ! In both case,  according to traces
jitterbuffer keep poping and pushing buffers.

So do you think it is reasonable to think that pad mechanism have
effects on cpu consumption ?
Do you think that limiting the use of pad would increase my
performances (even it is 2% with 8 pipelines I would save 16%...)

See my results in attachment.

Thanks,

Eloi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: top-pushpad.ods
Type: application/vnd.oasis.opendocument.spreadsheet
Size: 43661 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141015/852a3367/attachment-0001.ods>


More information about the gstreamer-devel mailing list