Technical details of Netflix

From Wikipedia, the free encyclopedia

Netflix is an American-based company that offers a service for streaming movies and TV series over the Internet. Several technical innovations were required to provide it.

Streaming[]

Initial DVD discs sent to customers via US mail were often criticized for being scratched and not fully playable. Netflix's popularity dramatically increased with the addition of streaming through an online queue. This led to the majority of Netflix users reliably streaming movies and television shows rather than receiving physical discs by mail.

Streaming starting in 2007, solely using Microsoft technologies and codecs such as VC-1 for video and Windows Media Audio (WMA) for audio. The rapid expansion and diversification of Netflix-capable devices necessitated encoding into many different formats—including H.264 (AVC), VC-1, H.263 and H.265 (HEVC) for video, and Dolby Digital, Dolby Digital Plus, Advanced Audio Coding (AAC) and Ogg Vorbis for audio.[1] According to Netflix, the vast number of codec and bitrate combinations can mean having to encode the same title 120 different ways to deliver it to all streaming platforms.[2] As of 2016, Netflix's most common video coding format is the discrete cosine transform (DCT) based Advanced Video Coding (AVC), also known as the H.264 format, as it is the most widely supported format in web browsers, televisions, mobile devices, and other consumer devices.[3]

Netflix uses adaptive bitrate streaming technology to adjust video and audio quality to match broadband connection speed and network conditions.

In 2015, BT's YouView launched Ultra HD channels and a 4K box to watch it on in the UK.[4] As of December 2015, Netflix's 4K catalogue can be watched on BT's Ultra HD box. Users need the top-tier subscription option to view this content.[5] In 2016, Netflix standardized two DCT-based video coding formats for its mobile services: AVCHi-Mobile, based on AVC; and VP9-Mobile, based on VP9.[3]

Netflix lets users choose their video download quality on its website.

Encoding profiles[]

Netflix creates several encoding profiles for each title, tailored for different devices, consisting of video and audio codecs in specific file formats with specific DRM:[6]

Profile name Media container DRM Video codec Audio codec Comments
CE1 Muxed ASF Windows Media VC-1 WMA Internet Explorer ActiveX plugin hosted on Windows Media Player.
Silverlight Unmuxed ASF PlayReady VC-1 WMA For Silverlight plugin. Deprecated.
CE2 Unmuxed ASF Windows Media VC-1 WMA For Adobe Flash plugin.
Vega Unmuxed M2TS AACS H.264 AVC AC3 For PS3. Deprecated.
Link Unmuxed ASF Widevine H.263 Ogg Vorbis For Wii. Deprecated.
CE3-DASH Unmuxed FMP4 PlayReady / Widevine H.264 AVC HE-AAC, Ogg Vorbis, Dolby Digital Plus For Android devices, Roku 2, Xbox, PS3, Wii, Wii U
Kirby-PIFF Unmuxed FMP4 PlayReady H.263 Ogg Vorbis For Wii (v2). Deprecated.
iOS1 Muxed M2TS PlayReady / NFKE H.264 AVC HE-AAC, Dolby Digital For iPhone and iPad.
iOS2 Unmuxed M2TS PlayReady / NFKE H.264 AVC HE-AAC, Dolby Digital For iPhone and iPad.
CE4-DASH Unmuxed FMP4 PlayReady / Widevine HEVC, VP9 HE-AAC, Dolby Digital Plus For devices supporting UltraHD.

Netflix API[]

On October 1, 2008, Netflix offered access to its service via a public application programming interface (API).[7] It allows access to data for all Netflix titles, and allows users to manage their movie queues. The API was free and allowed commercial use.[8] A developer network included a forum for asking and answering questions.[9]

Examples of the API's use included Rotten Tomatoes and The New York Times, which allowed users to click to add titles to their Netflix queues or begin watching them on "Watch Instantly" from their pages;[9] and Jinni, which let users search in Watch Instantly and import some user information, such as reviews.[10]

The API allowed developers to release Netflix applications for mobile devices. For example, on November 16, 2009, Netflix released an official Nokia app that allowed some trailer streaming,[11] and on August 26, 2010, they released an official iPhone app.[12]

In June 2012, Netflix began to restrict the availability of its public API.[13] They instead focused on a small number of known partners using private interfaces, since most traffic came from those private interfaces.[14] In June 2014, Netflix announced they would be retiring the public API; it became effective November 14, 2014.[15] They then partnered with the developers of eight services deemed the most valuable, including Instant Watcher, Fanhattan, Yidio and Nextguide.[16]

Information technology[]

In 2010, Netflix moved to using Amazon EC2 for its information technology (IT) resources. Master copies of digital films from movie studios are stored on Amazon S3, and each film is encoded into over 50 different versions based on video resolution and audio quality, using machines on the cloud. Netflix has over 1 petabyte of data stored on Amazon,[when?] which is sent to content delivery networks (including Akamai Technologies, Limelight Networks and Level 3 Communications) that feed the content to local ISPs. Netflix uses a variety of open-source software in its backend, including Java, MySQL, Gluster, Apache Tomcat, Hive, Chukwa, Cassandra and Hadoop.[17]

In June, 2012, a storm in the eastern US caused power outages in a major Amazon data center. This caused a three-hour downtime in Netflix services, and resulted in some improvements to the Netflix recovery software.[18] Another outage occurred on December 24, 2012.[19]

Netflix developed several technologies to help manage its IT systems, an area known as DevOps. One tool is called the "simian army", which includes the "Chaos Monkey".[20] By intentionally creating different failures in test environments, the ability to recover from them can be assessed. The technology is claimed under at least one patent, filed in 2010 with inventors Gregory S. Orzell and Yury Izrailevsky.[21] Similar approaches were taken in the GameDay software by Jesse Robbins at Amazon.com, "DIRT" created by Google, and other projects.[22][23] The software was made available on GitHub in 2012.[24] This approach has been used for case studies,[25] and as the title of a 2016 memoir on a life in Silicon Valley, Chaos Monkeys.[26][27]

Open Connect[]

Netflix settlement freely peers with Internet service providers (ISPs) directly and at common Internet exchange points. In June 2012, a custom content delivery network, Open Connect, was announced.[28] For larger ISPs with over 100,000 subscribers, Netflix offers free Netflix Open Connect server appliances that cache their content within the ISPs' data centers or networks to further reduce Internet transit costs.[29][30] Open Connect uses purpose-built servers that focus on low power and high storage density, and run the FreeBSD operating system, nginx and the Bird Internet routing daemon.[31] By August 2016, Netflix closed its last physical data center, but continued to develop its Open Connect technology.[32]

A 2016 study at the University of London detected 233 individual Open Connect locations on over six continents, with the largest amount of traffic in the USA, followed by Mexico.[33][34]

References[]

  1. ^ David Ronca (May 31, 2013). "A Brief History of Netflix Streaming" (PDF). Archived from the original (PDF) on 2014-03-10. Retrieved September 12, 2016.
  2. ^ McEntee, Kevin (December 17, 2012). "Complexity In The Digital Supply Chain".
  3. ^ Jump up to: a b Blog, Netflix Technology (19 April 2017). "More Efficient Mobile Encodes for Netflix Downloads". Medium.com. Netflix. Retrieved 20 October 2019.
  4. ^ "4K Netflix comes to YouView thanks to BT: Watch Ultra HD shows and films on your box – Pocket-lint". www.pocket-lint.com. Retrieved 2015-12-21.
  5. ^ "BT's Ultra HD box can now stream Netflix in 4K". Engadget. Retrieved 2015-12-21.
  6. ^ A Brief History of Netflix Streaming - May 2013 - David Ronca, Manager Encoding Tools
  7. ^ "Netflix API Launches Tomorrow". ReadWriteWeb. Archived from the original on October 2, 2008. Retrieved September 30, 2008.
  8. ^ "Netflix API Management Solution". Archived from the original on 2013-02-16.
  9. ^ Jump up to: a b "New York Times & Rotten Tomatoes Add Netflix "Add" & "Watch" Links". HackingNetflix. Retrieved February 20, 2009.
  10. ^ "Jinni Searches Netflix better than Netflix". CNET. Retrieved March 18, 2009.
  11. ^ Hart, Michael (November 16, 2009). "Netflix for Nokia Phones". Netflix. Retrieved April 2, 2011.
  12. ^ "Netflix on iPhone?". Netflix. April 2, 2010. Retrieved July 19, 2010.
  13. ^ "Upcoming Changes to the Netflix API Program". Netflix. June 15, 2012. Archived from the original on June 18, 2012. Retrieved June 21, 2012.
  14. ^ Daniel Jacobson and Sangeeta Narayanan (July 24, 2014). "Netflix API: Top 10 Lessons Learned (so far)". Retrieved September 12, 2016.
  15. ^ Janko Roettgers (November 14, 2014). "Netflix is shutting down its public API today". GigaOm. Retrieved September 12, 2016.
  16. ^ Jacobson, Daniel (June 13, 2014). "Retiring the Netflix Public API". Netflix. Archived from the original on June 14, 2014. Retrieved August 11, 2014.
  17. ^ OSCON Data 2011, Adrian Cockcroft, "Data Flow at Netflix" on YouTube
  18. ^ Yevgeniy Sverdlik (July 6, 2012). "Netflix uncovers its own system faults following Amazon cloud outage". Data Center Dynamics. Retrieved September 15, 2016.
  19. ^ Bryan Bishop (December 24, 2012). "Netflix streaming down on some devices due to Amazon issues". The Verge. Retrieved September 15, 2016.
  20. ^ "What is Simian Army?". Git Hub. Retrieved September 12, 2016.
  21. ^ Gregory S. Orzell and Yury Izrailevsky (September 20, 2010). "Validating the resiliency of networked applications". US Patent US20120072571 A1. Retrieved September 12, 2016. Published March 22, 2012
  22. ^ Tom Limoncelli; Jesse Robbins; Kripa Krishnan; John Allspaw (September 12, 2012). "Resilience Engineering: Learning to Embrace Failure". ACM Queue. Retrieved September 12, 2016.
  23. ^ Paul Harris (May 1, 2015). "Chaos Lemur: Testing High Availability on Pivotal Cloud Foundry". Retrieved September 12, 2016.
  24. ^ Cory Bennett and Ariel Tseitlin (July 30, 2012). "Chaos Monkey Released Into The Wild". The Netflix Tech Blog. Retrieved September 12, 2016.
  25. ^ C. Arron Cois (April 30, 2015). "DevOps Case Study: Netflix and the Chaos Monkey". Software Engineering Institute. Retrieved September 12, 2016.
  26. ^ García Martínez. "Chaos Monkeys". Blog. Retrieved September 12, 2016.
  27. ^ "Chaos Monkey and Neutron" (PDF). January 29, 2015. Retrieved September 12, 2016.
  28. ^ Ryan Lawler (June 4, 2016). "Netflix Rolls Out Its Own CDN: Open Connect". Tech Crunch. Retrieved September 12, 2016.
  29. ^ "Netflix Open Connect Content Delivery Network". netflix.com. Retrieved October 25, 2014.
  30. ^ Eric Savitz (June 5, 2012). "Netflix Shifts Traffic To Its Own CDN; Akamai, Limelight Shrs Hit". Forbes. Retrieved October 25, 2014.
  31. ^ "Netflix Content Delivery" (PDF). Content Delivery Summit. May 22, 2013. Retrieved September 12, 2016.
  32. ^ Peter Judge (August 20, 2015). "Netflix's data centers are dead, long live the CDN!". Data Center Dynamics. Retrieved September 15, 2016.
  33. ^ Richard Chirgwin (June 22, 2016). "Boffins map Netflix's Open Connect CDN: Six continents, 233 locations, thousands of servers". The Register. Retrieved September 15, 2016.
  34. ^ Böttger, Timm; Cuadrado, Felix; Tyson, Gareth; Castro, Ignacio; Uhlig, Steve (January 2018) [Submitted June 17, 2017]. "Open Connect Everywhere: A Glimpse at the Internet Ecosystem through the Lens of the Netflix CDN". ACM SIGCOMM Computer Communication Review. 48 (1). arXiv:1606.05519. Bibcode:2016arXiv160605519B. doi:10.1145/3211852.3211857. S2CID 215824680.
Retrieved from ""