Two different pricing models
Vimeo sells fixed-price plans. Vimeo’s plans article lists Starter, Standard and Advanced with 2 TB, 4 TB and 7 TB of storage respectively, and a 2 TB monthly bandwidth figure on each. On October 29, 2026 the plan prices did not appear in the text of Vimeo’s pricing page that we could retrieve, so this guide does not quote them; read the current price at checkout and add it to the comparison below.
Bunny Stream charges for what you use. Its pricing page lists free encoding, storage from $0.01 per GB, delivery from $0.005 per GB, and a $1 monthly minimum, with a 14-day trial without a card. On the general pricing page, Standard network delivery is $0.01 per GB in Europe and North America, $0.03 in Asia and Oceania, $0.045 in South America and $0.06 in the Middle East and Africa; the Volume network is $0.005 per GB for the first 500 TB. Standard storage is $0.01 per GB per month in one region and $0.02 across two.
| Vimeo | Bunny Stream | |
|---|---|---|
| Billing unit | Plan subscription, monthly or annual | GB stored and GB delivered |
| Entry cost | Starter plan price; not readable on the pricing page on October 29, 2026 | $1 monthly minimum |
| Encoding | Included in plan | Free |
| Bandwidth | 2 TB monthly threshold; outreach rather than an automatic stop | Paid per GB by region or volume tier |
| Player branding | Branding in the player and third-party player support from Standard | Bunny player included |
| Free trial | Free plan exists with a 1 TB bandwidth threshold, but specific-domain embed privacy is not available on Free or Basic | 14 days, no card |
Privacy controls compared
Vimeo’s embed settings let you restrict embedding to specific domains on all plans except Free and Basic. You can list up to 50 domains; first-level subdomains of a listed domain are included automatically, deeper subdomains are not, and wildcards are not supported. The Nowhere setting blocks embedding entirely. Vimeo’s Core plan article also describes an embed-only option that hides videos from vimeo.com.
Bunny Stream’s default protection for its player is embed view token authentication. The token is a SHA-256 hash of a secret key, the video ID and an expiry timestamp in seconds, and Bunny says to generate it server-side and never expose the key in browser code. Separately, CDN token authentication signs direct URLs such as HLS playlists, segments and MP4 fallbacks, and pull zone settings add hotlink protection and IP allowlists.
Neither control checks whether the viewer has paid. Your LMS protects the lesson page; the video platform decides where the player may load. A domain restriction stops a copied embed working on another site. A signed token with a short expiry also makes a copied link stop working after a set time, which is the stronger guarantee when students share links.
Embedding in LearnDash
LearnDash’s Video Progression documentation lists both Vimeo and Bunny.net as supported providers. For Bunny, it requires the HLS playlist URL from the Bunny video card, says the iframe embed code is not supported, requires MP4 Fallback to be enabled on the Bunny library, and requires a resolution of 720p or higher. For Vimeo, it notes that course creation fails if the Showcase is not set to Anyone or if any video in that Showcase is not public.
The practical consequence for Bunny: if you rely on Video Progression, you are using the HLS URL, so the protection that matters is CDN token authentication and hotlink protection on the pull zone, not the iframe embed token. LearnDash’s page does not say how it handles signed HLS URLs. Test a protected video in Video Progression on staging before launch, and decide whether progression or token-protected embeds matter more to you.
Worked cost example at 500 students
Assumptions, all ours: a course with 25 hours of finished video; Bunny stores encoded renditions totalling 60 GB in one storage region; each of 500 students watches 15 hours over three months; delivered video averages 0.7 GB per hour of viewing. That is 500 x 15 x 0.7 = 5,250 GB over three months, or about 1,750 GB per month if viewing is spread evenly. Real numbers depend on resolution, completion rates and where students live.
Vimeo Starter covers this at its fixed plan price as long as monthly viewing stays near 1,750 GB, under the 2 TB threshold. If all 500 students start in the same month and watch in a burst, that month could reach 5,250 GB. Vimeo says it may contact you if usage exceeds 2 TB in at least two of the past 12 months or 10 TB in any one month, and that you then have seven days to resolve it before possible suspension. A cohort course that launches twice a year can hit that pattern.
| Scenario | Monthly delivery | Bunny Stream (Standard, EU and NA) | Bunny Stream (Volume network) | Vimeo Starter |
|---|---|---|---|---|
| Steady viewing | 1,750 GB | $17.50 + $0.60 storage = $18.10 | $8.75 + $0.60 = $9.35 | Starter plan price; under the 2 TB threshold |
| Launch month burst | 5,250 GB | $52.50 + $0.60 = $53.10 | $26.25 + $0.60 = $26.85 | Starter plan price, but above the 2 TB threshold that month |
| 30% of viewing from Asia and Oceania, steady | 1,750 GB | $12.25 + $15.75 + $0.60 = $28.60 | $8.75 + $0.60 = $9.35 | Same plan price |
| Growth to 2,000 students, steady | 7,000 GB | $70 + $0.60 = $70.60 | $35 + $0.60 = $35.60 | Above the threshold every month; Vimeo points to Custom or Enterprise plans |
Which to choose
| If you | Lean toward | Why |
|---|---|---|
| Want a fixed annual bill and moderate, steady viewing | Vimeo | Plan price is flat while you stay under the 2 TB threshold |
| Run cohort launches where everyone watches at once | Bunny Stream | Delivery is billed per GB with no threshold to manage |
| Need links that expire | Bunny Stream | Signed embed tokens include an expiry timestamp |
| Need LearnDash Video Progression with minimal setup | Vimeo, or test Bunny first | Bunny requires the HLS URL and 720p or higher |
| Want marketing features such as lead capture and player branding | Vimeo Standard or above | Listed on Vimeo’s Standard tier |
Setup checklist
- Estimate monthly delivered GB from lesson hours, students and bitrate before choosing.
- On Vimeo, set embed privacy to your exact course domains, including the staging subdomain if you test there.
- On Bunny, enable embed token authentication or CDN token authentication and generate tokens on the server only.
- Test Video Progression with your chosen protection on staging.
- Keep original video files off your WordPress host and in your own archive.
Questions before you decide
Does Vimeo charge for bandwidth overages?
Its help article describes a 2 TB monthly threshold that it does not enforce by stopping streams. It may contact you after repeated or very large overages, then ask you to reduce usage or move to a Custom or Enterprise plan.
Can LearnDash track Bunny Stream videos?
LearnDash’s Video Progression documentation lists Bunny.net as supported when you use the HLS playlist URL; the iframe embed is not supported, MP4 Fallback must be enabled, and videos must be 720p or higher.
Does domain restriction stop non-paying viewers?
No. It limits which websites can embed the player. Your LMS controls who can open the lesson page.
Sources & verification
Product details and prices can change. Check the linked provider before buying.
- Vimeo: Pricing plans Accessed 29 Oct 2026
- Vimeo Help: About Vimeo plans Accessed 29 Oct 2026
- Vimeo Help: Bandwidth on Vimeo Accessed 29 Oct 2026
- Vimeo Help: How to embed my video Accessed 29 Oct 2026
- Vimeo Help: About the Vimeo Core plan Accessed 29 Oct 2026
- Bunny.net: Stream pricing Accessed 29 Oct 2026
- Bunny.net: CDN pricing Accessed 29 Oct 2026
- Bunny.net: Storage pricing Accessed 29 Oct 2026
- Bunny.net Docs: Stream security Accessed 29 Oct 2026
- Bunny.net Docs: Embed view token authentication Accessed 29 Oct 2026
- LearnDash documentation (Nexcess): Video progression Accessed 29 Oct 2026
Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.