CPU utilization by webrtcbin plugin
Pradeep Acharya
pradeep.acharya1008 at gmail.com
Thu Aug 4 13:36:02 UTC 2022
Hi,
This is a query related to CPU utilization and any optimization can be done
to reduce the CPU utilization.i've a media server that connects to web app
applications running in the browser . The media server uses webrtc bin
plugin .
I use a single socket to transmit and receive audio/video . I've attached
the png files extracted from the Dot file. Below is configuration details
of the server used
Num of CPU cores: 8
Model: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
Audio codec: opus
video codec : VP8
video encoding by clients: 640 x480 @ ~ 500 kbps
The server does not decode or encode the RTP but just forward from one
client to another. When I execute the top command, I find that the cpu % is
around 14 to 16 % just for 2 clients . The cpu utilization goes up higher
and higher as the number of clients connected to the server increases. For
8 participants it goes beyond 400% , distributed among the cores. output of
the top command
2329570 root -11 0 4074924 73708 18920 S 2.0 1.3 0:01.80
queue1:src
2331060 root -11 0 4074924 73708 18920 S 1.7 1.3 0:01.45
nicesrc1:src
2329568 root -11 0 4074924 73708 18920 S 1.3 1.3 0:05.39
nicesrc0:src
2329569 root -11 0 4074924 73708 18920 S 1.3 1.3 0:04.39
queue0:src
2331061 root -11 0 4074924 73708 18920 S 1.3 1.3 0:01.38
queue2:src
2331062 root -11 0 4074924 73708 18920 S 1.0 1.3 0:01.41
queue3:src
2329567 root -11 0 4074924 73708 18920 S 0.7 1.3 0:01.64
rtpsession-rtcp
2329583 root -11 0 4074924 73708 18920 S 0.7 1.3 0:00.94
rtpjitterbuffer
2331058 root -11 0 4074924 73708 18920 S 0.7 1.3 0:00.39
appsrc_Audio_36
2331059 root -11 0 4074924 73708 18920 S 0.7 1.3 0:00.64
rtpsession-rtcp
2331079 root -11 0 4074924 73708 18920 S 0.7 1.3 0:00.42
rtpjitterbuffer
2331080 root -11 0 4074924 73708 18920 S 0.7 1.3 0:00.38
rtpjitterbuffer
2329580 root -11 0 4074924 73708 18920 S 0.3 1.3 0:00.08 timer
2329582 root -11 0 4074924 73708 18920 S 0.3 1.3 0:01.42
rtpjitterbuffer
2329584 root -11 0 4074924 73708 18920 S 0.3 1.3 0:00.51
rtpjitterbuffer
2331070 root -11 0 4074924 73708 18920 S 0.3 1.3 0:00.40
appsrc_Audio_13
2331084 root -11 0 4074924 73708 18920 S 0.3 1.3 0:00.20
rtpjitterbuffer
>From the above, I see that nicesrc plugin takes around 2 % of cpu of one
client I think this plugin receives packets and puts them to queue. Should
this thread take 2 % cpu to receive RTP packets from socket and put them to
queue ?
other elements like nicesink, rtpjitterbuffer ,appsrc thread consume CPU.
Features like do-nack and TWCC are enabled for video
1. Is there any benchmark of CPU utilization that the webrtcbin plugin
should take for a 2 way TX and RX of audio,video RTP packets @ 500 kbps ?
2. ARe there any element property config changes that need to be done to
reduce CPU utilization ?
3. How to proceed to reduce cpu utilization ? Any suggestions that help me
in figuring out are welcome
Thanks
Pradeep
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220804/016307f4/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: webrtc_2013589.png
Type: image/png
Size: 438876 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220804/016307f4/attachment-0001.png>
More information about the gstreamer-devel
mailing list