I've been using Cloudflare's ecosystem heavily for my video tools and can share some thoughts:
For your use case (40s clips, 10-50K plays/day), Cloudflare Stream's per-minute pricing model could be significantly cheaper than GCP, especially as you scale. Their ABR quality is quite good for 1080p/720p - I haven't noticed quality issues in practice.
One consideration: Cloudflare Stream has a 30s minimum charge per video, so for 40s clips you're paying for 60s. This might eat into the cost savings vs GCP.
Backblaze B2 + Cloudflare has free egress which is huge, but make sure you're using the Bandwidth Alliance properly to avoid surprise charges.
Have you considered keeping source files in B2 and only using Cloudflare Stream for delivery? That hybrid approach might give you more flexibility.
I see, yes I am planning to keep the raw video files in B2.
So about the 30 second minimum charge, my current scenario is users can record and upload videos of any length between 5-60 seconds max if they are recording from the app's camera. On average I have found its 40 second videos. But if uploading from their gallery max is videos of 3minute length or lower.
Thank you for the reply as well. Glad the quality of cloudflare stream is good
I’ve used Netcup to run an ffmpeg transcoding fleet, stored in Wasabi, served via BunnyCDN. It worked great, and I had total control of everything. You might also check out Bunny’s video services which didn’t exist when I built out my solution.
I've been using Cloudflare's ecosystem heavily for my video tools and can share some thoughts:
For your use case (40s clips, 10-50K plays/day), Cloudflare Stream's per-minute pricing model could be significantly cheaper than GCP, especially as you scale. Their ABR quality is quite good for 1080p/720p - I haven't noticed quality issues in practice.
One consideration: Cloudflare Stream has a 30s minimum charge per video, so for 40s clips you're paying for 60s. This might eat into the cost savings vs GCP.
Backblaze B2 + Cloudflare has free egress which is huge, but make sure you're using the Bandwidth Alliance properly to avoid surprise charges.
Have you considered keeping source files in B2 and only using Cloudflare Stream for delivery? That hybrid approach might give you more flexibility.
I see, yes I am planning to keep the raw video files in B2.
So about the 30 second minimum charge, my current scenario is users can record and upload videos of any length between 5-60 seconds max if they are recording from the app's camera. On average I have found its 40 second videos. But if uploading from their gallery max is videos of 3minute length or lower.
Thank you for the reply as well. Glad the quality of cloudflare stream is good
I’ve used Netcup to run an ffmpeg transcoding fleet, stored in Wasabi, served via BunnyCDN. It worked great, and I had total control of everything. You might also check out Bunny’s video services which didn’t exist when I built out my solution.
Thank you, first time I'm hearing about Bunny CDN will do some more research on them.
What's the software stack you have been using for the transcoding fleet? Is there any ready made open source solution?