"High" memory usage

Asked by Matthew Holder

On setting up a display with one RSS feed ticker, one region containing two text "fields", one powerpoint presentation and another region containing test the memory usage by the client is 50Mb.

By my reckoning we have one instance of powerpoint loaded (embedded into the display), or at least the powerpoint viewer element, and three instances of IE.

I think the Python client would be a great idea if the memory usage were lower, and instead of embedding IE writing a simple parser, or embedding something like gecko.

Possible ideas:

1) Embed gecko or webkit for displaying text / pictures etc
2) Use gstreamer python bindings to play any video clip. gstreamer supports a huge amount of codecs "out of the box". This could also be used to display streaming video
3) Use an engine such as pygame to allow full screen display

I am not a coder, but I hope I can help in other ways with the development of this great system!

Question information

Language:
English Edit question
Status:
Answered
For:
Xibo Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Alex Harrington (alexharrington) said :
#1

Hi Matthew

The python client is already well underway built on the libavg framework. You'll probably see a higher memory usage overall since it's based on OpenGL libraries - however this gives us alot more control over the display and the possibility to do things like wrapping textures (live webpages, videos etc) around 3D objects etc. It will also allow us to pull in TV/webcams/video capture cards on Windows, Linux and Mac through v4l2, DirectShow or firewire. It also has the possibility to build in user interaction at a later date through camera tracking, multitouch consoles, keyboards, pressure switches etc

libavg uses ffmpeg and libavc to playback video and I've been very impressed with both the speed of loading even large videos and also the quality of the output we've achieved so far. I'm testing with the 720p version of Big Buck Bunny and the load time is negligible.

The recent proliferation of low power consumption, yet powerful Atom-based machines with powerful GPUs (new eeeBox 206, Asus eeeBox equivalent etc) coupled with their low price means that we can afford to use a bit more RAM, CPU time and leverage the GPU more - given the possibilities I'm seeing in testing. And even with older hardware, transferring that rendering off to the GPU means that CPU requirements are lowered - and a cheap graphics card is more than man enough to do the job.

Streaming video has been discussed before. Xibo is designed to operate online or offline - and as such will happily operate when there is no connection to the Xibo server - the new client will build upon that and the intension is to be able to cache weeks worth of content ahead of time and then use it in a disconnected fashion. This means that the playback is very reliable (since we aren't going to the Internet all the time, and even in the case of RSS tickers etc then we have a local copy to play from should the source website become unavailable). It's much harder to pull something like that off with streaming video.

I expect, at least in the short term, the compromise will be that people embed streaming media as HTML snippets (which will be supported in 1.0.2 onwards) and that native videos will be download only. Incidently the python client can play FLV videos too - so you can download Youtube clips etc and play those.

The one big piece of the jigsaw puzzle missing for the Python client is embedding webpages. Libavg doesn't support this at the moment, however it is on their roadmap as a feature enhancement and we hope to be able to support getting that feature developed.

Once the python client is a bit more developed (and the server is capable of generating the next generation of XLF transfer format that it requires to work) then there will definitely be a chance for people to alpha/beta test it. Help there would be most welcome!

Cheers

Alex

Cheers

Alex

Can you help with this problem?

Provide an answer of your own, or ask Matthew Holder for more information if necessary.

To post a message you must log in.