Skip to main content

· 3 min read

Written by Winlin and GPT4

While Open Broadcaster Software (OBS) is a widely used solution for live-streaming to YouTube via RTMP or RTMPS, there is an alternative approach that leverages a web browser.

This method involves streaming your camera using WebRTC within a webpage, then employing Simple Realtime Server (SRS) to convert WebRTC to RTMP, and using FFmpeg to publish the RTMP stream to YouTube. For those who prefer RTMPS, FFmpeg can be utilized to extract the stream from SRS via RTMP, transcode it to RTMPS, and subsequently publish it to YouTube.

· 3 min read

After you have built your SRS server, you can use HTTP API to access it by SRS console or other HTTP clients. However, you should secure your HTTP API to prevent unauthorized access. This article describes how to secure your HTTP API.

· 18 min read

Written by thread-threads

State Threads is an application library which provides a foundation for writing fast and highly scalable Internet Applications on UNIX-like platforms. It combines the simplicity of the multithreaded programming paradigm, in which one thread supports each simultaneous connection, with the performance and scalability of an event-driven state machine architecture.

· 5 min read

Written by John, Winlin

What is MPEG-DASH(Dynamic Adaptive Streaming over HTTP)? Because Apple HLS is not good enough, so some guys wanted to fix it and created an even worse protocol, named DASH or MPEG-DASH.

Well, it's just a joke for any new technology, especially when it's new and there are some issues. However, it's really true for DASH today, at 2022.11, because we're really suffering while maintaining it.

But, DASH is becoming more and more popular protocol for live streaming, and we believe that all issues will be fixed in not very far future, so let's take a look about these issues.

· 6 min read

Written by Winlin, 李鹏

In many networks, UDP is not available for WebRTC, so TCP is very important to make it highly reliable. SRS supports directly TCP transport for WebRTC, not TURN, which introduce a complex network layer and system. It also makes the LoadBalancer possible to forward TCP packets, because TCP is more stable than UDP for LoadBalancer.

· 13 min read

Written by John, Winlin

Coroutines are core technologies for modern servers that significantly simplify the logic and facilitate maintenance. SRT is a new streaming protocol that is gradually taking over from RTMP. With its own I/O framework, SRT can mature only by becoming coroutine-native, the first and crucial step of SRS 5.0.

· One min read

This decade has seen rapid development in audio and video technology, from interactive entertainment and live e-commerce to online conferences and online education, with the recent rise of the metaverse, audio and video being one of the fundamental capabilities.

Starting from the live streaming with video chat scenario, we can understand the technologies involved in internet audio and video. By delving deeper into the relevant technical points of audio and video, we can build a complete audio and video technology system and quickly apply it to online businesses.

· 32 min read

Written by Winlin, Azusachino, Benjamin

When our business workloads exceed streaming-server capacity, we have to balance those workloads. Normally, the problem can be solved by clustering. Clustering is not the only way to solve this problem, though. Sometimes the concept of Load Balancing can be linked to many emerging terms such as Service Discovery, but a LoadBalancer in cloud service is an indispensable requirement for solving the problem. In short, this problem is very complicated, and many people ask me about this frequently. Here I’m going to systematically discuss this issue.