approaches to building media streaming applications
TRANSCRIPT
3
Confidential
1. Introduction2. Main components of a streaming app3. Approaches to building streaming apps
Agenda
5
Confidential
Wikipedia: Streaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a provider.
What is streaming?
6
• Netfix states that 42.5 billion hours of video was streamed in 2015.
• In 2014, 'only' 29 billion hours were streamed
Why should we care?
7
• SVOD:- Netflix- HBO Now- Showtime- Vudu
• AVOD- Hulu- Crackle
• TVOD - iTunes- Amazon Instant Video
Most popular OTT streaming services
8
• Apple TV (2015)• Roku 4• Amazon Fire TV• Google Chromecast • Xbox• Playstation• Nvidia Shield Android TV
CNET Best media streamers 2016
11
• Content discovery and presentation• Content playback• Language and captions selections• Ads• Authentication and Payments• Analytics
Main components of a streaming app
12
•Free browsing•Smooth and Fast UX•Video in 1-2 clicks•Content
categorization: featured, most popular, genres, filtering, search
•Internationalization
Content presentation
•Content Posters•Title and
description•Bookmarking•Quality/rating
badges•More info (authors)•Recommendations
•User Entitlements•Various schemes:
OAuth/OAuth2.0, Adobe Pass, Akamai TVE
•Billing and purchases
Discovery Details Authorization Ads and Analytics
•Ad delivery formats: VAST2.0/3.0, SmartXML, server stitched
•Pre/mid/post rolls, interactive
•Ad capping and Resume playback
•Page and video tracking (GA/Omniture/DW/Conviva/Comscore)
13
• Adaptive to bandwidth- SD >2 Mbit/s (480p)- HD >5 Mbit/s (720p, 1080i, 1080p)- UHD >9 Mbit/s (4K, 8K)
• User Controls: - Pause/Resume/Exit- FF/RW (1x,2x,4x,8x)- Seek, Instant replay- For audio: next/prev, shuffle/repeat- Progress bar
• Closed Captions (SMPTE-TT/EIA-608 /WebVTT/SRT)
• Audio track selection• Pre-buffering
Content Playback
15
Wikipedia: Adaptive streaming is a process that adjusts the quality of a video being delivered based on changing network conditions to ensure the best possible viewer experience.
What is Adaptive streaming?
16
• Http Based:- Adobe HTTP Dynamic Streaming- Apple HTTP Live Streaming - MPEG-DASH- Microsoft Media Server
• Transport protocols- RTSP- RTP
Adaptive Streaming Protocols
17
Confidential
Comparison of HTTP streaming technologies
Feature Adobe HDS Apple HLS Microsoft Smooth
MPEG–DASH
Deployment on Ordinary HTTP Servers
Official International Standard (e.g., ISO/IEC MPEG)
Multiple Audio Channels (e.g., Languages, Comments, etc.)
Flexible Content Protection with Common Encryption (DRM)
Closed Captions / Subtitles
Efficent Ad Insertion
Fast Channel Switching
18
#EXTM3U#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=232370,CODECS="mp4a.40.2,
avc1.4d4015"gear1/prog_index.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=649879,CODECS="mp4a.40.2, avc1.4d401e"gear2/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=991714,CODECS="mp4a.40.2, avc1.4d401e"gear3/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1927833,CODECS="mp4a.40.2, avc1.4d401f"gear4/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=41457,CODECS="mp4a.40.2"gear0/prog_index.m3u8
HLS Sample
19
• GStreamer – cross-platform multimedia framework. Supports HTTP/RTSP/MMS
• DirectsShow – windows based framework to perform operations with media files or streams.
• libVLC – cross-platform, GPL, core engine and the interface to the multimedia framework. VLC is build upon in.
• LIVE555 Streaming Media - RTP/RTCP/RTSP/SIP multimedia streaming• FFMPEG – cross-platform universal framework for media processing
C++ SDKS for streaming
21
• Qt based – cross platform, LGPL. Complete and consistent framework.• GIMP Toolkit – cross platform, LGPL. GUI toolkit only.• HTML5/JS based – rendering using Qt Port of WebKit. Platform dependant.
• Platform based, using capabilities of streaming platform.
Approaches to building UX/UI