10 min read

How to Restrict Videos Using Bunny CDN and Presto Player

Shashank Dubey
Content & Marketing, Wbcom Designs · Published Nov 21, 2024 · Updated Mar 17, 2026
WordPress Experts by Wbcom Designs - galaxy background with handwriting text

To restrict videos with Bunny CDN and Presto Player, you host the files in a Bunny Stream video library, connect that library to Presto Player on your WordPress site, gate the pages with a membership plugin such as Paid Memberships Pro, and switch on Bunny’s token authentication so raw video URLs expire and cannot be shared. The result: members stream your videos fast from a global CDN, and everyone else gets blocked, even if they find a direct link. This guide walks through the full setup as it works in August 2026.

Bunny CDN (bunny.net) is a globally distributed content delivery network with pay-as-you-go pricing, and its Stream product handles video storage, encoding, and adaptive playback. Presto Player is a WordPress video player plugin, 100,000+ active installs and updated as recently as August 2026, with custom branding, playback controls, and direct Bunny Stream integration. Together with a membership plugin they give you real access control: hosting, delivery, player, and paywall each doing one job well.

Why Use Bunny CDN and Presto Player for Video Hosting?

Table comparing protection and cost of video hosting routes including Bunny CDN with Presto Player and a paywall

Before the technical setup, it helps to understand why this particular combination stands out for secure WordPress video hosting.

Performance and Reliability

Bunny CDN operates a global network of edge servers that deliver video from the location closest to each viewer, so playback stays smooth wherever your members are. Self-hosting videos on your WordPress server slows the whole site down and eats bandwidth during traffic spikes. Bunny CDN handles delivery independently, keeping your site fast and responsive.

Customizable Player Experience

Presto Player goes far beyond a basic video embed. It offers custom branding, adjustable playback speeds, chapter markers, email capture gates, and integrations with popular LMS and membership plugins. You can match the player to your site’s design, add calls to action at specific timestamps, and track viewer engagement. For sites built on the BuddyX theme or similar community-focused WordPress themes, Presto Player’s customization options keep the member experience visually consistent.

Layered Security

Bunny CDN’s hotlink protection and token authentication, Presto Player’s WordPress integration, and Paid Memberships Pro’s access control stack into multiple layers of security. Even if someone discovers a video URL, they cannot play the content without valid authentication, and the signed URL dies within minutes anyway. That is far stronger protection than embedding unlisted YouTube or Vimeo links, which anyone can share.

Here is how the main options for premium video compare:

ApproachProtection levelPerformanceCost model
Self-hosted files on your serverWeak (direct URLs work anywhere)Poor under loadIncluded in hosting, until bandwidth bills arrive
Unlisted YouTube/Vimeo embedsWeak (links are shareable)GoodFree / subscription
Vimeo Pro / WistiaGood (domain-level privacy)GoodFixed subscription, caps on hours or bandwidth
Bunny Stream + Presto Player + membership pluginStrong (tokens + referrer checks + paywall)ExcellentPay-as-you-go per GB

Prerequisites for Setting Up Video Restrictions

Four steps to restrict videos using Bunny CDN and Presto Player with Paid Memberships Pro and token authentication

Before starting the setup, have the following in place:

  • A Bunny CDN account: Sign up at Bunny.net and create a Stream video library. Bunny offers a free trial and pay-as-you-go pricing (you pay per GB of storage and delivery), which keeps it affordable for sites of every size.
  • Presto Player: Install and activate the Presto Player plugin. The free version handles Bunny embeds; Presto Player Pro adds the private Bunny Stream integration, token-signed playback, and the deeper membership features this guide relies on.
  • Paid Memberships Pro: Note that PMPro left the WordPress.org plugin directory in October 2024 at its developers’ request, so download it directly from paidmembershipspro.com and keep it updated through its own updater. Alternatives like MemberPress or Restrict Content Pro also work, but this guide focuses on Paid Memberships Pro.
  • WordPress admin access: You need full admin access to install plugins, configure settings, and manage content restrictions.

Step 1: Setting Up Bunny CDN Video Library

Create Your Video Library

After logging into your Bunny CDN dashboard, open the Stream section and click “Add Video Library”. During setup you configure several options that matter later:

  • Storage Location: Choose the main storage region closest to your primary audience, and add replication regions if your members are spread across continents. Bunny serves video through its global edge network either way, so this choice mostly affects upload and origin speed.
  • Pull Zone Configuration: The video library automatically creates a pull zone that handles delivery. Note the pull zone hostname (it ends in b-cdn.net); you will need it for Presto Player.
  • Encoding Settings: Pick the resolutions you want to support. For most course and membership content, 360p through 1080p balances quality against storage cost. Bunny also offers a premium encoding tier with per-minute pricing if you need highly optimised files, but the standard encoder is fine for most sites.

Upload Your Videos

Upload video files through the Bunny dashboard. The platform transcodes each upload into multiple resolutions for adaptive streaming, so viewers automatically get the best quality their connection supports without buffering. For large libraries, Bunny supports API-based and bulk uploads, and its Transcribe AI add-on can generate captions if you need them for accessibility.

Enable Hotlink Protection

Hotlink protection is your first security layer. In your video library’s security settings, enable the allowed referrers list and add your WordPress site’s domain. From then on, only requests originating from your website can load video content from your library. Anyone who copies a video URL and tries to embed it elsewhere or open it directly gets blocked.

Step 2: Configuring Presto Player

Install and Connect to Bunny CDN

After installing Presto Player, go to Presto Player → Settings in your WordPress dashboard and open the Bunny.net integration tab. Paste in your Bunny Stream API key and library ID (both from the Bunny dashboard) and connect. Presto Player Pro handles the private connection, which is what allows token-protected playback later. Verify the link works by checking that your uploaded videos appear in Presto Player’s media browser.

Add Videos to Presto Player

In Presto Player’s Media Hub, click “Add New Video” and choose Bunny.net as the source, then pick the video from your library. Configure playback settings: thumbnail image, available playback speeds, autoplay behaviour, and player branding. Presto Player generates a Gutenberg block and shortcode for each video, so you can embed the same protected video in any post, page, or course lesson.

Customize the Player Experience

Presto Player allows deep customisation of the viewing experience. You can add chapter markers to long videos, set an email capture gate that pauses playback until the viewer subscribes, place calls to action at chosen timestamps, and apply custom CSS to match your design language. For membership sites, consider a watermark or branded overlay to discourage screen recording. These options pair well with WordPress themes designed for community engagement.

Step 3: Restricting Access with Paid Memberships Pro

Configure Membership Levels

Install Paid Memberships Pro (downloaded from its official site) and set up membership levels that match your content strategy. A common pattern is Free, Premium, and VIP tiers with different video access. Configure pricing, billing cycles, and permissions for each level.

Restrict Video Pages

Create a page or post and embed your Presto Player video using its block or shortcode. Then use Paid Memberships Pro’s content restriction settings to limit that page by membership level. You can restrict whole pages, sections within a page, or individual blocks. Non-members who hit restricted content see a customisable message prompting them to sign up or upgrade.

Test Access Restrictions

Test the setup properly: log out of your admin account and open the restricted pages as a non-logged-in visitor, a free member, and a premium member. Confirm each user type sees the right content or the right restriction message. Also confirm video URLs cannot be opened directly: copy one from the page source while logged in, then try to load it in a private window. If you manage multiple mobile-optimized WordPress sites, repeat the tests on a phone.

Step 4: Enhancing Security with Token Authentication

For maximum protection, enable token authentication in Bunny CDN. This signs every video URL with a time-limited token, so even a captured URL expires after a short period and cannot be reused.

  1. Open your video library’s settings in the Bunny dashboard and enable Token Authentication (embed view token authentication for Stream libraries).
  2. Copy the security key and store it somewhere safe.
  3. Paste the key into Presto Player’s Bunny.net integration settings in WordPress.
  4. Set the token expiration window. Shorter windows are more secure, but leave enough time for legitimate playback of your longest videos.

With token authentication on, every video request from your site carries a cryptographically signed token that Bunny validates before serving a single byte. That shuts down URL sharing, hotlinking, and most casual piracy. If you later need watermarking, analytics, or DRM-grade controls beyond this, a dedicated protection layer like MediaShield can sit on top of the same WordPress stack.

Benefits of This Setup

Card showing the three security layers when you restrict videos using Bunny CDN and Presto Player on WordPress
  • Fast and Reliable Playback: Bunny CDN’s edge network delivers video with minimal latency and no buffering for viewers worldwide.
  • Customizable Video Experience: Presto Player gives you full control over player appearance, behaviour, and interaction features to match your brand.
  • Multi-Layered Security: Hotlink protection, token authentication, and membership-based access control block unauthorized access from several angles at once.
  • Scalability: As your audience and library grow, Bunny CDN absorbs the traffic without touching your WordPress server’s performance.
  • Cost Control: Pay-as-you-go pricing keeps costs proportional to actual usage. Small course creators pay very little; large platforms avoid the fixed caps of Vimeo Pro or Wistia plans.

Troubleshooting Common Issues

If videos do not play after setup, first check that your domain is on the Bunny hotlink protection allowed list exactly as served (with or without www). Then confirm the API key and library ID in Presto Player match your Bunny account. For token authentication problems, make sure the security key matches on both sides and that your WordPress server’s clock is synchronised; clock drift produces tokens that are already expired, which shows up as videos that fail only for some visitors.

If restriction messages are not appearing correctly, clear any WordPress caching plugins and re-check Paid Memberships Pro’s rules for the specific page. Some caching plugins serve cached copies of restricted pages to unauthorized users, so exclude membership-restricted pages from the page cache. Understanding the differences between caching plugins helps you pick one that behaves with membership restrictions.

One more issue we see often: videos that play on desktop but not on iOS. That is usually a mixed-content or referrer problem, so confirm your site forces HTTPS everywhere and that the referrer policy is not set to no-referrer, which would strip the header Bunny’s hotlink check needs.

FAQs

  1. What is Bunny CDN Token Authentication?
    Token Authentication generates cryptographically signed, time-limited URLs for video content. Each URL includes a token that Bunny CDN validates before serving the video, which prevents access through URL sharing or hotlinking.
  2. Can I use Presto Player without Bunny CDN?
    Yes, Presto Player supports self-hosted files, YouTube, and Vimeo. Bunny CDN gives you better performance, lower server load, and the token-based protection the other sources cannot match. The private Bunny Stream integration requires Presto Player Pro.
  3. Does this setup work with other membership plugins?
    Yes. This guide uses Paid Memberships Pro, but the same pattern works with MemberPress, Restrict Content Pro, LearnDash, Learnomy, and other membership and LMS plugins. The Bunny CDN configuration stays identical whichever plugin gates the pages.
  4. Is Paid Memberships Pro still available?
    Yes. It left the WordPress.org directory in October 2024 by its developers’ choice, and is actively maintained and distributed from paidmembershipspro.com, including a free tier.
  5. How much does Bunny CDN cost for video hosting?
    Bunny Stream uses pay-as-you-go pricing: you pay per GB of storage and per GB of delivery, with current rates listed on bunny.net. For most small to medium membership sites the monthly bill comes in well under fixed-price alternatives like Vimeo Pro or Wistia.

Deliver and Protect Your Premium Video Content

Start with the pieces in this order. Create the Bunny Stream library and upload one test video first. Connect Presto Player and get that video playing on a draft page. Add Paid Memberships Pro restrictions, then turn on token authentication last, once everything else works, so you can tell which layer breaks if playback fails.

The division of labour is what makes this stack durable: Bunny CDN handles fast global delivery, Presto Player provides a branded professional viewing experience, and Paid Memberships Pro makes sure only paying members reach the content. Each piece is replaceable without rebuilding the rest, which is exactly what you want infrastructure to look like.

For an online course platform, a membership community, or a premium content library, this setup gives you Netflix-grade delivery economics on a WordPress site you fully own. Set up the test video today; the whole first pass takes under an hour.


WordPress Plugins that Will Make Your Website Mobile Friendly

WP-Optimize vs WP Rocket: Which Plugin is Best?

Best WordPress Plugins To Help You Optimize For Google Core Web Vitals

Shashank Dubey
Content & Marketing, Wbcom Designs

Shashank Dubey, a contributor of Wbcom Designs is a blogger and a digital marketer. He writes articles associated with different niches such as WordPress, SEO, Marketing, CMS, Web Design, and Development, and many more.

Related reading