Download - Helix On The OLPC
![Page 1: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/1.jpg)
Helix Summit 2007
Helix On The OLPCHelix On The OLPC
Python Extensions of Helix
![Page 2: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/2.jpg)
Helix Summit 2007 2
IntroductionsIntroductions
• We support open software, open communities, and an open world
• Peter Krenesky• Lead Software Engineer• Tech Lead for OLPC projects @ OSL
![Page 3: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/3.jpg)
Helix Summit 2007 3
SummarySummary
• Python API Overview• Helix Player On the OLPC:
• Watch & Listen
• ProducerSDK On the OLPC: • Produce• Teleconference
• Future Plans:• Audio Presentations Via Producer
![Page 4: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/4.jpg)
Helix Summit 2007 4
Pykit - OverviewPykit - Overview
• Python Modules• HxPlay• HxRecord
• Capture• Editing• Encoding
![Page 5: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/5.jpg)
Helix Summit 2007 5
Pykit - Design GoalsPykit - 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
![Page 6: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/6.jpg)
Helix Summit 2007 6
HxPlay - OverviewHxPlay - Overview
• Ported to atlas• Target: player_kit_python• Code cleanup
• Added new features• QuickSeek• Video Site Resizing• Playlist support• Color Controls
![Page 7: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/7.jpg)
Helix Summit 2007 7
HxPlay - Player sampleHxPlay - Player sample
Import hxplayhxplay.init()player = hxplay.open(“foo.mp3”)
player.start()
![Page 8: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/8.jpg)
Helix Summit 2007 8
HxPlay – Incomplete HxPlay – Incomplete FeaturesFeatures
• Support other than Linux
• Support for Multiple Players
• Audio Formatting
• Audio Visualization
![Page 9: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/9.jpg)
Helix Summit 2007 9
HxRecord - OverviewHxRecord - Overview
• New Python Bindings Around ProducerSDK
• Target: player_kit_python_hxrecord
• ProducerSDK modifications• Porting to atlas• Adding features
![Page 10: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/10.jpg)
Helix Summit 2007 10
HxRecord - Design GoalsHxRecord - Design Goals
• Match ProducerSDK workflow
• Full featured
• Simplicity
• Merger with hxplay
![Page 11: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/11.jpg)
Helix Summit 2007 11
HxRecord - Code SampleHxRecord - Code Sample
dictionary = { ‘pluginType’ :
’avFileInput’ , ’filename’ : ’foo.avi’
}input = hxrecord.createInput(dictionary)encodingjob.setInput(input)
![Page 12: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/12.jpg)
Helix Summit 2007 12
HxRecord – RoadmapHxRecord – Roadmap
• Bindings Mostly Complete
• Debug Ported ProducerSDK
• Merge ProducerSDK components with Atlas
• Merge HxRecord and HxPlay
![Page 13: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/13.jpg)
Helix Summit 2007 13
ProducerSDK - Current ProducerSDK - Current HierarchyHierarchy
EncodeSVCMediaPlayback
Class Factory
Video Output (sites)
Container Classes
Class Factory
Video Output (sites)
Container Classes
Atlas ProducerSDK
![Page 14: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/14.jpg)
Helix Summit 2007 14
ProducerSDK – Intermediate ProducerSDK – Intermediate StepStep
EncodeSVCMediaPlayback
Class Factory
Video Output (sites)
Container Classes
Class Factory
Video Output (sites)
Container Classes
Atlas
![Page 15: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/15.jpg)
Helix Summit 2007 15
ProducerSDK - Planned ProducerSDK - Planned HierarchyHierarchy
EncodeSVCMediaPlayback
Class Factory
Atlas
Video Output (sites)
Container Classes
![Page 16: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/16.jpg)
Helix Summit 2007 16
PyKit - Current HierarchyPyKit - Current Hierarchy
HxRecord
EngineInitialization
HxPlay
EngineInitialization
![Page 17: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/17.jpg)
Helix Summit 2007 17
PyKit - Planned HierarchyPyKit - Planned Hierarchy
HxRecordHxPlay
HxEngine
PyKit
![Page 18: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/18.jpg)
Helix Summit 2007 18
Helix Player on the OLPCHelix 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
![Page 19: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/19.jpg)
Helix Summit 2007 19
Watch & Listen - Watch & Listen - ScreenshotScreenshot
![Page 20: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/20.jpg)
Helix Summit 2007 20
Watch & Listen - FeaturesWatch & Listen - Features
• Standard Playback Buttons• Seeking via slider• Screen size toggles• Metadata display• Playlist Support
![Page 21: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/21.jpg)
Helix Summit 2007 21
The OLPC JournalThe 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
![Page 22: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/22.jpg)
Helix Summit 2007 22
Journal - ScreenshotJournal - Screenshot
![Page 23: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/23.jpg)
Helix Summit 2007 23
W & L - Features We’d Like W & L - Features We’d Like to Addto Add
• Visualizations for audio Playback
• Keyboard Shortcuts
• Sharing - Collaboration among children
![Page 24: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/24.jpg)
Helix Summit 2007 24
Sharing - OverviewSharing - Overview
• It’s a collaboration tool not just a laptop!
• Shared learning experiences
![Page 25: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/25.jpg)
Helix Summit 2007 25
Watch & Listen - Watch & Listen - MulticastingMulticasting
• Positives• Scales very well for 1:M transmission
• Negatives• Server is a large image• Simultaneous multicasts may degrade mesh
![Page 26: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/26.jpg)
Helix Summit 2007 26
W & L - Synchronized W & L - Synchronized ViewingViewing• Positives
• Doesn’t require a much larger image
• Negatives • Limited Scaling• Must all have access to video
• Keeping video synchronized is difficult
Server
![Page 27: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/27.jpg)
Helix Summit 2007 27
Produce - OverviewProduce - Overview
• Capture - video and audio• Encoding• Simple Video Editing
• Cropping• Resizing• Cutting & Joining videos• Add Audio Tracks
![Page 28: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/28.jpg)
Helix Summit 2007 28
Produce - Record MockupProduce - Record Mockup
![Page 29: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/29.jpg)
Helix Summit 2007 29
Produce - Editing MockupProduce - Editing Mockup
![Page 30: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/30.jpg)
Helix Summit 2007 30
Teleconference - OverviewTeleconference - Overview
• Audio and video Teleconferencing using Helix
• Senior Capstone Project• Year long project required for graduation
![Page 31: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/31.jpg)
Helix Summit 2007 31
Teleconference - OverviewTeleconference - 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
![Page 32: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/32.jpg)
Helix Summit 2007 32
Teleconference - 1:1 Teleconference - 1:1 WorkflowWorkflow
Child 1
Producer (out)
Player (in)
Child 2
Player (in)
Producer (out)
![Page 33: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/33.jpg)
Helix Summit 2007 33
Teleconference - M:N Teleconference - M:N ChallengesChallenges• Every Participant adds 2 streams
• Videos must be decoded and drawn to screen
• Audio must be multiplexedChild 1
Producer (out) Child2
Child3
Producer (in)
Player (in)
AudioCombined Stream
![Page 34: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/34.jpg)
Helix Summit 2007 34
Teleconference – Special Teleconference – Special RequirementsRequirements
• 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
![Page 35: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/35.jpg)
Helix Summit 2007 35
Webcaster – OverviewWebcaster – Overview
• PowerPoint + Recorded Audio
• Proposed project • Will probably be done in pieces as class projects
![Page 36: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/36.jpg)
Helix Summit 2007 36
RecapRecap
• Python API – A lot of momentum
• Helix On the OLPC: • Watch & Listen• Produce• Teleconference• Audio Presentations Via Producer
![Page 37: Helix On The OLPC](https://reader035.vdocuments.us/reader035/viewer/2022062808/56815302550346895dc12269/html5/thumbnails/37.jpg)
Helix Summit 2007 37
Questions?Questions?
• Peter Krenesky• Email: [email protected]• Web: http://osuosl.org
• Ribosome Targets:• Player_kit_python• Player_kit_python_hxrecord
• http://laptop.org