OMR Reviews
find out more"I have finally found a tool that allows me to embed videos on my website in compliance with GDPR and without additional cookies."

Moodle is one of the world’s most popular learning management systems – especially in education, public institutions, and NGOs. It’s powerful, flexible, and open source. But when it comes to embedding videos, things can get technical – and often frustrating.
Moodle offers several ways to add video to your courses. Each comes with trade-offs: some are quick but limited, others need more setup but give you better results.
This guide walks through all five options, explains what works when, and helps you pick the right approach for your setup.
👉 In this article, you'll learn:
I’ll try not to get too technical – but there are a few places where it’s hard to avoid. Sorry in advance!
Let’s start with the basics: Moodle offers several ways to add content to your courses – including video. Here’s a quick overview of the most common methods:
The simplest option: upload an MP4 file into a text block, label, or file resource. Moodle plays it with its built-in VideoJS player.
When this works:
Short clips under 50 MB, simple courses with a handful of videos, or internal test environments where performance is not critical.
When it doesn't:
Video files are large. A 60-minute lecture can easily reach 1-2 GB. Most Moodle installations limit uploads to 50-250 MB. Even when you can upload larger files, every video you add increases backup size, slows down course duplication, and puts load on your Moodle server whenever multiple learners stream at the same time.
There is also no adaptive streaming. Moodle serves the same file to every device, regardless of bandwidth. A learner on a train with unstable mobile data gets the same 1080p file as someone on a university network.
The official Moodle documentation recommends external hosting once your video library grows beyond a few files.
Verdict: Fine for small experiments. Not practical at scale.
"When server space or upload limits are restricted, or if you are seeking some video player features not available within Moodle, it is convenient to upload videos to an online site like YouTube or Vimeo." – Moodle Docs
The classic workaround: upload your video to YouTube or Vimeo, copy the embed code or URL, paste it into a Moodle text editor. Moodle recognizes the link and displays the player.
When this works: Public content where privacy is not a concern. YouTube is free, familiar, and works on every device.
When it gets complicated: YouTube shows ads, suggested videos, and YouTube branding. That is distracting in a learning context. More importantly, both YouTube and Vimeo may process user data and may set cookies or local storage identifiers. For European institutions, especially in the public sector, this may create a GDPR problem.
Verdict: Quick and free, but comes with privacy baggage and limited control. Not ideal for organizations with GDPR obligations.
Looking for a privacy-compliant alternative? Ignite delivers video without cookies, without consent banners, and without data leaving the EU. See how Ignite works with Moodle →
For teams with technical resources: host video files on your own server (or a CDN) and embed them using an HTML5 player like Video.js or Plyr.
When this works: Organizations that already manage their own infrastructure and need full control over every component. Common in universities with dedicated IT departments.
When it gets complicated: You are responsible for encoding, storage, bandwidth, player maintenance, and security. There is no adaptive streaming unless you set up HLS transcoding yourself, which means running FFmpeg pipelines, managing chunk files, and configuring a streaming server. Subtitles, chapters, and accessibility features need to be built or integrated manually.
This approach works, but it is a full-time job, not a side task.
Verdict: Maximum control, maximum effort. Only practical if you have a dedicated team.
Instead of storing video files on your Moodle server, you host them on a dedicated video platform and embed them using a short HTML code snippet. You paste the code into Moodle's text editor, and the external player handles everything: streaming, quality adjustment, player rendering.

The benefits over direct upload:
This is the approach most Moodle administrators settle on once their video library grows beyond a few files. The key question is which platform you choose to host on.
When it gets complicated: as soon as you want to have advanced features like view time tracking or similar. In the end, it's just an embed.
For organizations managing dozens or hundreds of videos across multiple courses, the embed-code approach can become tedious. The MediaTime plugin by BDcent solves this by creating a centralized video library directly inside Moodle.

How it works: MediaTime organizes videos on three levels: site-wide, by category, and per course. The Ignite connector syncs your hosted videos into that library automatically, including metadata, tags, and poster images. Course creators browse the library in the Moodle file picker, select a video, and embed it. No embed codes to copy, no tabs to switch.
What makes this different from method 4:
Who this is for: Universities, corporate training departments, academies, and any organization where multiple people create courses and need access to a shared video library.
MediaTime is available in the Moodle Plugin Directory. The Ignite connector is live and in production use.
For the full picture, including the partnership with BDcent, feature details, and FAQ:
Explore the MediaTime integration →
Let´s see ...
You run a small Moodle setup with a handful of videos.
Start with method 1 (direct upload) or method 4 (external hosting with embed code). Both are quick, need no plugin, and get you started in minutes.
You need GDPR compliance and European hosting.
Avoid embeds from US-Hosters unless you have a solid consent setup. External hosting with a European provider (method 4) gives you a clean solution. If you want everything inside Moodle, the MediaTime plugin (method 5) keeps your team in one place.
You manage a growing video library across multiple courses.
Embed codes get tedious when you have 50+ videos and several course creators. MediaTime (method 5) gives you a central library with search, permissions, and reuse across courses.
You need completion tracking for certification or compliance training.
Methods 4 and 5 both work, combined with the VideoTime plugin for watch tracking, gradebook integration, and fast-forward blocking.

Ignite is a European video hosting platform built for exactly these use cases. Hosted in Europe with adaptive HLS streaming and AI-generated subtitles in many languages. You get full control over player design, access restrictions, and content protection.
With Moodle, Ignite works on every level: a simple embed code for quick setups, HLS stream URLs for VideoTime tracking, or the full MediaTime integration for a central video library inside your LMS. The embed code works in any Moodle version, no plugin needed.
Step-by-step guides, the full integration overview, and a DPO compliance checklist:
Moodle integration page →
Details on the MediaTime plugin and the partnership with BDcent:
MediaTime integration →
Then you can try all features for 30 days completely free of charge. No up front subscription, no need for payment details. Of course, we can also schedule a personal demo to show you what's possible with Ignite.