...but I'm not a great developer
Yet*. You already shipped something which is more than many people can say. I understand not wanting to be a developer, I had similar thoughts for a long time, but knowing the tools and concepts developers use is helpful. Especially in situations like this. Also, it's usually not as complex as it seems from the outside. I'll be the first to admit: I spent a long time thinking I wasn't "smart enough" to do it, until I did it. If you'd like any introductory resources on how APIs work, how they can help you, how to use them, etc, let me know.
Pep talk aside I recommend price matching several different platforms:
- AWS Elemental
- Brightcove
- Bitmovin
- Cloudflare Stream (as mentioned)
- Cloudinary
- Mux[0]
- Wowza
- many, many others
The options above will give you the most control over the process, they'll host and handle streaming/delivery to any variety of users. If you'd like a managed offering you could try something like Uscreen.
Right now it seems like you're in the "get it to work" stage but at some point, you might want to integrate observability or data monitoring to track your user's experience, video performance, engagement, and other items. This is where doing a little bit of research gets you a ton of value further down the line. I recommend looking up terms like "QoE" and "QoS"[1] to get some more context.
[0]: for some context on video generally - https://howvideo.works
[1]: https://ottverse.com/beginners-guide-to-video-qoe-and-qos
What's complex to you about Cloudflare Stream? It looks like you upload a video and they give you an HTML embed for it.
With hundreds of GB of data and TBs of traffic, it sounds to me like you're in the range where it's worth doing it right, handling different encodings and resolutions for different devices, etc. It sounds like Cloudflare Stream will do that for you; I'm not sure how you would configure a VPS to do the same thing.
Wistia perhaps?
Technical solutions exist and should be implemented by experienced people, but if it is central to your business model to sell video streams, you must absolutely understand the risks and challenges before you start and need to protect against unexpected cost explosion.
In any case, you need throttling / DDOS protection or a similar mechanism that will stop video download when you get too many requests - this risk is very real and when you can not stop some bot downloading videos a trillion times you can be killed financially in one day.
This must be implemented in some hard technical limitation on the server / service provider site and should not be some soft agreement like e.g. "we will find a solution, just go ahead".
Also very important is to implement all video streaming costs in a pre-paid fashion - put the max amount of money you are ready to pay for monthly delivery into the account in advance, but make absolutely sure that delivery stops when that money is burned. It is better to be offline for some while (or deliver some reduced quality content that is much less traffic intensive) than to go broke in one night.
But you do not only have to prepare for abuse and errors, you also have to see that in the long run, when the number of subscribers get bigger and bigger, you need a good solution to guarantee that the ongoing downloads of (old) subscribers will not accumulate to astronomical numbers - we could speak of an "inverted long tail" here that will eat more and more money. Plan ahead!
There are many more problems with selling video content and this was just a small introduction, but contained the most important points.
Sometimes it turns out that it will be a much safer solution to NOT sell the video content but sell additional services around your videos - put your videos on YT, forget about all problems with video hosting and focus on selling many much less intense products and services, while your videos generate lots of subscribers, because you will never deliver to as many people as YT can.
Good luck!
Theres a great object storage company Storj.io[1] that has a 150gig free storage tier.
Been using it for small projects and its great. Simple dashboard, drag and drop and away ya go.
Have you looked at Bunny CDN? They seem to have very competitive pricing.
(I'm not affiliated with them)
Maybe Azure Media Services? Can transcode and serve content etc.
https://azure.microsoft.com/en-gb/products/media-services/#f...
https://azure.microsoft.com/en-gb/products/media-services/li...
Plenty of free options now: https://github.com/topics/video-streaming?l=c%2B%2B (C++)
15 years ago, when we used this, we used libs from live555. but now vlc and ffserver have it also (RTSP, RTMP, WebRTC). Just don't use TCP please (as icecast did)
You'll likely need to get some custom development done to avoid ongoing subscription costs in favor of a larger up-front cost. I've done this type of thing a few times in my career and have found that while platforms like Vimeo and Streamable can be nice and cost effective early on, it's probably cheaper long-term to have something bespoke created.
aamoscodes had some good suggestions, and bunny.net would also work as well.
If you trust your VPS capabilities, you could also run a Peertube instance. It should have the embedding features you want. However, I'm not sure what sort of performance you are going to want on the VPS to make it close to something like Youtube. (How many TB of video do you have? How spread out is that 4 TB of stream data? If you do run it, I'd suggest running it through Cloudron to simplify security and backups (it's very good at that).
Please see https://pixeldrain.com - May be they can build something for you.
https://teachable.com/ might be useful to you
Vimeo also doesn't support commercial use and will slap you with a huge rate increase if your content does any real numbers.
Are you ok with anyone in the world watching the videos or are they for customers only?
A DAM like Razuna
AWS has cloudfront hosting for video streaming that is pretty easy to code against.
I'd be tempted to try and get as simple a solution as possible. Have you looked at Rumble?
They have a $100 per month option that should more than cover your needs. While they have a 4TB transfer limit I think they have options to extend that. But if your are only just hitting the 2TB limit this might work for a while? https://www.rumbleplayer.com/enterprise-pricing.html
You can always go free if you don't mind some ads but it sounds like that is not an option.
Linus Media Group also has a service https://www.floatplane.com/
I think that is aimed at content creators. But It could be worth contacting them.
Then if you want to do a little more development I'd look into Backblaze. https://www.backblaze.com/blog/roll-camera-streaming-media-f...