Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations

Presentation on theme: "Helix Summit 2007 Helix On The OLPC Python Extensions of Helix."— Presentation transcript:

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

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

3 Helix Summit 20073 Summary Python API Overview Helix Player On the OLPC: Watch & Listen ProducerSDK On the OLPC: Produce Teleconference Future Plans: Audio Presentations Via Producer

4 Helix Summit 20074 Pykit - Overview Python Modules HxPlay HxRecord Capture Editing Encoding

5 Helix Summit 20075 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

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

7 Helix Summit 20077 HxPlay - Player sample Import hxplay hxplay.init() player =“foo.mp3”) player.start()

8 Helix Summit 20078 HxPlay – Incomplete Features Support other than Linux Support for Multiple Players Audio Formatting Audio Visualization

9 Helix Summit 20079 HxRecord - Overview New Python Bindings Around ProducerSDK Target: player_kit_python_hxrecord ProducerSDK modifications Porting to atlas Adding features

10 Helix Summit 200710 HxRecord - Design Goals Match ProducerSDK workflow Full featured Simplicity Merger with hxplay

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

12 Helix Summit 200712 HxRecord – Roadmap Bindings Mostly Complete Debug Ported ProducerSDK Merge ProducerSDK components with Atlas Merge HxRecord and HxPlay

13 Helix Summit 200713 ProducerSDK - Current Hierarchy EncodeSVCMedia Playback Class Factory Video Output (sites) Container Classes Class Factory Video Output (sites) Container Classes AtlasProducerSDK

14 Helix Summit 200714 ProducerSDK – Intermediate Step EncodeSVCMedia Playback Class Factory Video Output (sites) Container Classes Class Factory Video Output (sites) Container Classes Atlas

15 Helix Summit 200715 ProducerSDK - Planned Hierarchy EncodeSVCMedia Playback Class Factory Atlas Video Output (sites) Container Classes

16 Helix Summit 200716 PyKit - Current Hierarchy HxRecord Engine Initialization HxPlay Engine Initialization

17 Helix Summit 200717 PyKit - Planned Hierarchy HxRecordHxPlay HxEngine PyKit

18 Helix Summit 200718 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

19 Helix Summit 200719 Watch & Listen - Screenshot

20 Helix Summit 200720 Watch & Listen - Features Standard Playback Buttons Seeking via slider Screen size toggles Metadata display Playlist Support

21 Helix Summit 200721 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

22 Helix Summit 200722 Journal - Screenshot

23 Helix Summit 200723 W & L - Features We’d Like to Add Visualizations for audio Playback Keyboard Shortcuts Sharing - Collaboration among children

24 Helix Summit 200724 Sharing - Overview It’s a collaboration tool not just a laptop! Shared learning experiences

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

26 Helix Summit 200726 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

27 Helix Summit 200727 Produce - Overview Capture - video and audio Encoding Simple Video Editing Cropping Resizing Cutting & Joining videos Add Audio Tracks

28 Helix Summit 200728 Produce - Record Mockup

29 Helix Summit 200729 Produce - Editing Mockup

30 Helix Summit 200730 Teleconference - Overview Audio and video Teleconferencing using Helix Senior Capstone Project Year long project required for graduation

31 Helix Summit 200731 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

32 Helix Summit 200732 Teleconference - 1:1 Workflow Child 1 Producer (out) Player (in) Child 2 Player (in) Producer (out)

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

34 Helix Summit 200734 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

35 Helix Summit 200735 Webcaster – Overview PowerPoint + Recorded Audio Proposed project Will probably be done in pieces as class projects

36 Helix Summit 200736 Recap Python API – A lot of momentum Helix On the OLPC: Watch & Listen Produce Teleconference Audio Presentations Via Producer

37 Helix Summit 200737 Questions? Peter Krenesky Email: Web: http://osuosl.org Ribosome Targets: Player_kit_python Player_kit_python_hxrecord

Download ppt "Helix Summit 2007 Helix On The OLPC Python Extensions of Helix."

Similar presentations

Ads by Google