What It Costs to Host Videos for a WordPress Video Site: Bunny, Cloudflare, Mux, Vimeo, YouTube
By Mark Fail ·

On a video site, the theme is a one-off cost. Delivery is the cost that keeps growing. Every time someone presses play, most of the video file travels from a server to their screen. A typical blog post weighs about 2 MB. A ten-minute 1080p video is around 225 times that, every time it's watched.
So before choosing a theme, it's worth deciding where the videos will live and what that will cost once people start watching. This guide prices six options using one example: a ten-minute 1080p video, watched in full 10,000 times in a month. Prices come from each provider's own pricing page or documentation, checked on 1 October 2026. The sums are shown so you can plug in your own numbers. At the end we explain how our own Video Theme works with each option.
At a glance
| Option | How you pay | 10,000 views of one 10-min 1080p video | Makes smaller versions | Main catch |
|---|---|---|---|---|
| Your own server | Your hosting plan | 4,500 GB from your server | No | Bandwidth limits and upload caps |
| YouTube embeds | Free | $0 | Yes | No paywalls, YouTube's ads and branding |
| Vimeo | Flat plan | Over the 2 TB monthly cap | Yes | 2 TB a month bandwidth limit |
| Bunny Stream | Per GB delivered | $22.50 to $135 | Yes, free | Price depends on network tier |
| Cloudflare Stream | Per minute delivered | $105 | Yes, free | Storage bought in $5 blocks |
| Mux | Per minute delivered | About $0.03 within the free allowance | Yes | Costs climb past 100,000 minutes |
How much is 10,000 views?
Apple's HLS authoring guide, which most streaming services follow, puts 1080p video at an average of 6,000 kbit/s. Ten minutes is 600 seconds. So one full view is 6 Mbps × 600 s = 3,600 megabits, or 450 MB. Over 10,000 views that's 4,500 GB, or 4.5 TB, in a month. Cloudflare and Mux bill by the minute instead, and in minutes it's 100,000.
The bitrate makes a big difference. Mux's own calculator assumes 3.33 Mbps, which brings the same month down to about 2,500 GB. YouTube recommends uploading 1080p at 8 Mbps, and serving that file unchanged would mean 0.6 GB a view and 6,000 GB a month. If you pay per GB, your bill moves with the bitrate. If you pay per minute, it doesn't.
Your own server
This is what happens by default when you upload a video to WordPress. The file goes into the media library and plays in the browser's built-in player.
WordPress plays the file exactly as you uploaded it. It doesn't make a smaller copy for someone on a slow train connection, so every viewer downloads the full-quality file. In a 2024 WordPress.org thread, volunteer moderator James Huff put the trade-off simply. A CDN is faster, but serving media from your own server is often cheaper.
Most people hit the upload limit before the bill. PHP's defaults are 2 MB for upload_max_filesize and 8 MB for post_max_size, so hosts raise them. One host in a 2023 WordPress.org thread had set 60 MB, and a ten-minute 1080p file is usually bigger than that. Then there's the hosting plan. "Unlimited bandwidth" usually comes with fair-use terms, and 4.5 TB a month for one video is exactly what those terms are meant to stop. We can't give a price here, because it depends on your host's contract.
Pros
- No extra service, account or monthly bill to start
- Files stay on infrastructure you control
- Works with any theme, including pay-per-view and members-only setups
Cons
- No smaller versions for slow connections or phones
- Upload limits need raising before large files will go through
- Busy videos can break the fair-use terms of shared hosting
- iPhone videos recorded in HEVC won't play in Chrome or Firefox unless someone converts them
YouTube embeds

Uploading to YouTube and pasting the link into your site costs nothing. YouTube handles the different quality levels, the bandwidth and the player. If your site is mostly your own videos and you just want people to see them, start here. YouTube's terms allow showing videos through its embed player.
It's a different story if you want to earn from the site. YouTube's developer policies say you must not charge users to watch content in an embedded YouTube player. That rules out paywalls and members-only videos. Its terms also forbid selling ads on a page where YouTube videos are the main attraction. You can't turn off the related videos at the end, only limit them to the same channel, and YouTube may show its own ads in the player. You pay nothing, but you also have very little control.
Pros
- Free hosting, bandwidth and encoding
- Fast everywhere, on every device
- Videos can also be found on YouTube itself
Cons
- You can't charge people to watch embedded YouTube videos
- Selling ads on pages built around YouTube videos breaks the terms
- Related videos and YouTube's own ads can send viewers elsewhere
Vimeo

Vimeo sells flat monthly plans and never puts ads on your videos. Every plan lets you restrict embeds to your own domains, up to 50 of them. Its help centre also confirms you can let other people upload into your Vimeo account through its API, which is what a creator site needs. Paid plans get that upload access automatically.
The problem is bandwidth. Vimeo caps its self-serve plans at 2 TB a month. Above that, its terms let it charge extra, make you upgrade or close the account. At 0.45 GB a view, 2 TB covers about 4,444 full views of our example video, less than half of 10,000.
Vimeo only showed us UK prices, including VAT. Starter is £10.80 a month billed yearly or £15 monthly, with 2 TB of storage. Standard is £22.80 or £31 with 4 TB, and Advanced is £82.80 or £115 with 7 TB. Vimeo's terms also ban sexually explicit content, which matters if your site is anywhere near adult.
Pros
- No ads, and embeds can be limited to your domains
- Public uploads into your account are allowed through the API
- Predictable monthly price
Cons
- 2 TB a month bandwidth cap on every self-serve plan
- Growing past the cap means a sales conversation
- Content rules apply to everything your members upload
Bunny Stream

Bunny only charges for storage and traffic. Converting videos into several sizes is free, and so are the player, link protection and basic encryption. Storage starts at $0.01 per GB a month and the minimum bill is $1 a month, so a small library costs very little to keep online.
What you pay for delivery depends on the network. Bunny's Volume network charges $0.005 per GB, which makes our 4,500 GB month $22.50. The Standard network has many more locations. Its CDN price list starts at $0.01 per GB in Europe and North America, which would be $45. Bunny's Stream calculator works out at $0.03 per GB, which would be $135. Viewers in South America, the Middle East and Africa cost more on Standard.
At 100,000 views, the same video would cost $225 to $1,350 a month. Which Bunny network you choose matters more than choosing Bunny over someone else.
Pros
- Cheapest per GB of the services priced here, on the Volume network
- Free encoding, player and token security
- $1 monthly minimum
Cons
- Volume network has 10 locations against 119 on Standard
- The bill tracks bitrate, so high-quality uploads cost more to deliver
- Full DRM, with Widevine and FairPlay, is $99 a month plus licence fees
Cloudflare Stream

Cloudflare charges by minutes instead of gigabytes. Delivery is $1 per 1,000 minutes watched, and storage is $5 a month for each 1,000 minutes of video. Uploading and converting are free, and bandwidth is included in the per-minute price. Our example works out at 100 × $1 for delivery plus one $5 storage block, so $105 a month, whatever quality the viewers watch.
That makes the bill easy to predict, and it doesn't punish high-quality video. At this bitrate, though, it costs more than Bunny, and storage adds up on a big library. A thousand ten-minute videos fill ten storage blocks, which is $50 a month before anyone watches anything. Cloudflare also charges for video the player loads ahead, even if nobody watches it. Single uploads can be up to 30 GB.
Pros
- Per-minute pricing ignores bitrate
- Free encoding and no separate bandwidth charge
- Large uploads, up to 30 GB a file
Cons
- Storage is prepaid in $5 blocks, even for one short video
- Dearer than per-GB pricing for typical 1080p video
- Buffered but unwatched minutes are still billed
Mux

Mux is aimed at developers, and it's the cheapest to start with. Its documentation says the first 100,000 minutes watched each month are free, at any quality, and basic-quality encoding costs nothing. Storing a minute of 1080p video costs $0.003 a month. Our example fits exactly inside the free allowance, so the month costs about three cents in storage. The free plan is limited to 10 videos, and the pay-as-you-go plan includes $20 of usage credit a month.
Above the free allowance, 1080p delivery costs $0.001 a minute. The 100,000-view month would come to roughly $875 to $880.
Mux is an API, not a dashboard you can plug a WordPress plugin into, so you'll need a developer or a theme that already supports it. Signed URLs and domain restrictions are included. DRM costs $100 a month plus $0.003 a play.
Pros
- 100,000 free delivery minutes every month
- Free basic encoding and cheap storage
- Signed URLs and analytics included
Cons
- Needs development work to connect to WordPress
- Free plan stops at 10 videos
- Past the allowance it costs about the same as Cloudflare
Hosted platforms
If you're selling video subscriptions, rather than running a site where anyone can upload, a hosted platform bundles storage, delivery, apps and billing into one fee. Uscreen starts at $49 a month for up to 100 subscribers, plus a 10% fee on one-time sales. After that it's $149 a month plus $1.99 per subscriber. Vimeo OTT is still sold, at $1 per subscriber a month plus 10% of one-time purchases. Kajabi is aimed at courses and costs $143 to $399 a month on yearly billing, with no cut of your sales.
Per-subscriber fees add up quickly. With 500 subscribers, Uscreen's Growth plan is $149 + $995 = $1,144 a month. These platforms are also built for one business selling its own videos. They don't let the public upload and run channels, so they won't work for a YouTube-style site.
PremiumPress (ours)

We sell a video theme, so here's how it handles video files. Members can add a video in two ways. They can upload an MP4, WebM or MOV file, which is stored on your own server, or paste a YouTube or Vimeo link. There's also an embed-code tab, switched off by default, that accepts a player from another host. That's how a Bunny Stream or Cloudflare Stream video can appear on a watch page.
Uploads are capped at 128 MB by default. You can raise that, but your host's PHP limit still applies. Thumbnails are captured in the uploader's browser. Pay-per-view files are moved out of the public uploads folder and played through links that expire after six hours.
The theme doesn't transcode. Each video plays exactly as it was uploaded, at one quality, so creators should upload web-ready H.264 MP4 files. Pay-per-view and members-only access only work for uploaded files, not YouTube or Vimeo links. Live streaming is optional and needs your own paid Cloudflare Stream account. The theme costs $99 once and covers unlimited sites you own.
Pros
- Mix uploads and YouTube or Vimeo links on the same site
- Paid videos are stored privately and served by expiring links
- One-time price with no per-subscriber fee
Cons
- No transcoding, so no automatic lower-quality versions
- Uploaded videos use your own server's storage and bandwidth
- Paywalls don't apply to linked YouTube or Vimeo videos
Final thoughts
If the videos are your own and you just want them seen, upload them to YouTube and embed them. It's free. The rules only get in the way if you want to charge for watching or sell ads around the videos.
If you charge for access, the videos can't be on YouTube. For a small library with paying members, your own server is fine, as long as your host's bandwidth terms allow it and creators upload sensible file sizes. Once single videos reach a few thousand views a month, move them to a streaming service. Bunny Stream is the cheapest per GB. Cloudflare Stream is the easiest to predict. Mux is the cheapest to start with if you have a developer.
Vimeo is easy to use and has no ads, but its 2 TB monthly cap makes it a poor fit for a site where the public uploads and watches. Hosted platforms like Uscreen and Kajabi make sense if you want to sell a course or subscription library without any technical work. Once per-subscriber fees cost more than a server would, they stop making sense. If you're still choosing the site itself, our video sharing themes comparison covers the themes.
FAQ
Sources
- Apple HLS authoring specification: 1080p bitrates of 6,000 and 7,800 kbit/s. YouTube recommended upload settings: 8 Mbps for 1080p.
- YouTube terms of service, developer policies and player parameters, which cover related videos.
- PHP core settings for upload_max_filesize and post_max_size, and the WordPress video shortcode documentation.
- WordPress.org support: Third party media host, June 2024, on CDN vs own server. Using video on own webhost, November 2023, on a 60 MB upload limit.
- YouTube comparisons: Bunny.net vs Cloudflare vs Vimeo by Tobi Teaches, and Vimeo vs Bunny Stream by SuperFixz.
- PremiumPress Video Theme. Features are described from the released 12.0.49 build.
All prices and terms checked on 1 October 2026.





