Plain file delivery+ Simple & fast (nginx)+ Easy to collect logs+ Excelent buffer support (possible to buffer whole file)- No multibitrate- No live streaming- Awfull seeking (almost impossible with mp4)- Traffic overusage with seeks and transparent caching proxies
RTMP (cons)- No buffering (primitive content protection)- Firewall blocking- Hard clustering (almost impossible to proxy file rtmp access)- Impossible to do automatic multibitrate- Non cacheable by intermediate proxies
Design problems of RTMPPersistent TCP connectionNon-HTTP port and protocolTwo players that require logic sync: on client and on server
HTTP StreamingDon’t miss with pseudostreamingAdobe HDS, Apple HLS, Microsoft Smooth MPEG-DASHContent is delivered in chunks according to manifestLive streaming is done by reloading changing manifest
Multibitrate implementationClient downloads several chunks via HTTPIt knows their duration from manifestIf download takes more than duration, lower bitrate is chosenIf download is faster than next bitrate, upper bitrate is chosen
Adobe HDSFully implemented in flash player libraries, can be rewritten to anyneedsNetStream.appendBytesmp4/flv chunks are deliveredtimeshiftmultibitratechunk skipping (on slow channels)buffering of whole file possible
Apple HLSImplemented inside iOS, Android or firmwareAlmost no control of video from client-sideMultibitrateNo full-file bufferingVery high container overhead (15-30%)
Microsoft SmoothStreamingSilverlight is going to dieNothing interesting in factAlmost the same as HDS: manifest and mp4 chunks
MPEG-DASHSome not-implemented not-designed standardWill be interesting in mid-2013
VideostreamingFile serving (http pseudostreaming) is bad for long filesRTMP is bad for everythingHDS/HLS is choice of 2012-2014
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.