Skip to main content

SRS Stack - Efficient Live Streaming Transcoding for Reducing Bandwidth and Saving Costs

· 4 min read

Introduction​

In today's digital world, live streaming has become an essential tool for businesses, content creators, and individuals alike. With the increasing number of viewers tuning in to watch live streams, it's crucial to optimize the streaming experience and cost for everyone, regardless of their internet speed or device capabilities. One effective way to achieve this is through live streaming transcoding, a process that can help reduce bandwidth and save costs without compromising on video quality. In this blog, we'll explore the benefits of using SRS Stack for efficient live streaming transcoding and how it can lead to significant cost savings.

Live streaming transcoding involves converting a live stream from SRS Stack using FFmpeg into various bitrates and resolutions, before pushing it back to SRS Stack. This process allows for a reduction in bandwidth while maintaining the same quality, simply by lowering the bitrate of the stream. As a result, the overall viewing bandwidth is decreased, leading to cost savings for both the streamer and the viewer.

For instance, consider a live streaming scenario with 10,000 viewers all watching the same 2Mbps bitrate stream. By transcoding the stream to 1Mbps, the required bandwidth is reduced to 10Gbps, resulting in a 50% cost saving. This not only benefits the content provider but also ensures a smoother streaming experience for viewers with varying internet speeds and devices.

Stay tuned as we delve deeper into the world of live streaming transcoding, and learn how to harness the power of SRS Stack to optimize your streaming experience and save costs.

Step 1: Create SRS Stack by one click​

Creating an SRS Stack is simple and can be done with just one click if you use Digital Ocean droplet. Please see How to Setup a Video Streaming Service by 1-Click for detail.

You can also use Docker to create an SRS Stack with a single command line:

docker run --rm -it --name srs-stack -v $HOME/data:/data \
-p 2022:2022 -p 2443:2443 -p 1935:1935 -p 8000:8000/udp -p 10080:10080/udp \
ossrs/srs-stack:5

After creating the SRS Stack, you can access it through http://your-server-ip/mgmt.

Step 2: Publish a Live Stream to SRS Stack​

You can use OBS or FFmpeg to publish a live stream to SRS Stack. You can also set up HTTPS and publish via WebRTC.

Once the stream is published, you can preview it using an H5 player or VLC. Please see How to Setup a Video Streaming Service by 1-Click for detail.

Step 3: Transcode the Live Stream to Lower Bitrate​

Suppose you've sent an 8Mbps stream to SRS Stack using OBS, and you can't adjust the bitrate in OBS. This could be because the stream is published by a vendor you can't control, or you need to record the original high-resolution stream, or some devices like 4K/8K TVs require the high-resolution stream.

However, most of your viewers watch the live stream on mobile devices, and they don't need an 8Mbps stream. A 2Mbps stream is sufficient for mobile devices, and their bandwidth may only support a 2Mbps bitrate. In this case, you can use transcoding to convert the 8Mbps stream into a 2Mbps live stream.

After transcoding the stream, you can preview the 2Mbps version or forward it to another live streaming platform. See Easily Stream Your RTSP IP Camera to YouTube, Twitch, or Facebook for more information. You can also pull the RTMP stream from SRS Stack and forward it elsewhere.

Check Transcoding Status​

You can check the transcoding status in the SRS Stack dashboard.

You can click the preview link to check the transcoded stream, or forward it to another live streaming platform. See Easily Stream Your RTSP IP Camera to YouTube, Twitch, or Facebook for more information.

Cloud Service​

At SRS, our goal is to establish a non-profit, open-source community dedicated to creating an all-in-one, out-of-the-box, open-source video solution for live streaming and WebRTC online services.

Additionally, we offer a cloud service for those who prefer to use cloud service instead of building from scratch. Our cloud service features global network acceleration, enhanced congestion control algorithms, client SDKs for all platforms, and some free quota.

To learn more about our cloud service, click here.

Conclusion​

In summary, we discussed the benefits of live streaming transcoding using SRS Stack and FFmpeg. Transcoding optimizes streaming for viewers with different internet speeds and devices, reduces bandwidth usage, and saves costs. We covered setting up SRS Stack and FFmpeg, creating a configuration file, and pushing transcoded streams back to SRS Stack. Monitoring and adjusting settings is crucial for optimal viewer experience, and transcoding can also convert high-resolution streams to lower resolutions for mobile devices.

Contact​

Welcome for more discussion at discord.