Thanks for writing out those clear requirements.
Can you tell me what size files you are working with normally?
With the Cloudinary WordPress plugin, more docs here: https://cloudinary.com/documentation/wordpress_integration, Cloudinary can certainly handle most large files, optimize them, and serve them in an optimal web format.
We cover uploading / syncing of assets between Cloudinary and WordPress here:
We list an option called “Cloudinary only”, but the way that this works is that the asset must be uploaded to your WordPress library first, and then it will be synced to Cloudinary before it is deleted from your WordPress library.
This setting stores all assets in Cloudinary only, any existing assets stored in WordPress will be removed to save space in your local storage. With this setting enabled, you need to manually sync your media back to WordPress before deactivating the plugin. Before setting to Cloudinary only, we recommend creating a full backup of your WordPress site.
The initial upload to WordPress should be doable from either your mobile app or desktop. We support audio, video, and photos at Cloudinary.
Our videos provide a smooth playback experience, with delivery over CDN. Delivery bandwidth is one of the metrics we bill on.
As far as this question:
Allow me to embed this media privately on my site, without requiring that they're also listed on an external service. I want my site to be the sole canonical source for this content.
When media is served by Cloudinary, it is done so over a Cloudinary URL. This URL isn’t shared or posted anywhere, but it will be visible in your source code and therefore visitable directly if someone is inclined to look for it on your page.
I hope that answers all your questions, looking forward to your response on the file size and any follow-up questions.