Editorial judgment based on Vimeo, Bunny.net and LearnDash documentation checked October 29, 2026. The cost example uses stated assumptions, not measured viewing data. Our editorial method

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.

VimeoBunny Stream
Billing unitPlan subscription, monthly or annualGB stored and GB delivered
Entry costStarter plan price; not readable on the pricing page on October 29, 2026$1 monthly minimum
EncodingIncluded in planFree
Bandwidth2 TB monthly threshold; outreach rather than an automatic stopPaid per GB by region or volume tier
Player brandingBranding in the player and third-party player support from StandardBunny player included
Free trialFree plan exists with a 1 TB bandwidth threshold, but specific-domain embed privacy is not available on Free or Basic14 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.

ScenarioMonthly deliveryBunny Stream (Standard, EU and NA)Bunny Stream (Volume network)Vimeo Starter
Steady viewing1,750 GB$17.50 + $0.60 storage = $18.10$8.75 + $0.60 = $9.35Starter plan price; under the 2 TB threshold
Launch month burst5,250 GB$52.50 + $0.60 = $53.10$26.25 + $0.60 = $26.85Starter plan price, but above the 2 TB threshold that month
30% of viewing from Asia and Oceania, steady1,750 GB$12.25 + $15.75 + $0.60 = $28.60$8.75 + $0.60 = $9.35Same plan price
Growth to 2,000 students, steady7,000 GB$70 + $0.60 = $70.60$35 + $0.60 = $35.60Above the threshold every month; Vimeo points to Custom or Enterprise plans

Which to choose

If youLean towardWhy
Want a fixed annual bill and moderate, steady viewingVimeoPlan price is flat while you stay under the 2 TB threshold
Run cohort launches where everyone watches at onceBunny StreamDelivery is billed per GB with no threshold to manage
Need links that expireBunny StreamSigned embed tokens include an expiry timestamp
Need LearnDash Video Progression with minimal setupVimeo, or test Bunny firstBunny requires the HLS URL and 720p or higher
Want marketing features such as lead capture and player brandingVimeo Standard or aboveListed 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.

  1. Vimeo: Pricing plans Accessed 29 Oct 2026
  2. Vimeo Help: About Vimeo plans Accessed 29 Oct 2026
  3. Vimeo Help: Bandwidth on Vimeo Accessed 29 Oct 2026
  4. Vimeo Help: How to embed my video Accessed 29 Oct 2026
  5. Vimeo Help: About the Vimeo Core plan Accessed 29 Oct 2026
  6. Bunny.net: Stream pricing Accessed 29 Oct 2026
  7. Bunny.net: CDN pricing Accessed 29 Oct 2026
  8. Bunny.net: Storage pricing Accessed 29 Oct 2026
  9. Bunny.net Docs: Stream security Accessed 29 Oct 2026
  10. Bunny.net Docs: Embed view token authentication Accessed 29 Oct 2026
  11. 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.