Cannot decide between R2 or Streaming video


I have just signed up with R2 then I noticed the streaming video option.

I have a jazz education software with a lot of videos.
Backend if FastAPI residing at Railway servers, client software is react native expo.
I have 115 videos and It will go up to 2-300 videos as the app grows.
Videos are not too long, 5mb to 50mb in size. Mostly around 10-12mb.
I need S3 implementation for the Admin Control Panel so I must have that.
I don’t know if streaming video has it.
I also need to be able to use eTag with if-none-match header for caching.

Should I use streaming video or R2.
Obviously before uploading so many videos and implementing admin panel, I wanted to ask.
I need S3 implementation and eTag.
How much of a difference will it make with streaming videos?
Should I just use R2?


Stream is going to be better for streaming video. R2 will serve the video as a single file, whereas stream will split the video into segments and change quality as needed.

I went with R2 now, I made the videos even smaller ( 540P ).
They are 1-4mb range. I checked the headers and R2 also sends 206 partial streaming headers.
I don’t know if R2 does variable bit-rate ( probably not ) but It seems to work fine with R2.
The only thing is I have to choose between cached ( custom CDN ) or Presigned Url to be able to keep videos private.
Can streaming keep videos private and perform better? I need to check that out.
I have a working code for presigned URL and public bucket versions already so I might need to measure performance.
Thanks for the answer :slight_smile: