Can you recommend a cheap CDN service for video streaming?
The way I imagine it is that a user will request a video stream instance, I will set it up via automated API calls and provide the user with access details for OBS(or similar software). The user then starts the video stream. Other users/audience will be able to watch it on my platform via embedded video player that will be streaming the video from this video cdn service. And I will be charged per use(although I would prefer something more predictable, rather than actual per-data pricing to not go bankrupt in case of sudden extreme interest in some video stream).
All CDNs are going to charge based on usage, that's how they work, some offer a free tier but you have to take responsibility for managing your costs and ensuring your revenue scales (otherwise just use YouTube)
Alternatively there's also: https://www.mux.com/live
ffmpeg -> MPEG-DASH -> nginx + MPEG-DASH -> your own video player.
Some other options:
Free:
https://jitsi.org/jitsi-meet/ Free/Open Source, built for video calls but also works for livestreaming*
https://livekit.io/ Free SDK, similar complexity to Jitsi but tailored specifically for live streaming
https://www.ovenmediaengine.com/olk Roll-Your-Own auto-scaling live-streaming solution
...
API as a Service:
https://www.100ms.live/ Super low-latency livestreaming API with premium pricing
https://castr.io/ All-In-One, ok pricing
https://www.api.stream/ Good, pay as you go pricing
https://liveapi.com/pricing/ Good, pay-as-you-go pricing
https://www.simplelive.co/livestream One click embedded live stream start-up, pricing seems too good to be true
...
* Example repo which used Jitsi for livestreaming to thousands: https://gitlab.com/guardianproject-ops/jitsi-aws-deployment
...
All of the options will run ~$100 to $3000/month for streaming 100 hours a month to 1000 users, with APIs costing the most and bandwidth being the main cost of self-hosted solutions.
<$100/mo is possible by self-hosting on Hetzner or another free bandwidth host.
Using AWS, Azure, or Google Cloud anywhere in your stack can easily 2-3x your costs above the high bound.
It would be hard to find anything that wouldn't be at least 2x more expensive than running your own, at least the origin/ingest and transcoding side (as well as origin for DVR/recording/VOD). Depending on the scale, running your own edge servers for delivery to viewers might also be a lot cheaper.
--
Just did a small test with 10 sec desktop video recording in OBS:
CBR 3.35 MB
VBR 343 kB
ABR 840 kB
CRF 344 kB
So by not using CBR the data stream can deliver the same quality at 10x lower size(VBR, CRF) or 3.9x in case of ABR. CBR is needed for transcoding due to speed needed for that process but if I would pipe the data 1:1 as I said, then CBR is detrimental.
Let us know what you find
https://azure.microsoft.com/en-us/pricing/details/media-serv...
Supports HEVC (H.265) output.
https://learn.microsoft.com/en-us/azure/media-services/lates...
You can put budget alerts in place on Azure resources to handle costs.
It's crazy how much people make off of bandwidth. From what I understand, that and RAM are huge margin products for AWS.
Also, you need to do the "get three quotes" thing. Akamai, fastly, and AWS will match/beat each other if you ask.