Choosing video hosting for your LearnDash courses decides three things: whether students can download your lessons, whether lesson completion tracks accurately, and whether you can see which students actually watched.

This LearnDash video hosting comparison covers seven options: Spotlightr, Vimeo, Wistia, YouTube, Presto Player with Bunny.net, self-hosted WordPress, and Amazon S3 with CloudFront. Each is judged on cost, protection, how it works with LearnDash, and what it tells you about your students.

The short answer: for paid LearnDash courses, we recommend Spotlightr. It combines DRM on every plan, a WordPress plugin that works with LearnDash video progression, and per-student tracking that ties watch data to each logged-in learner. If budget comes first and you’re comfortable with technical setup, Bunny.net with Presto Player is a low-cost option that LearnDash supports natively. YouTube, self-hosting and a raw AWS setup each carry trade-offs that make them poor fits for most paid courses.

What’s Wrong With Just Using WordPress?

If you already know this, feel free to skip ahead.

In a nutshell: WordPress can’t serve video reliably, so a LearnDash course needs video hosted somewhere else and embedded back in. Which host you choose determines whether your video is protected, whether video progression works properly, and whether you can see which students actually watched.

This is separate from the web hosting your WordPress site runs on. LearnDash itself needs ordinary WordPress hosting; see the FAQ at the end.

Video hosting for LearnDash means using a dedicated video platform to store and stream course videos for your WordPress site while balancing two things that matter most: smooth playback for students and content security for your premium content. If you run LearnDash courses, this is the setup that lets students watch lessons on your site while the actual video delivery happens through a specialized hosting service rather than your regular web host.

Video hosting also solves the practical problem of file size and delivery cost. Course creators and online educators using LearnDash often need to upload videos that are far too heavy for self-hosting, with lesson files commonly ranging from roughly 500MB to several GB each. That makes bandwidth, reliability, and scalability a real concern, especially when multiple students are watching the same course content at once.

Standard web hosting and the WordPress media library are poor places to upload videos directly for LearnDash. Uploading videos directly to your site may seem simple, but standard web hosting is not built for streaming large videos, and performance and scalability usually suffer as your library grows or more students start watching at the same time. Dedicated video hosting services are built for this job, which is why they tend to be the better fit for LearnDash video hosting.

Videos stored in the WordPress Media Library are also easier to steal than videos delivered through dedicated hosting.

Beyond storage and streaming, the right LearnDash video hosting gives you features your website host usually does not: stronger protection for course content, better customization, analytics, and a more professional viewing experience for students. Below, we’ll cover the basics of LearnDash video hosting, what LearnDash course owners should look for, how the main hosting platforms compare, the pros and cons of each, and why Spotlightr stands out as a strong choice.

LearnDash Video Hosting: Quick Comparison Overview

Prices checked on each vendor’s own site, October 2026. Video progression notes from LearnDash’s documentation.
Option What it costs LearnDash video progression Download protection Whose branding Tracks each student Best for
Spotlightr From $10/month Works, through the WordPress plugin Widevine and FairPlay DRM on every plan, with Force DRM Yours Yes, each logged-in student Paid courses where the video is the product
Vimeo From $20/month or $144/year (per seat) Works; a Showcase must be set to “Anyone” DRM on Enterprise only Yours (no Vimeo watermark on paid plans) No Teams already using Vimeo, under 2 TB a month
Wistia Free plan; Business $79/month billed yearly Works with the oEmbed URL; video controls don’t display No DRM advertised Wistia’s on Free; yours on Business No Marketing teams already using Wistia
Presto Player + Bunny.net Usage-based, about $4.50/month for 300 GB stored and 50 GB delivered, plus Presto Pro at $119/year Works with the HLS playlist URL and 720p or higher video Token authentication; Widevine and FairPlay as a $99/month add-on Yours No Technical, cost-conscious builders
YouTube (unlisted) Free Works None YouTube’s No Free courses and trailers
Amazon S3 + CloudFront Per GB stored and delivered Works Only what you build (signed URLs, DRM setup) No player included No Teams with AWS expertise
Self-hosted in WordPress Free until your host complains Works, but strains your server None Yours No A single free preview lesson

Spotlightr: Native LearnDash Integration with Full Student Tracking

Spotlightr is a video host built for course creators. Its WordPress plugin works with LearnDash: LearnDash lists Spotlightr among its supported video progression sources, and the plugin passes each logged-in student’s identity through to Spotlightr, so watch data belongs to a person, not just a play count.

Plans start at $10 a month (see pricing). Widevine and FairPlay DRM is on every plan, along with domain restriction and device limits. DRM protects playback wherever the device supports it; Force DRM blocks playback everywhere else. On paid plans you can also add a viewer watermark that shows the student’s name, email or IP address.

What sets Spotlightr apart for LearnDash courses is student identity pass-through. When a logged-in student watches a video on your LearnDash site, the plugin sends that student’s identity to your Spotlightr analytics. You see individual watch behavior, not just “this video was played 40 times.” More on this in the section below.

You also get chapters, knowledge checks, calls to action, lead capture forms, transcription with caption translation, and selling through your own Stripe account. There’s a 14-day free trial, with no credit card required.

How Spotlightr ties video views to each logged-in LearnDash student, from login to per-student report

Wistia: Marketing-Focused

Wistia is built for businesses that use video for marketing, and its analytics show it: heatmaps reveal, second by second, where viewers rewatch, skip or leave.

The Wistia pricing plans start with a free plan: 25 GB of storage, with Wistia branding on the player. Business is $79 a month billed annually ($948 a year), with 250 GB of storage, 1 TB of bandwidth and no Wistia branding. Player customization, email capture and calls to action are its strengths.

For protection, Wistia lists private sharing and password protection on every plan, and “Video Playback Protection” only on Enterprise. It doesn’t advertise DRM.

LearnDash video progression works with Wistia, with two catches from LearnDash’s own documentation: you paste Wistia’s oEmbed URL rather than the embed code, and the video controls don’t display. There’s no plugin that ties Wistia views to your logged-in LearnDash students, so linking the two takes custom development.

Vimeo with LearnDash: A Polished Player with a 2 TB Bandwidth Cap

Vimeo gives you an ad-free, polished player that suits branded course content, with player customization.

Plans start at $20 a month, or $144 a year billed annually, for Starter (prices are per seat). Every self-serve plan includes domain-level embed privacy and removes the Vimeo watermark, and every one has a 2 TB monthly bandwidth limit. For a growing course with hundreds of students streaming in HD, hitting that limit is a real possibility.

Vimeo works with LearnDash video progression: LearnDash lists it as a supported source. Its documentation notes one catch: a Vimeo Showcase used for a course has to be set to “Anyone”. DRM is only on Vimeo’s Enterprise plan, at a custom price.

Choose Vimeo if your team already uses it and your audience fits under 2 TB a month. If you’re moving off Vimeo, see our guide to Vimeo alternatives.

YouTube: Free but Fundamentally Unsuitable for Courses

YouTube costs nothing, supports unlimited videos, and works on every device. For promotional content, free previews and marketing, it’s hard to beat. For paid course content, it’s the wrong tool.

The problems aren’t cosmetic. YouTube embeds can show ads and related videos, and they offer no real content protection. Unlisted videos look private, but anyone with the link can watch, share and embed them, and free download tools make saving any YouTube video trivial. There’s no domain restriction, no watermark and no DRM.

Video progression isn’t the problem: LearnDash supports YouTube, and it’s one of only two sources where LearnDash can show the video controls (the other is video in your Media Library). The problem is everything around the video: distractions that pull students away from your course, and no idea which of your students watched.

Use YouTube for your course trailer, your blog content and your social media. Don’t use it to host the course itself if students are paying for it.

Presto Player + Bunny.net: The Low-Cost Option

Presto Player is a WordPress plugin that gives you a feature-rich player (picture-in-picture, speed controls, block editor support), but it doesn’t host video. You pair it with a separate host, and Bunny.net is a popular choice because it charges only for what you use: Bunny’s own calculator shows about $4.50 a month for 300 GB stored and 50 GB delivered. Presto Player Pro is $119 a year, or $399 one time for a lifetime license.

LearnDash 4.8 introduced native Bunny.net integration, so videos hosted on Bunny.net can drive video progression without a third-party plugin. LearnDash’s documentation sets two conditions: use the HLS playlist URL from Bunny (the iframe embed isn’t supported), and upload video at 720p or higher.

The trade-off is complexity. Bunny.net means configuring storage and streaming, token authentication, and referrer restrictions yourself. Bunny offers a basic DRM tier; Widevine and FairPlay DRM is an Enterprise add-on at $99 a month plus license fees. There are no knowledge checks, calls to action or lead capture forms in the player, and analytics are limited unless you add third-party scripts. You pay in setup time and maintenance instead of a subscription.

This setup suits developers and budget-conscious creators who are comfortable managing the technical side and don’t need per-student analytics or marketing tools in the player.

Amazon S3 + CloudFront: Do-It-Yourself for AWS Experts

Amazon S3 stores your files and CloudFront delivers them worldwide, and you pay per GB stored and per GB delivered. For organizations with large audiences and technical teams, it offers nearly unlimited scale and fine-grained control.

Security depends entirely on how you configure it. Signed URLs for time-limited access, referrer restrictions and even DRM are possible, but each needs AWS expertise and ongoing maintenance, and a misconfiguration exposes your files. AWS also gives you no player, so you add one, often Presto Player or Video.js.

LearnDash lists Amazon S3 as a supported video progression source, but everything else is yours to build: analytics, protection and the player experience. Costs scale with usage, and transcoding adds fees.

This makes sense for organizations with dedicated DevOps people. For most creators building a LearnDash site, the technical overhead far outweighs the savings compared with a managed video host.

Self-Hosted WordPress

As mentioned in great detail at the beginning of this article, this is definitely not recommended and should only be used if you have no other choice. It seems logical – your site is right there – but self-hosting videos on WordPress can lead to slow load times, and the problems compound quickly.
Large video files (even a 10-minute HD lesson can be several GB) strain your server’s CPU, memory, and bandwidth. Standard web hosting plans are not designed to serve video at scale. LearnDash video progression does work with videos in your Media Library, but that doesn’t fix the load on your server. If you must self-host, limit it to a single free preview lesson at most.

Video Protection: What Each Platform Actually Offers

If you sell an online course, your video content is the product. Letting anyone download or redistribute it undermines the whole business. Yet most course creators don’t know the layers of protection available, or how differently each video host handles them.

Encryption alone isn’t enough

Most video hosts stream in small encrypted segments (HLS with AES-128 encryption), which stops casual “save video” tools. But the player has to be given the key to play the video, and download tools can use that same key. For why, see what HLS encryption does and where it falls short.

What each layer of video protection stops: encryption, DRM, domain restriction and viewer watermark

DRM

DRM (digital rights management) keeps the key inside the device’s protected playback system: Widevine in Chrome, Edge, Firefox and Android, and FairPlay in Safari and on Apple devices. A download tool can still save the data, but the copy won’t play. Spotlightr includes Widevine and FairPlay DRM on every plan: DRM protects playback wherever the device supports it; Force DRM blocks playback everywhere else. Vimeo offers DRM only on Enterprise. Wistia doesn’t advertise it. Bunny.net offers it as an Enterprise add-on. YouTube and self-hosted WordPress have none.

Domain Restrictions

Domain restriction (or embed allow-listing) makes your embedded player work only on the domains you approve. If someone copies your embed code to another site, the video won’t load. Spotlightr supports it, and so does every self-serve Vimeo plan. YouTube doesn’t. Bunny.net and S3 + CloudFront can do it with token authentication and referrer rules, which you configure yourself.

Viewer Watermark

A viewer watermark shows details about the person watching, such as their name, email or IP address, moving over the video during playback. It doesn’t stop screen recording, but it makes a leaked copy traceable to whoever recorded it. Spotlightr offers a viewer watermark on paid plans. Vimeo’s watermarks are logo watermarks, not viewer details. YouTube, self-hosted WordPress and basic Bunny.net setups have none.

Download Protection vs. “Hidden” URLs

Some platforms call a video protected because its URL is “hidden” or “unlisted.” That isn’t protection. A hidden URL can still be found with browser developer tools, and anyone who finds it can download the file. Real protection means the file can’t be fetched, or a fetched copy won’t play. Spotlightr does this with DRM and domain restriction; see how to prevent video downloads in WordPress. Vimeo and Wistia let you turn off the download button, which hides the option but doesn’t protect the stream. YouTube videos are routinely saved with free tools.

LearnDash Video Progression: What People Get Wrong

LearnDash’s video progression feature ties lesson completion to the video: a student can’t mark the lesson complete, or move on, until they’ve watched it. It’s one of the most useful tools for making sure students actually watch rather than click through.

We have a full guide to LearnDash video progression, covering how it works in general and with Spotlightr. With the Spotlightr plugin, you choose your video in the LearnDash video progression settings, as in this screenshot:

LearnDash video progression settings with a Spotlightr video selected

What most creators get wrong

Assuming it works the same with every host. LearnDash lists Vimeo, YouTube, Wistia, Bunny.net, Spotlightr, Presto Player, Amazon S3 and videos in your Media Library as supported sources, but each has its own catches. Wistia needs its oEmbed URL and hides the video controls. Bunny.net needs the HLS playlist URL, not the iframe embed, and video of 720p or higher. A Vimeo Showcase has to be set to “Anyone”. And LearnDash can only show video controls for YouTube and Media Library videos. Read the notes for your host before you build the course.

Using the wrong URL format. LearnDash’s Video URL field accepts a watch URL, embed code or a or shortcode, but each host needs a particular one. If progression quietly doesn’t work, the URL format is the first thing to check.

Turning on autostart without controls. Browsers mute videos that start on their own. If autostart is on, make sure students can see the controls so they can turn the sound on.

Confusing “marked complete” with “actually watched.” Without video progression, students can mark a lesson complete without watching a second of it. That inflates completion rates and hides who’s really learning. Video progression closes that gap; per-student tracking tells you how much of the video each student actually watched.

Misconfiguring domain restrictions. If your video host uses domain allow-listing and your site’s referrer policy strips the information it checks, the host may refuse to serve the video, or serve it without reporting progress back to LearnDash.

Ignoring the difference between watch time and lesson completion. A student might watch 80% of a video and close the tab. Without per-student tracking, you can’t tell who dropped off or where. This is where student identity tracking matters.

Why Spotlightr’s Student Identity Tracking Changes Everything

Most video hosting platforms tell you aggregate numbers: “This video was played 247 times.” That data is almost useless for a course creator trying to understand student engagement. You don’t need to know that your lesson page got 247 plays. You need to know that Sarah watched 40% and dropped off at the billing explanation, that James rewatched the module intro three times, and that 12 students marked the lesson complete without watching past the two-minute mark.

Spotlightr can deliver this for LearnDash courses because it owns both the player and the WordPress integration. When a student logs into your WordPress site and opens a LearnDash lesson, the Spotlightr plugin passes that student’s authenticated identity – their user ID or email – through to Spotlightr’s analytics engine. Every play, pause, rewind, and drop-off is attributed to a specific person.

This means you can see:

– Per-student drop-off points – exactly where each learner stops watching, so you can identify confusing sections

– Rewatch behavior – which segments students replay, indicating either high value or insufficient clarity

– Genuine completion vs. manual marking – who actually finished the video versus who clicked “Mark Complete” to skip ahead

– Individual engagement over time – whether a student’s watch time is declining across lessons, signaling disengagement before they churn

Analytics help refine lessons based on viewer engagement data, and Spotlightr’s per-student attribution makes that refinement precise rather than guesswork.

Other hosts make this hard. Vimeo and Wistia have APIs, but matching their viewer data to your logged-in LearnDash students takes custom development that most creators can’t build or maintain. Video hosting platforms can provide advanced analytics to improve student engagement, but only when those analytics are tied to individual identities does the data become actionable for course improvement. Spotlightr built this integration natively because it was designed for exactly this use case.

Here is a screenshot of the student overview panel which details the activity by project and overall statistics like total watch time:

Spotlightr student overview: watch time and activity for each student

Here is a look at the student activity which details the video(s) watched and the heatmap of each view:

Spotlightr student activity: the videos a student watched, with a heatmap of each view

Troubleshooting: Why Videos Won’t Load or Play in LearnDash

When a video refuses to load on a LearnDash lesson, the cause is almost always one of these five issues:

Embed code problems. Modifying the embed code provided by your host – removing script tags, changing classes, or stripping attributes – can break both playback and event tracking. Always use the exact embed code or shortcode block provided. If your host offers a dedicated WordPress plugin, use it rather than pasting raw HTML.

Domain restriction and referrer policy conflicts. If your video host enforces domain restriction, your site must be on the allow-list. But certain WordPress security plugins or server configurations set a restrictive referrer-policy header that strips the domain information the host needs to verify the embed. Verify your site’s referrer policy headers if videos load in preview but fail for logged-in users.

Browser compatibility. Some older browsers do not support HLS streaming natively on desktop without a JavaScript fallback player. If students report issues on specific browsers, ensure your host’s player includes HLS.js or an equivalent polyfill for smooth playback across all environments.

CDN, firewall, or hotlink protection misconfiguration. If your WordPress site uses a CDN (like Cloudflare) with aggressive caching or hotlink protection rules, those rules can block the cross-domain scripts or video segments your player needs to load. CORS misconfigurations cause similar failures. Check your CDN’s security settings and make sure your video host’s domains are allowed.

WordPress plugin or cache conflicts. Optimization plugins that defer JavaScript, lazy-load iframes, or minify scripts can interfere with video player initialization. HTTPS mixed content errors (embedding HTTP video on an HTTPS site) also prevent playback. Test with all optimization plugins temporarily disabled to isolate the conflict.

A systematic diagnosis starts with: check the browser console for errors, verify the embed code is unmodified, confirm domain allow-lists, test with caching/optimization plugins disabled, and verify HTTPS consistency.

Which Video Host Should You Choose for LearnDash?

Choose Spotlightr if you want LearnDash video progression with per-student tracking, DRM on every plan, domain restriction, a viewer watermark, and knowledge checks, calls to action and lead capture forms in the player. For paid courses, it’s our recommendation for video hosting for LearnDash.

Choose Vimeo if a polished player matters most, your team already uses Vimeo, and your audience fits under the 2 TB monthly bandwidth limit. Video progression works, with LearnDash’s Vimeo privacy setting in mind.

Choose Wistia if marketing analytics (heatmaps, viewer drop-off) and marketing integrations are your priority, you’re willing to pay $79 a month or more, and you can live without video controls in your LearnDash lessons.

Choose Bunny.net + Presto Player if you’re technical and budget-conscious, and willing to handle token authentication, streaming setup and limited analytics in exchange for very low-cost hosting with native LearnDash video progression.

Avoid YouTube for paid course content. Use it for marketing videos, course trailers and promotional events, never for the course itself.

Skip self-hosting unless it’s a single free preview lesson. Putting a whole course in your WordPress Media Library will slow your site and leave your video files easy to download.

Consider Amazon S3 + CloudFront only if you have dedicated technical people, large-scale needs, and the budget for building the player, transcoding and security yourself. For most creators, the overhead isn’t worth the control.

LearnDash doesn’t host video itself; it relies on an outside host. The host you choose decides whether your lessons stay protected, whether progression works smoothly, and whether your student data is actually useful. For most creators selling LearnDash courses, Spotlightr gives you all three.

Frequently Asked Questions

Can I use YouTube with LearnDash?

Yes. You can embed YouTube videos in any LearnDash lesson, and LearnDash video progression supports YouTube. But YouTube is a poor fit for paid courses: unlisted videos can be shared by anyone with the link, ads and related videos distract students, and there’s no protection against downloading. Use it for trailers and promotional content, not the course itself.

Does video progression work with any host?

Not any host, but most of the big ones. LearnDash’s documentation lists Vimeo, YouTube, Wistia, Bunny.net, Spotlightr, Presto Player, Amazon S3 and videos uploaded to your Media Library. Each has its own setup notes: Wistia needs its oEmbed URL and hides the video controls, Bunny.net needs the HLS playlist URL and video of 720p or higher, and a Vimeo Showcase must be set to “Anyone”.

Can students download my videos?

It depends on your host. With Spotlightr, DRM protects playback wherever the device supports it; Force DRM blocks playback everywhere else, so a download tool can save the data but the copy won’t play. Vimeo and Wistia let you turn off the download button, which hides the option but doesn’t protect the stream. YouTube videos are easy to save with free tools, and self-hosted files can be fetched straight from the page. No platform stops screen recording, which is why a viewer watermark exists: it makes a leaked copy traceable.

Will video hosting slow down my site?

No. With an outside video host such as Spotlightr, Vimeo, Wistia or Bunny.net, the video streams from the host’s servers, not yours, so your WordPress site barely notices. Self-hosting is what slows sites down: large videos use your server’s bandwidth, CPU and memory, and a few students streaming at once on shared hosting can make the whole site unresponsive.

Do I need a CDN for video hosting?

For students in different countries, yes. A CDN (content delivery network) keeps copies of your video on servers around the world, so it loads quickly wherever students are. Spotlightr, Vimeo, Wistia and Bunny.net all include CDN delivery, and Amazon CloudFront is itself a CDN. The only setup without one is self-hosting on a standard web hosting plan.

Do I need special hosting for LearnDash itself?

LearnDash runs on WordPress, so it needs ordinary WordPress web hosting, ideally with enough memory for logged-in students, because course pages can’t be cached the way blog pages are. That’s separate from video hosting: whichever web host you choose, stream your course videos from a video host so lessons don’t slow your site down.

Video Hosting Built for LearnDash Courses

Spotlightr is built for learning: DRM on every plan, a WordPress plugin that works with LearnDash video progression, and per-student tracking for every lesson.

Try it free for 14 days. No credit card required.