3. MediaFlow is a set of integrated hardware and software
components that allow simultaneous control, capture, formatting,
processing, and distribution of AV content generated in
educational spaces.
4. MediaFlow
• Consists of five components
‣ Core AV Systems (CS)
‣ Core IT Systems (CS)
‣ Maestro
‣ MediaFlowProxy (MFP)
‣ StreamGrabber (SG)
5. MediaFlow
• 1000+ hardware components
• 8 miles of dedicated AV fiber
• 150,000+ lines of code
6. Timeline
System Research, Design, Architect August 2007
Software Development Begins September 2009
Construction Ends December 2009
AV/IT Installation Begins January 2010
Technology “burn in cycle” begins July 1, 2010
AV/IT systems tested & deployed July 31, 2010
Maestro User Training August 1, 2010
Begin teaching August 16, 2010
8. History
• 25+ years of capture
• 3,000 hours captured per year
• Enabling technology
9. Capture & Distribution Goals
• Automate the capture of all core classes and events
• Consolidate event & curriculum data - report to LCME
• Support self capture & externally produced media
• 5pm deadline for classroom content delivery
• Open standards
10. Owners
Executive Business Sponsor(s) Business Owner Lead Engineer - MF
David Gaba Jenn Stringer Carter Youngblood
Todd Ferris
Michael Halaas Technical Architect CS, MF CS Systems Engineer
Henry Lowe Andy Wasklewicz Jaime Gago
Niraj Dangoria
IRT Project Manager AV Engineer
Business Stakeholders Pauline Brutlag Bindu Madhava
Brian Tobin (EdTech)
Mary Ayers (EdTech)
Systems Architect Maestro Operations
Jamie Tsui
Don Mitchell – IRT Trent Tanaka
Cindy Irvine (OME)
Dianna Jouan (Course Admin)
Richard Renn (Public Web)
11. Media Flow Users
Role Users Per Year
Lecturers 500
Students 1000
Course Directors & Coordinators 75
SET Staff 10
Public Views ???
12. Old Process
1 4
Receive request; contact Print door sign and post
classroom support to if on door
they can provide taping
2 5
Track down taper last minute Obtain video release from
speaker
3 6
Schedule event Video encoded and
manually posted
13. New Process
1 4
Receive request; contact
System generates video release
classroom support to if
email; speaker signs electronically
they can provide taping
2 5
Schedule change is reflected in Speaker chooses auto start or
electronic door sign manually starts, extends, ends
session via AMX panel in classroom
3 6
Session owner (requester) enters Video file is automatically encoded;
session information into Maestro distributed once system has verified
“signed” video release
14. MediaFlow Data
R25 SchedulingData
Maestro DB
CurrMIT Coursework iTunesU ?????
19. MediaFlow - MediaFlowProxy
• Link between Maestro and core systems
• Provides data for digital signs
• Provides delay/start/stop/extend functionality
• Collaboration with Apple
• Java, Tomcat, MySQL
20. MediaFlow - StreamGrabber
• Interface between MFP and network
encoders
• Collaboration between Stanford and
Telestream
• Objective C, C++, C
21. Workflows
Video post-production
Preflight
• Extract Audio Track
From
PipeOutScreencap
Generate Title Slide
10 sec duration
Encode
Stanford Logo 4
ScreenCap-960x540
Split
Split PipeOutCam
into N pieces
Split PipeOutScreencap
into N pieces
Split PipeOutCam
into N pieces
PipeOutScreencap
automation
into N pieces
Master Encode
Join Source
Audio&Copyright
Encode H.264
Encode H.264 Piece N
Title Encode H.264 Piece 2
Slide Encode PiP Piece 1
Encode PiP PipeOutScreenCap
Encode Source Scale Encode PiP
Encode Copyright Audio for Mp4 PipeOutScreenCap Piece N
Flattening for Mp4 PipeOutScreenCap Piece 2
Audio&Copyright Encode H.264
Piece 1
Encode H.264
Encode H.264 Piece 2 Piece N
Title Slide Encode H.264 Piece 1
BG-Cover Encode H.264 Encode H.264 Piece N
Encode Piece 1 Piece 2
Audio&Copyright
Encode Title Slide
4
ScreenCap-960x540
Publish Audio Track
Encode
Encode Title Slide
4 Stanford Logo 4
4 Cam-640x360 Cam-640x360
Cat Intro and Cat Intro and
N PiP Encoded N PiP Encoded
PipeOutScreencap PipeOutCam Pieces
Pieces
Delete Audio from
Delete Audio from PipeOutCam PiP
PiP
PipeOutScreencap encoded
encoded
Cat Intro and
N Encoded
PipeOutScreencap Cat Intro and
Pieces N Encoded
PipeOutCamPieces
Delete Audio from Delete Audio from
MV PipeOutCam
encoded encoded
MV PipeOutScreencap
back to
PipeOutScreencap PipeOutCam $$pipeout_sourcefolder$$
back to
Generate $$pipeout_sourcefolder$$
PictureInPicture
Annotate Annotate
Annotate
Mix in Audio Mix in Audio
with offsets with offsets
Mix in Audio
with offsets
Publish Encoded
PipeOutCam
Publish Encoded
PipeOutScreencap Publish Encoded
PiP
End Workflow
Maestro Status
Postflight
22. Video Output
• H.264, MP4 wrapper
• Three different video “types”
• Playable on computer, mobile devices
26. Designing Maestro
• Use cases (64)
• Flow diagrams
• UI wireframes (whiteboard, omnigraffle)
• Rolling Orange refinements
• Iterations based on feedback from users
27.
28.
29.
30.
31.
32.
33. Maestro: Agile Development
• Feature list --> time estimates --> project plan
• Quick two-week development cycles
• Interspersed with bug-fix cycles
• Daily stand-ups (Scrum)
34.
35. Maestro QA
• Team of 4 student QA Testers
• Developed test cases based on spec
• Tested every test case on new features
• Set aside a logical portion of cases for smoke tests
• Fogbugz for case tracking
• Google Doc for test cases