Technical details of Netflix

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

Streaming

Initial DVD discs sent to customers via US mail often received criticisms of being scratched and unable to fully play the rented movie. The popularity of Netflix 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 DVD discs by mail.

Initially 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 diversity of Netflix-capable devices have 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 times before it can be delivered to all streaming platforms.[2] As of 2016, the most common video coding format used in Netflix 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 the video and audio quality to match a customer's broadband connection speed and realtime 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. In order to stream the Ultra HD content, users need the top-tier subscription option.[5] In 2016, Netflix standardized two DCT-based video coding formats for its mobile services: AVCHi-Mobile, which is based on AVC, and VP9-Mobile, which is based on VP9.[3]

Netflix provides users the ability to choose their download rates quality of video on its website.

Encoding profiles

Netflix creates several encoding profiles for each title. The profiles, which are tailored for different devices, consist of video and audio codecs stored in specific file formats with specific DRM.[6]

Profile nameMedia containerDRMVideo codecAudio codecComments
CE1Muxed ASFWindows MediaVC-1WMAInternet Explorer ActiveX plugin hosted on Windows Media Player.
SilverlightUnmuxed ASFPlayReadyVC-1WMAFor Silverlight plugin. Deprecated.
CE2Unmuxed ASFWindows MediaVC-1WMAFor Adobe Flash plugin.
VegaUnmuxed M2TSAACSH.264 AVCAC3For PS3. Deprecated.
LinkUnmuxed ASFWidevineH.263Ogg VorbisFor Wii. Deprecated.
CE3-DASHUnmuxed FMP4PlayReady / WidevineH.264 AVCHE-AAC, Ogg Vorbis, Dolby Digital PlusFor Android devices, Roku 2, Xbox, PS3, Wii, Wii U
Kirby-PIFFUnmuxed FMP4PlayReadyH.263Ogg VorbisFor Wii (v2). Deprecated.
iOS1Muxed M2TSPlayReady / NFKEH.264 AVCHE-AAC, Dolby DigitalFor iPhone and iPad.
iOS2Unmuxed M2TSPlayReady / NFKEH.264 AVCHE-AAC, Dolby DigitalFor iPhone and iPad.
CE4-DASHUnmuxed FMP4PlayReady / WidevineHEVC, VP9HE-AAC, Dolby Digital PlusFor devices supporting UltraHD.

Netflix API

On October 1, 2008, Netflix offered access to its service via a public application programming interface (API).[7] The Netflix API allows access to data for all Netflix titles as well as access on a user's behalf to manage his or her movie queue. The API was free and allowed commercial use.[8] A developer network included a forum for asking and answering questions.[9]

Examples of using the service included Rotten Tomatoes and The New York Times, which allow users to click to add titles to their Netflix queue or begin watching on "Watch Instantly" from their pages,[9] and Jinni, which enabled one to search within Watch Instantly and imported 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, Netflix released an official iPhone app.[12] However, in June 2012, Netflix began to cut back the availability of its public API.[13]

The company instead focused on a small number of known partners using private interfaces, since most of the traffic came from those private interfaces.[14] In June 2014, Netflix announced that they would be retiring the public API. This became effective November 14, 2014.[15] Netflix then partnered with the developers of eight services deemed to have been 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. In total, Netflix has over 1 petabyte of data stored on Amazon, and the data 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 number of pieces 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 was experienced 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, the ability to survive them can be tested under controlled conditions before they affect customers. 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 at Google, and others.[22][23] The related 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 called Open Connect was announced.[28] For larger ISPs that have over 100,000 subscribers Netflix offers free Netflix Open Connect server appliances that cache Netflix content within the ISPs' data centers or networks to further reduce Internet transit costs.[29][30] The Open Connect appliances are 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 locations 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. 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. "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 Nteflix 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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.