

Why Twitch builds its own in-house transcoder software stack.įFmpeg ( ) is a popular open-source software project, designed to record, process and stream video and audio. What features FFmpeg doesn’t provide, and How FFmpeg satisfies most of the live transcoding requirements, These variants have different bitrates so that viewers with different levels of download bandwidth are able to consume live video streams at the best possible quality for their connection.įigure 2 depicts the input and output of the transcoder module in our live video CDN. Within the live stream processing pipeline, the transcoder module is in charge of converting an incoming RTMP stream into the HLS format with multiple variants (e.g., 1080p, 720p, etc.). To then scale our live stream content to countless viewers, Twitch uses HTTP Live Streaming ( HLS), an HTTP-based media streaming communications protocol that most video websites also use. RTMP is a protocol designed to stream video and audio on the Internet, and is mainly used for point to point communication. Twitch, like many other live streaming services, receives live stream uploads in Real-Time Messaging Protocol ( RTMP) from its broadcasters. At its peak, Twitch ingests tens of thousands of concurrent live video streams and delivers them to viewers across the world.įigure 1 depicts the architecture of our live video Content Delivery Network (CDN) which delivers tens of thousands of concurrent live streams internationally. Every month, more than 2.2 million unique content creators stream or upload video on our website. Twitch is the world’s leading live streaming platform for video games, esports, and other emerging creative content.

Please read part 2 after finishing this article. Note: This is the first part of a 2-part series. By: Jeff Gong, Software Engineer, Sahil Dhanju, Software Engineer Intern Chih-Chiang Lu, Senior Software Engineer, Yueshi Shen, Principal Research Engineer, thanks go to Christopher Kennedy, Staff Video Engineer at Crunchyroll/Ellation John Nichols, Principal Software Engineer at Xilinx, for their information on FFmpeg and reviewing this article.
