Helix On The OLPC Python Extensions of Helix
- Slides: 40
Helix On The OLPC Python Extensions of Helix Summit 2007
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 2
Foreword • OLPC is a very unique device • Its is not just a “laptop” Helix Summit 2007 3
Summary • Python API Overview • Helix Player On the OLPC: • Watch & Listen • Producer. SDK On the OLPC: • Produce • Teleconference • Future Plans: • Audio Presentations Via Producer Helix Summit 2007 4
Pykit - Overview • Python Modules • Hx. Play • Hx. Record • Capture • Editing • Encoding Helix Summit 2007 5
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 6
Hx. Play - Overview • Ported to atlas • Target: player_kit_python • Code cleanup • Added new features • • Quick. Seek Video Site Resizing Playlist support Color Controls Helix Summit 2007 7
Hx. Play - Player sample Import hxplay. init() player = hxplay. open(“foo. mp 3”) player. start() Helix Summit 2007 8
Hx. Play – Incomplete Features • Support other than Linux • Support for Multiple Players • Audio Formatting • Audio Visualization Helix Summit 2007 9
Hx. Record - Overview • New Python Bindings Around Producer. SDK • Target: player_kit_python_hxrecord • Producer. SDK modifications • Porting to atlas • Adding features Helix Summit 2007 10
Hx. Record - Design Goals • Match Producer. SDK workflow • Full featured • Simplicity • Merger with hxplay Helix Summit 2007 11
Hx. Record - Code Sample dictionary = { ‘plugin. Type’ : ’av. File. Input’ , ’filename’ : ’foo. avi’ } input = hxrecord. create. Input(dictionary) encodingjob. set. Input(input) Helix Summit 2007 12
Hx. Record – Roadmap • Bindings Mostly Complete • Debug Ported Producer. SDK • Merge Producer. SDK components with Atlas • Merge Hx. Record and Hx. Play Helix Summit 2007 13
Producer. SDK - Current Hierarchy Atlas Producer. SDK Media Playback Encode. SVC Class Factory Video Output (sites) Container Classes Helix Summit 2007 14
Producer. SDK – Intermediate Step Atlas Media Playback Encode. SVC Class Factory Video Output (sites) Container Classes Helix Summit 2007 15
Producer. SDK - Planned Hierarchy Atlas Media Playback Encode. SVC Class Factory Video Output (sites) Container Classes Helix Summit 2007 16
Py. Kit - Current Hierarchy Hx. Play Hx. Record Engine Initialization Helix Summit 2007 17
Py. Kit - Planned Hierarchy Py. Kit Hx. Play Hx. Record Hx. Engine Helix Summit 2007 18
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 19
Watch & Listen - Screenshot Helix Summit 2007 20
Watch & Listen - Features • • • Standard Playback Buttons Seeking via slider Screen size toggles Metadata display Playlist Support Helix Summit 2007 21
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 22
Journal - Screenshot Helix Summit 2007 23
W & L - Features We’d Like to Add • Visualizations for audio Playback • Keyboard Shortcuts • Sharing - Collaboration among children Helix Summit 2007 24
Sharing - Overview • It’s a collaboration tool not just a laptop! • Shared learning experiences Helix Summit 2007 25
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 26
OLPC - Mesh Networking • • 802. 11 s Ad-hoc Wireless network May easily span miles Peers may connect indirectly through other Peers Helix Summit 2007 27
W & L - Synchronized Viewing • Positives • Doesn’t require a much larger image Server • Negatives • Limited Scaling • Must all have access to video • Keeping video synchronized is difficult Helix Summit 2007 28
Produce - Overview • Capture - video and audio • Encoding • Simple Video Editing • • Cropping Resizing Cutting & Joining videos Add Audio Tracks Helix Summit 2007 29
Produce - Record Mockup Helix Summit 2007 30
Produce - Record Screenshot Helix Summit 2007 31
Produce - Editing Mockup Helix Summit 2007 32
Teleconference - Overview • Audio and video Teleconferencing using Helix • Senior Capstone Project • Year long project required for graduation Helix Summit 2007 33
Teleconference - Overview • Will use both Hx. Record & Hx. Play • 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 34
Teleconference - 1: 1 Workflow Child 1 Child 2 Producer (out) Player (in) Producer (out) Helix Summit 2007 35
Teleconference - M: N Challenges • Every Participant adds 2 streams • Videos must be decoded and drawn to screen • Audio must be multiplexed Child 1 Child 2 Producer (out) Combined Stream Producer (in) Audio Child 3 Player (in) Helix Summit 2007 36
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 37
Webcaster – Overview • Power. Point + Recorded Audio • Proposed project • Will probably be done in pieces as class projects Helix Summit 2007 38
Recap • Python API – A lot of momentum • Helix On the OLPC: • • Watch & Listen Produce Teleconference Audio Presentations Via Producer Helix Summit 2007 39
Questions? • Peter Krenesky • Email: Peter@osuosl. org • Web: http: //osuosl. org • Ribosome Targets: • Player_kit_python_hxrecord • http: //laptop. org Helix Summit 2007 40
- Schoology.henrico
- Olpc citibank
- Simd extensions
- Introducing and naming new products and brand extensions
- Dreamweaver php tutorials
- Arm design philosophy
- _mm_add_ss
- Hybris create new extension
- Branch management strategy
- Mapping extensions
- Extensions of turing machine
- Extensions of recurrent neural network language model
- Introducing and naming new products and brand extensions
- Visual studio authoring extensions
- Data mining extensions
- Oracle procedural language extensions to sql
- Brand extensions
- Sw guard extensions
- Milady chapter 18 review questions and answers
- Azure data studio vs ssms
- "brand strategy"
- Tall pad extensions are used
- Finger extensions
- Can't pickle psycopg2.extensions.connection objects
- Extensions of demand and supply analysis
- Non convertible collar
- Point to point correspondence and formal similarity
- University of kent extensions
- Multimedia mail extension
- Reactive extensions net core
- Intel isa extensions
- 101012 bằng
- Thơ thất ngôn tứ tuyệt đường luật
- Hát lên người ơi alleluia
- Hổ sinh sản vào mùa nào
- đại từ thay thế
- Diễn thế sinh thái là
- Vẽ hình chiếu vuông góc của vật thể sau
- Công của trọng lực
- Thế nào là mạng điện lắp đặt kiểu nổi
- Tỉ lệ cơ thể trẻ em