1 / 40

Helix On The OLPC

Helix On The OLPC. Python Extensions of Helix. Introductions. We support open software, open communities, and an open world Peter Krenesky Lead Software Engineer Tech Lead for OLPC projects @ OSL. Foreword. OLPC is a very unique device Its is not just a “laptop”. Summary.

gyan
Download Presentation

Helix On The OLPC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Helix On The OLPC Python Extensions of Helix Helix Summit 2007

  2. Introductions • We support open software, open communities, and an open world • Peter Krenesky • Lead Software Engineer • Tech Lead for OLPC projects @ OSL Helix Summit 2007

  3. Foreword • OLPC is a very unique device • Its is not just a “laptop” Helix Summit 2007

  4. Summary • Python API Overview • Helix Player On the OLPC: • Watch & Listen • ProducerSDK On the OLPC: • Produce • Teleconference • Future Plans: • Audio Presentations Via Producer Helix Summit 2007

  5. Pykit - Overview • Python Modules • HxPlay • HxRecord • Capture • Editing • Encoding Helix Summit 2007

  6. Pykit - Design Goals • Simplify the interface • Hide engine initialization • Hide initialization of components • Resizing • Seeking • Reuse as much as possible • Start from pyplayer • Feature implementations borrowed from splay Helix Summit 2007

  7. HxPlay - Overview • Ported to atlas • Target: player_kit_python • Code cleanup • Added new features • QuickSeek • Video Site Resizing • Playlist support • Color Controls Helix Summit 2007

  8. HxPlay - Player sample Import hxplay hxplay.init() player = hxplay.open(“foo.mp3”) player.start() Helix Summit 2007

  9. HxPlay – Incomplete Features • Support other than Linux • Support for Multiple Players • Audio Formatting • Audio Visualization Helix Summit 2007

  10. HxRecord - Overview • New Python Bindings Around ProducerSDK • Target: player_kit_python_hxrecord • ProducerSDK modifications • Porting to atlas • Adding features Helix Summit 2007

  11. HxRecord - Design Goals • Match ProducerSDK workflow • Full featured • Simplicity • Merger with hxplay Helix Summit 2007

  12. HxRecord - Code Sample dictionary = { ‘pluginType’ : ’avFileInput’ , ’filename’ : ’foo.avi’ } input = hxrecord.createInput(dictionary) encodingjob.setInput(input) Helix Summit 2007

  13. HxRecord – Roadmap • Bindings Mostly Complete • Debug Ported ProducerSDK • Merge ProducerSDK components with Atlas • Merge HxRecord and HxPlay Helix Summit 2007

  14. ProducerSDK - Current Hierarchy Atlas ProducerSDK Media Playback EncodeSVC Class Factory Class Factory Video Output (sites) Video Output (sites) Container Classes Container Classes Helix Summit 2007

  15. ProducerSDK – Intermediate Step Atlas Media Playback EncodeSVC Class Factory Class Factory Video Output (sites) Video Output (sites) Container Classes Container Classes Helix Summit 2007

  16. ProducerSDK - Planned Hierarchy Atlas Media Playback EncodeSVC Class Factory Video Output (sites) Container Classes Helix Summit 2007

  17. PyKit - Current Hierarchy HxPlay HxRecord Engine Initialization Engine Initialization Helix Summit 2007

  18. PyKit - Planned Hierarchy PyKit HxPlay HxRecord HxEngine Helix Summit 2007

  19. Helix Player on the OLPC • Named “Watch and Listen” after the activity that children are doing. • Lots of possible features but need to keep it simple Helix Summit 2007

  20. Watch & Listen - Screenshot Helix Summit 2007

  21. Watch & Listen - Features • Standard Playback Buttons • Seeking via slider • Screen size toggles • Metadata display • Playlist Support Helix Summit 2007

  22. The OLPC Journal • Stores a history of what a child has done • Activities can be resumed • Files have a mime-type • Only place where Watch & Listen can be launched Helix Summit 2007

  23. Journal - Screenshot Helix Summit 2007

  24. W & L - Features We’d Like to Add • Visualizations for audio Playback • Keyboard Shortcuts • Sharing - Collaboration among children Helix Summit 2007

  25. Sharing - Overview • It’s a collaboration tool not just a laptop! • Shared learning experiences Helix Summit 2007

  26. Watch & Listen - Multicasting • Positives • Scales very well for 1:M transmission • Negatives • Server is a large image • Simultaneous multicasts may degrade mesh Helix Summit 2007

  27. OLPC - Mesh Networking • 802.11s • Ad-hoc Wireless network • May easily span miles • Peers may connect indirectly through other Peers Helix Summit 2007

  28. W & L - Synchronized Viewing • Positives • Doesn’t require a much larger image • Negatives • Limited Scaling • Must all have access to video • Keeping video synchronized is difficult Server Helix Summit 2007

  29. Produce - Overview • Capture - video and audio • Encoding • Simple Video Editing • Cropping • Resizing • Cutting & Joining videos • Add Audio Tracks Helix Summit 2007

  30. Produce - Record Mockup Helix Summit 2007

  31. Produce - Record Screenshot Helix Summit 2007

  32. Produce - Editing Mockup Helix Summit 2007

  33. Teleconference - Overview • Audio and video Teleconferencing using Helix • Senior Capstone Project • Year long project required for graduation Helix Summit 2007

  34. Teleconference - Overview • Will use both HxRecord & HxPlay • 1:1 Video and or Audio at usable rates • CPU power bigger issue than bandwidth • M:N Conferencing may not be possible with CPU limitations Helix Summit 2007

  35. Teleconference - 1:1 Workflow Child 1 Child 2 Producer (out) Player (in) Player (in) Producer (out) Helix Summit 2007

  36. Teleconference - M:N Challenges • Every Participant adds 2 streams • Videos must be decoded and drawn to screen • Audio must be multiplexed Child 1 Child2 Producer (out) Combined Stream Producer (in) Audio Child3 Player (in) Helix Summit 2007

  37. Teleconference – Special Requirements • All communication between laptops must use Python dbus • XO has special libraries for locating and communicating with peers on the mesh • Plugins will be required for both Producer and Player Helix Summit 2007

  38. Webcaster – Overview • PowerPoint + Recorded Audio • Proposed project • Will probably be done in pieces as class projects Helix Summit 2007

  39. Recap • Python API – A lot of momentum • Helix On the OLPC: • Watch & Listen • Produce • Teleconference • Audio Presentations Via Producer Helix Summit 2007

  40. Questions? • Peter Krenesky • Email: Peter@osuosl.org • Web: http://osuosl.org • Ribosome Targets: • Player_kit_python • Player_kit_python_hxrecord • http://laptop.org Helix Summit 2007

More Related