Professional Documents
Culture Documents
Cal Henderson
Hello
• 4 main tasks
– Uploading
– Transcoding
– Storage
– Serving & Playback
• Multiple options
– Simple form
– Flash
– Desktop app
• Cons
– Upload progress is harder
– ‘Slow’
– Select a single file at once
• Cons
– Harder to implement
– Flash isn’t quite ubiquitous
• Cons
– Hard to develop
– Hard to deploy (relative to the web)
Web 2.0 Expo NYC, 17th September 2008 18
Making Progress
• Upload progress
– Not impossible with plain forms
– Just need to be able to query the upload
progress via AJAX
• Multiple machines
– The VIP issue
– Enter Perlbal
Slow Fast
Browser Buffer Server
• Or a lightweight Apache
– E.g. w/ mod_proxy
• Interframe
– Store the differences between frames
– Treat the pixels as a 3D array to be
compressed
Web 2.0 Expo NYC, 17th September 2008 30
The IPB
• Three frame types: I, P & B
• Predicted pictures
– Based on a single reference frame
• Bi-predictive pictures
– Based on two or more reference frames
Web 2.0 Expo NYC, 17th September 2008 31
IPBIPBIPBIPB
• Reference frames may be I, P or B
Flash?
Web 2.0 Expo NYC, 17th September 2008 38
Non-flash sites
• QuickTime
• Windows Media
• This is gradually disappearing
• Flash Player 6
– March 2002
• Flash Player 7
– August 2005
• FFmepg
– libavcodec for VP6
– Probably illegal – dubious
– Also pretty shoddy
– Can only decode H.264
• VLC
– libvlc uses libavcodec
• On2 FlixEngine
– Creators of VP6
– Windows or Linux
– Some support for H.264
• Do it all asynchronously
Streaming
vs
Progressive
Web 2.0 Expo NYC, 17th September 2008 55
Streaming
• Pros
– Easily seekable
– Live feeds
• Cons
– Special server software
– Slower to start
– Firewall troubles
• Cons
– Harder to seek ahead (but not impossible)
• RTMP
– Real-time Messaging Protocol
– Proprietary (thanks Adobe!)
• Red5
– Java implementation of RTMP server
– Mostly feature complete
– Beta quality, but usable in production
– Facebook
• Very simple!
• Review grids
– Doesn’t cover audio