rtspsrc cpu optimization
Eloi Bail
eloi.bail at gmail.com
Tue Oct 14 12:26:52 PDT 2014
> 7% on what platform? If it's anything above Core-i3, it is a significant
load
>
It is a quite old platform (
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC8347E)
with a 667 Mhz CPU.
Actually we used a proprietary solution based on live555 library. Recording
files on the same camera, CPU consumption is around 2% while it reach more
than 10% using gstreamer.
However it looks like gstreamer is stronger on RTP jitter.
I am a gstreamer lover and it is a fact that it offers lot of features
compared to other solutions. But it is a bit hard to justify such a
consumption difference.
> Jitter buffer handling isn't needed if your RTP packets are coming over
TCP,
> isn't it? You shouldn't have out of order packets unlike UDP
Indeed it would not be. As far as I know Gstreamer does not do that (only
RTSP packets) am I right ?
>
> Check where the load is, precisely which line is taking more cycles. That
> should give more clue
>
That is what I am trying to do. I was using too kernel tool *Perf*. I used
perf top running 0, then 1, 2 , 3, 4 pipelines (gst-launch-1.0 rtspsrc
location=rtsp://xxx ! fakesink)
See the result in attachment. I do not see for the moment that something
really consume CPU. I see increasing p_thread_mutex_lock.
Doing I see *also 10 simultaneous threads running* !
As live555 is monothread and event-driven it could explain such a
consumption difference.
I would like to decrease thread creation having less elements. Gathering
gstrtpsession, gstrtpssrcdemux, gstjitterbuffer, gstrtpptdemux into one big
"RtpBin" element would be a idea.
I would like to have first your advice.
Thanks,
Eloi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141014/51219e2f/attachment.html>
More information about the gstreamer-devel
mailing list