Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1QqReFD.
Haley Tucker and Mohit Vora discuss the architecture at Netflix that makes streaming happen, while highlighting interesting lessons and design patterns that can be widely applied. Filmed at qconsf.com.
Haley Tucker works on the Playback Features team at Netflix, responsible for ensuring that customers receive the best viewing experience. Mohit Vora manages the Open Connect Control Plane team at Netflix.
1. How Netflix directs 1/3rd of
Haley Tucker
Mohit Vora
QCon
San Francisco
Nov 16, 2015
2. InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/netflix-streaming-arch
3. Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
107. How can we expose new data with the
least amount of churn?
108. API MANIFEST
Stream
● Bitrate
● Framerate
● Dynamic Data
Stream’
● Bitrate
● Dynamic Data
This works from API:
● stream.getBitrate()
● stream.getDynamicData().get(“FRAME_RATE”)
Works
both
ways!
109. This works from CLIENT SCRIPT!
● stream.getDynamicData().get(“BIT_RATE”)
● stream.getDynamicData().get(“FRAME_RATE”)
CLIENT SCRIPT
Stream’’
● Dynamic Data
Works
both
ways!
API MANIFEST
Stream
● Bitrate
● Framerate
● Dynamic Data
Stream’
● Bitrate
● Dynamic Data
Works
both
ways!
114. ● Background image from https://www.flickr.com/photos/centralasian/4099515384, Image was
cropped and red lines and dots were drawn on top, https://creativecommons.org/licenses/by/2.0/.
● Image from https://www.flickr.com/photos/28705377@N04/4142872268, No modifications made,
https://creativecommons.org/licenses/by/2.0/.
● Image of cassette is from https://www.flickr.com/photos/comedynose/6939206771, Image was
cropped, https://creativecommons.org/licenses/by/2.0/.
● Image of speaker is from https://www.flickr.com/photos/av_hire_london/5578975575, No
changes made, https://creativecommons.org/licenses/by/2.0/.
● Image of television is from https://www.flickr.com/photos/jvcamerica/3660897684/, No changes
made, https://creativecommons.org/licenses/by/2.0/.
● Image of text is from https://www.flickr.com/photos/dno1967b/5754743006, No changes made,
https://creativecommons.org/licenses/by/2.0/.
● Background image from https://www.flickr.com/photos/mcgraths/866572532, Image was cropped,
https://creativecommons.org/licenses/by/2.0/.
● Image from https://www.flickr.com/photos/thatguyfromcchs08/2300190277, Image is dimmed,
https://creativecommons.org/licenses/by/2.0/.
● Image from https://www.flickr.com/photos/mknowles/3134373590, Image was cropped, https:
//creativecommons.org/licenses/by-sa/2.0/.
Image Attributions
115. Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/netflix-
streaming-arch