Introduction
Streaming video is very popular in a variety of industries, and there are many tutorials for building a
media server, using SRS or NGINX-RTMP
that host stream does not rely on other service providers. But if we want to build a online video streaming
service, it's much more than only a media server:
- Authentication: Because the server is on the public internet with a public IPv4 address, how to do authentication? How to block all users except they have the correct token?
- Multiple Protocols: Rather than publishing RTMP using OBS, you might need WebRTC or H5 to publish live streaming, or OBS WHIP Server for it's easy to use. You might also use SRT with some broadcasting devices. How to convert RTMP/WebRTC/SRT to HLS?
- Restreaming and DVR: To help you boost engagement and reach, you could connect other service providers to restream, such as YouTube, Twitch and Facebook. Well, DVR allows you to continue engagement after live events have ended, generating revenue via VoD(on-demand video).
- Transcoding: Optimizes streaming for viewers with different internet speeds and devices, reduces bandwidth usage, and saves costs.
- Virtual Live Events: Create seamless and engaging live streaming experiences using pre-recorded content for various applications, such as e-commerce, education, and online speeches.
- IP Camera Streaming: Effortlessly stream your RTSP IP camera to popular platforms like YouTube, Twitch, or Facebook.
Literally it's not just a media server, and seems a bit complicated, right? Yep and No!
- Yep! Building a video streaming service is something really difficult, not easy. It requires video streaming engineering, also backend service technology like Nodejs or Go, and frontend skills to build a mgmt and homepage.
- No! Rather than build all from scratch, we could build a video streaming service based on some open source solution such as SRS Stack, and lightweight cloud service such as DigitalOcean or AWS, it's really simple to build your video streaming service.
In this tutorial, you will learn how to set-up a video streaming service, supports publishing by browser
without a plugin that is converting WebRTC to HLS, to deliver low latency (about 300ms) video streaming
using SRT, and to secure the service by authentication. Furthermore, this solution is open source and very
easy to get it done, via even 1-Click.