I ask because I saw you’ve switched or decided to go with embeded YouTube from the above shared domain name, as far as I understand it’s the issue for you.
May I ask how large (filesize) was the video?
Was it only one or you’ve had multiple on the page?
Was it implemented and using “preload” and “autoplay” attributes?
Nevertheless, from my experience, videos larger than 45MB (needs to be downloaded even for the bots crawling your website), the best case is to:
Split video into the chunks (smaller files such as .ts with ffmpeg on the server) and load it from .m3u8 list, all that you can upload and then serve from Cloudflare R2 bucket using custom domain such as videos.mydomain.com/path-to-the-m3u8
Serve the video over HTTPS (e.g. different web hosting such as cPanel) but from an unproxied (DNS-only) sub-domain such as video.example.com
Yes, that might be the case as it’s being downloaded but even as cached, it needs time to download, then encode, then it’s loading … However possibly with that usage, you’d end up having a black screen stating you’re violating the Cloudflare Terms of Service as well. If that happens, then for sure you either go with one of the above suggestions.
I misunderstood CF rules. Thought they forbid proxying “large files LIKE videos unless mixed content”. In fact they forbid proxying “large files unless mixed content AND videos”.
My solution for now:
switch CF to only doing 302 redirects
serve videos directly from S3
optimize files themselves to be smaller
This seems to solve my issue.
Longer term, if I end up relying more on videos, I might switch to the playlist setup.