

Suppose we are receiving the most widely used video compression standard of H.264 in RTMP at 6mbps and 1080p60 (resolution of 1920 by 1080 with a frame rate of 60 frames per second). It is widely deployed by cloud encoding services for file transcoding and can also be used for live stream transmuxing and transcoding.

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,
#Best free streaming software for twitch 2017 october download#
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.
