0
votes

For one of our ongoing projects we were planning to use some multimedia framework like VLC / Gstreamer to capture and playback / render h.264 encoded rtsp streams. For the same we have been observing the performance (CPU & memory utilization) of VLC using two demo applications that we have built. One of the demo application uses the mozilla vlc plugin using which we have embedded up to four h.264 encoded RTSP streams on a single html webpage while the other demo application simply invoked the vlc player and plays a single h.264 encoded rtsp stream.

I was surprised to observe that the results were as under (Tests were conducted on Ubuntu 11.04):

Demo 2 (Mozilla VLC plugin - 4 parallel streams)

  • CPU utilization: 16%

  • Memory utilization: ~61MB

Demo 2 (VLC player - 1 stream)

  • CPU utilization: 16%

  • Memory utilization: ~17MB

My question is, why is the CPU utilization lesser for the mozilla VLC plugin even though it is decoding more video streams.

Reply awaited.

Regards,

Saurabh Gandhi

2
what happens if you run Mozilla VLC plugin with just one stream?ee.
mozilla vlc plugin with just one stream gives around 4% CPU utilization and ~54MB RAM utilizationSaurabh Gandhi
I think there might be some rendering quality tradeoffs made in vlc mozilla plugin. Try with different resolutions & full screen mode. You might notice the difference.Sri

2 Answers

0
votes

I'm also using VLC mozilla plugin for my project and I have problem with h264 streams. The only way to handle such stream was to use --ffmpeg-hw (for vaapi use) which due Xlib works only in standalone VLC app (--no-xlib flag in vlcplugin_base.cpp). So I removed that flag and added XInitThreads() and it works now BUT far from performance level you had and besides no-xlib flag was there for reason (it might come to some unwanted behavior).

So the main question is HOW did you come to such results and if its possible to share your configuration flags with me and the rest.

The system I'm using is 4 core CPU and nvidia ION graphics. CPU cores stay at moderate level but stream on fullscreen doesn't play smoothly. If the same streams gets run in cvlc it works perfect. ffmpeg-hw flag is used in both accounts without any warning messages (vaapi successfully returns).

0
votes

If you have hardware acceleration of some sort, then CPU only takes care of routing the data..