← Back to the blog

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

By Mark Fail ·

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

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

OptionHow you pay10,000 views of one 10-min 1080p videoMakes smaller versionsMain catch
Your own serverYour hosting plan4,500 GB from your serverNoBandwidth limits and upload caps
YouTube embedsFree$0YesNo paywalls, YouTube's ads and branding
VimeoFlat planOver the 2 TB monthly capYes2 TB a month bandwidth limit
Bunny StreamPer GB delivered$22.50 to $135Yes, freePrice depends on network tier
Cloudflare StreamPer minute delivered$105Yes, freeStorage bought in $5 blocks
MuxPer minute deliveredAbout $0.03 within the free allowanceYesCosts 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

YouTube embed terms and player parameters documentation

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
Read YouTube Developer Policies

Vimeo

Vimeo plan and pricing page

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
See Vimeo plans

Bunny Stream

Bunny Stream video hosting pricing page

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
See Bunny Stream pricing

Cloudflare Stream

Cloudflare Stream pricing documentation

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
See Cloudflare Stream pricing

Mux

Mux Video pricing page

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
See Mux pricing

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)

PremiumPress Video Theme demo homepage

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
Visit Theme Page

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

How much bandwidth does a video website use?
About 0.45 GB for each full view of a ten-minute 1080p video at 6 Mbps. 10,000 full views in a month is roughly 4,500 GB. Lower bitrates and viewers who stop early bring that down.
Can I host videos directly on WordPress?
Yes. WordPress plays MP4, M4V, WebM, OGV and FLV files from the media library. It plays the file as uploaded and doesn't create smaller versions, so large files are slow for viewers on weak connections.
Why won't my video upload to WordPress?
Usually because of PHP's limits. upload_max_filesize defaults to 2 MB and post_max_size to 8 MB, and both must be higher than the file size. Many hosts set them higher, but often not high enough for long HD video.
Can I charge people to watch YouTube videos on my site?
No. YouTube's developer policies say you must not charge users to watch content in an embedded YouTube player. Paid videos need to be hosted somewhere else.
Can I put ads on a website full of embedded YouTube videos?
YouTube's terms forbid selling ads on a page where YouTube videos are the main attraction. Ads on a site that's mostly your own writing are fine.
Is Bunny Stream cheaper than Vimeo?
For heavy traffic, yes. Bunny charges from $0.005 per GB delivered with no cap, while Vimeo's flat plans stop at 2 TB of bandwidth a month. Bunny's Standard network and viewers outside Europe and North America cost more. For a small library with few views, Vimeo's flat price can be simpler.
Is Cloudflare Stream or Bunny Stream cheaper?
For typical 1080p video, Bunny's per-GB price usually works out lower. Cloudflare charges the same per minute at any quality, so it's easier to predict and better value for very high-quality video.
Does Vimeo allow other people to upload to my account?
Yes, through the Vimeo API. Its help centre describes sites where creators upload to one shared account, and paid plans get upload access automatically. Everything uploaded still has to follow Vimeo's terms and counts towards your bandwidth cap.
What is the cheapest way to start a video website?
Embedding your own YouTube videos costs nothing. If you need paid access, uploading to your own hosting is the cheapest start. When traffic grows, Bunny Stream has a $1 monthly minimum.
Do I need transcoding?
If lots of your viewers watch on phones, yes, eventually. Transcoding makes several smaller versions of each video so the player can switch on a slow connection. Bunny, Cloudflare and Mux do it for free. WordPress and most video themes don't.

Sources

All prices and terms checked on 1 October 2026.

Related Posts