btking's picture
From btking rss RSS  subscribe Subscribe

Moving Pictures - Web 2.0 Expo NYC 

Moving Pictures - Web 2.0 Expo NYC

 

 
 
Tags:  great plains software  video  todo201108  encoding  flickr 
Views:  68
Published:  December 23, 2011
 
0
download

Share plick with friends Share
save to favorite
Report Abuse Report Abuse
 
Related Plicks
No related plicks found
 
More from this user
Bird Flu A Chicken Raiser’S Nightmare

Bird Flu A Chicken Raiser’S Nightmare

From: btking
Views: 226
Comments: 0

No web site available

No web site available

From: btking
Views: 170
Comments: 0

Green Cruising   John Hansen, Michael Crye, Paul Topping

Green Cruising John Hansen, Michael Crye, Paul Topping

From: btking
Views: 76
Comments: 0

Hexion 3CEE2ED8-8446-4BEA- B451-85C020EE965F_4 Q2008InvestorCallFi nal

Hexion 3CEE2ED8-8446-4BEA-B451-85C020EE965F_4Q2008InvestorCallFinal

From: btking
Views: 546
Comments: 0

Como optimizar as Campanhas Adwords para aumentar o ROI

Como optimizar as Campanhas Adwords para aumentar o ROI

From: btking
Views: 58
Comments: 0

The Business of APIs 2009 - Boomi

The Business of APIs 2009 - Boomi

From: btking
Views: 107
Comments: 0

See all 
 
 
 URL:          AddThis Social Bookmark Button
Embed Thin Player: (fits in most blogs)
Embed Full Player :
 
 

Name

Email (will NOT be shown to other users)

 

 
 
Comments: (watch)
 
 
Notes:
 
Slide 1: Moving Pictures Implementing Video on Flickr Cal Henderson
Slide 2: Hello Web 2.0 Expo NYC, 17th September 2008 2
Slide 3: Flickr • Large scale kitten sharing website • Started 2003, launched 2004 – 5 years old this december • Almost 3 billion photos Web 2.0 Expo NYC, 17th September 2008 3
Slide 4: Enter: Video • Video was added this year – Launched April 2008 • Many hundreds of thousands of videos uploaded • Many millions of playbacks Web 2.0 Expo NYC, 17th September 2008 4
Slide 5: Web 2.0 Expo NYC, 17th September 2008 5
Slide 6: Web 2.0 Expo NYC, 17th September 2008 6
Slide 7: Web 2.0 Expo NYC, 17th September 2008 7
Slide 8: Web 2.0 Expo NYC, 17th September 2008 8
Slide 9: Web 2.0 Expo NYC, 17th September 2008 9
Slide 10: “Video? That’s just like photos!” -Me, before Flickr Video Web 2.0 Expo NYC, 17th September 2008 10
Slide 11: 12 4 Steps • 4 main tasks – Uploading – Transcoding – Storage – Serving & Playback Web 2.0 Expo NYC, 17th September 2008 11
Slide 12: 1. Upload Web 2.0 Expo NYC, 17th September 2008 12
Slide 13: Simple upload • Web forms – Just like any other file <form action="/uploadify/" method="post" enctype="multipart/form-data"> <input type="file" name="fred" /> <input type="submit" value="Go!" /> </form> • But files are large / huge Web 2.0 Expo NYC, 17th September 2008 13
Slide 14: Issues • Two components for uploading: – Sending from the client – Receiving on the server • Both of these present problems Web 2.0 Expo NYC, 17th September 2008 14
Slide 15: Sending from the client • Multiple options – Simple form – Flash – Desktop app Web 2.0 Expo NYC, 17th September 2008 15
Slide 16: Simple Forms • Pros – Very easy to implement – Works on every browser out of the box • Cons – Upload progress is harder – ‘Slow’ – Select a single file at once Web 2.0 Expo NYC, 17th September 2008 16
Slide 17: Flash • Pros – Upload progress is easy – ‘Fast’ – Multi select of files • Cons – Harder to implement – Flash isn’t quite ubiquitous Web 2.0 Expo NYC, 17th September 2008 17
Slide 18: Desktop App • Pros – Upload progress is easy – ‘Very fast’ – Multi select of files – Drag and drop • Cons – Hard to develop – Hard to deploy (relative to the web) Web 2.0 Expo NYC, 17th September 2008 18
Slide 19: 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 Web 2.0 Expo NYC, 17th September 2008 19
Slide 20: Making Progress 1. Browser starts upload Web 1 Browser Load balancer 2. Web server broadcasts progress via UDP 3. Browser queries progress via AJX call Web 2 Web 2.0 Expo NYC, 17th September 2008 20
Slide 21: Receiving on the server • File uploads are slow – Much slower than serving pages • Apache processes are heavy – Waste of resources • Use a poll based server (like jetty) Web 2.0 Expo NYC, 17th September 2008 21
Slide 22: Receiving on the server • Or, use a buffering layer – Perlbal is great for this Slow Browser Buffer Fast Server • Or a lightweight Apache – E.g. w/ mod_proxy Web 2.0 Expo NYC, 17th September 2008 22
Slide 23: But wait • It’s not just the first step that’s slow • Moving files around between servers is slow – Do it out of band • Asynchronous jobs are in order anyway – Do it! Web 2.0 Expo NYC, 17th September 2008 23
Slide 24: 2. Transcode Web 2.0 Expo NYC, 17th September 2008 24
Slide 25: Transcode? • Why transcode at all? • Input comes from many sources – Point & shoots – DV Cams – Mobile devices – Video editing software • All in different formats Web 2.0 Expo NYC, 17th September 2008 25
Slide 26: So many formats • But very few of these formats can be played back cross platform – Without special software or hardware • Formats are designed to do one thing well – They don’t always manage even that • Transcoding puts all videos on an equal footing Web 2.0 Expo NYC, 17th September 2008 26
Slide 27: Video file basics • Most file types are really just containers – MOV, FLV, AVI • The data inside can be in multiple formats – We call these codecs (encoder + decoder) • Files contains multiple ‘streams’ – Both audio and video Web 2.0 Expo NYC, 17th September 2008 27
Slide 28: Interleave • Audio and video are often interleaved – Hence AVI • A video file looks like this: – Headers – Video chunk – Audio chunk – Video chunk – Audio chunk – Etc Web 2.0 Expo NYC, 17th September 2008 28
Slide 29: Compress • Raw video files are huge – A bitmap for every frame – Rarely used, even in post production • At 30 fps, that gets crazy pretty quickly • We don’t need to store every frame – Static backgrounds don’t change (much) between frames Web 2.0 Expo NYC, 17th September 2008 29
Slide 30: Compresssss • Intraframe – Treat each frame as a picture – Compress it (just like JPEG) – DCT (Discrete Cosine Transform) • 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
Slide 31: The IPB • Three frame types: I, P & B • Intra coded pictures – A full raw frame • 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
Slide 32: IPBIPBIPBIPB • Reference frames may be I, P or B • P & B frames may contain a mix of image data and motion vector displacements • I frames require the most bits – Then P frames – Then B frames Web 2.0 Expo NYC, 17th September 2008 32
Slide 33: Bad terminology • We should really say picture – (Not frame) – Because of interlacing • Really, we encode fields not frames – Picture is the general term • And H.264 contains ‘slices’ – Sub-regions of the field – ‘Macroblocks’ & ‘Artifacts’ Web 2.0 Expo NYC, 17th September 2008 33
Slide 34: I-Frames • Also called Key Frames • Allow easy random seeking • Twice a second for Digital TV & DVDs • More widely spaced online Web 2.0 Expo NYC, 17th September 2008 34
Slide 35: Seekable Web 2.0 Expo NYC, 17th September 2008 35
Slide 36: Seekable Web 2.0 Expo NYC, 17th September 2008 36
Slide 37: Oh, and audio too • We can worry less about this – Older problem, well solved • MP3 is pretty good – Who cares how it works? • Syncing is the only issue – Presentation Time Stamps (PTS) and Decode Time Stamps (DTS) in MPEG-2 Web 2.0 Expo NYC, 17th September 2008 37
Slide 38: Flash! Woah-oh! The big question: Flash? Web 2.0 Expo NYC, 17th September 2008 38
Slide 39: Non-flash sites • QuickTime • Windows Media • This is gradually disappearing • Flash player is ubiquitous • Compression is good enough • Interactive too • But no 3D/VR as with QuickTime :( Web 2.0 Expo NYC, 17th September 2008 39
Slide 40: The Flash Player • Flash Player 6 – March 2002 • Video: Sorenson Spark (H.263) • Audio: MP3 – Or ADPCM / Uncompressed – Or Nellymoser Asao Web 2.0 Expo NYC, 17th September 2008 40
Slide 41: Second Generation • Flash Player 7 – August 2005 • Video: On2 TrueMotion VP6 • Audio: MP3 Web 2.0 Expo NYC, 17th September 2008 41
Slide 42: The hot shit • Flash Player 9 (update 3) – December 2007 • Video: H.264 (MPEG-4 Part 10) – w/ container formats from MPEG-4 Part 14 • Audio: AAC (MPEG-4 Part 3) • Plus 3GPP Timed Text (MPEG-4 Part 17) Web 2.0 Expo NYC, 17th September 2008 42
Slide 43: TrueMotion VP6 • Proprietary • Reasonable compression • Created by On2 – Patented – Probably illegal for GPL code • YouTube uses it for lower quality and old streams Web 2.0 Expo NYC, 17th September 2008 43
Slide 44: H.264 • Not proprietary • Good compression • MPEG Standard – – – – Open, but patented Patent licenses from the MPEG LA Unclear how this applies to (L)GPL code But probably badly • YouTube using it for higher quality streams • iPhones and AppleTV Web 2.0 Expo NYC, 17th September 2008 44
Slide 45: Software • Open source transcode tools • FFmepg – libavcodec for VP6 – Probably illegal – dubious – Also pretty shoddy – Can only decode H.264 Web 2.0 Expo NYC, 17th September 2008 45
Slide 46: More software • MEncoder – libmpcodecs uses libavcodec • VLC – libvlc uses libavcodec • So basically the same – Different muxing, same codecs Web 2.0 Expo NYC, 17th September 2008 46
Slide 47: Free H.264? • Unfortunately, not really • x264 is the only usable one – It’s pretty good – MEncoder can use it – Still limited in options at this point – Again, dubiously legal Web 2.0 Expo NYC, 17th September 2008 47
Slide 48: Non-free tools • Flash encoder – Not automatable • On2 FlixEngine – Creators of VP6 – Windows or Linux – Some support for H.264 • Rhozet Carbon Coder – The new hot shit – Good H.264 support – Windows Web 2.0 Expo NYC, 17th September 2008 48
Slide 49: Choices • • • • • Video codec Resolution Bitrate (VBR, CBR) Keyframes Audio codec – Channels – Bit depth – Sampling rate Web 2.0 Expo NYC, 17th September 2008 49
Slide 50: Doing it at scale • Not really a problem • Very easily parallelizable • Amazon EC2 is awesome here – Exactly what it was design for – Grow/shrink as needed – But, per-CPU software licensing Web 2.0 Expo NYC, 17th September 2008 50
Slide 51: 3. Store Web 2.0 Expo NYC, 17th September 2008 51
Slide 52: Easy! • Really, just like photos – But with bigger files • Same disk layout as any other serving • But the serving part is slower Web 2.0 Expo NYC, 17th September 2008 52
Slide 53: But.. • Remember the files are huge • Operations take time – More likely to fail halfway through – Checksums are your friend • Do it all asynchronously Web 2.0 Expo NYC, 17th September 2008 53
Slide 54: 4. Serve & Playback Web 2.0 Expo NYC, 17th September 2008 54
Slide 55: The choice Streaming vs Progressive Web 2.0 Expo NYC, 17th September 2008 55
Slide 56: Streaming • Pros – Easily seekable – Live feeds • Cons – Special server software – Slower to start – Firewall troubles Web 2.0 Expo NYC, 17th September 2008 56
Slide 57: Progressive download • Pros – Just use a web server – Play offline – Firewall/proxy friendly • Cons – Harder to seek ahead (but not impossible) Web 2.0 Expo NYC, 17th September 2008 57
Slide 58: Streaming tech • Non flash stuff – We’ll ignore that – You’re using flash, right? • RTMP – Real-time Messaging Protocol – Proprietary (thanks Adobe!) Web 2.0 Expo NYC, 17th September 2008 58
Slide 59: RTMP • RTMP - Raw TCP socket stuffs • RTMPT – RTMP tunneled over HHTP – For firewalls, etc • Flash Media Server – previously Flash Communication Server • Wowza Pro – $1000/server Web 2.0 Expo NYC, 17th September 2008 59
Slide 60: Open source • It’s not all bad • Red5 – Java implementation of RTMP server – Mostly feature complete – Beta quality, but usable in production – Facebook Web 2.0 Expo NYC, 17th September 2008 60
Slide 61: Progressive • Used by the majority of large sites • Very simple! • Seekable with server support Web 2.0 Expo NYC, 17th September 2008 61
Slide 62: Seeking • Serve the FLV starting at a different point • Just add a simple FLV preamble before seeking into the file • Simple to do in PHP, Perl, etc • mod_flvx for Apache • mod_secdownload for lighttpd Web 2.0 Expo NYC, 17th September 2008 62
Slide 63: 5. Other considerations Web 2.0 Expo NYC, 17th September 2008 63
Slide 64: Review • Videos are slow • Expensive to review • Review grids – Doesn’t cover audio Web 2.0 Expo NYC, 17th September 2008 64
Slide 65: Web 2.0 Expo NYC, 17th September 2008 65
Slide 66: Not enough? • Social tools are useful here Web 2.0 Expo NYC, 17th September 2008 66
Slide 67: Summary Web 2.0 Expo NYC, 17th September 2008 67
Slide 68: Summing up • Flash makes sense – For uploading too • H.264 is probably your best bet today • Transcoding software still costs money – Unless you’re willing to take on the risk • Progressive download is basically awesome Web 2.0 Expo NYC, 17th September 2008 68
Slide 69: The end! Web 2.0 Expo NYC, 17th September 2008 69
Slide 70: Awesome! These slides are available online: iamcal.com/talks/ Web 2.0 Expo NYC, 17th September 2008 70

   
Time on Slide Time on Plick
Slides per Visit Slide Views Views by Location