VideoKavach for Moodle
A tiny text filter that turns [videokavach id="…"] into a watermarked, encrypted player. Drop it in any rich-text editor across your Moodle site.
GPL_v3 · REQUIRES_MOODLE_3.9+ · PHP_7.4+
What it gives you
Built for coaching institutes, universities, and online academies that already use Moodle for their LMS.
Anywhere a rich text editor lives
Course descriptions, lesson pages, forum posts, book chapters, assignment intros, quiz feedback — drop the shortcode and it just becomes a video.
Configurable watermark template
Choose what gets stamped on each viewer's frame. Use {email}, {fullname}, {username}, {id}, {ip} — alone or combined.
Automatic viewer identity
The current Moodle user is wired into VideoKavach as the watermarked viewer. No JWT signing, no API keys to wire up — just install and use.
Responsive by default
Modern aspect-ratio CSS inlined directly into the output. Works on any Moodle theme without enqueuing extra stylesheets.
Stays out of Moodle's way
Doesn't touch the database, doesn't add capabilities, doesn't create activities. A pure text filter — uninstall just removes it.
Companion to mod_videokavach
Use this filter for the simple drop-anywhere case. For full LMS integration with signed tokens and OTP, the mod_videokavach activity module handles that separately.
INSTALLATION
Four short steps
- 01
Install the plugin
In Moodle: Site administration → Plugins → Install plugins. Upload the ZIP. Moodle will walk you through the upgrade and database steps automatically.
- 02
Enable the filter
Site administration → Plugins → Filters → Manage filters. Set VideoKavach to On (active everywhere) or Off, but available (per-course opt-in).
- 03
Configure the watermark
Open Site administration → Plugins → Filters → VideoKavach. Set the watermark template — default
{email}works for most setups. Try{fullname} ({email})for richer attribution. - 04
Use the shortcode
In any course description, lesson, forum post, or page, paste
[videokavach id="YOUR_VIDEO_ID"]. Save. The filter replaces it with the player on the next page render.
USAGE
One shortcode, anywhere
Works inside the Atto editor, TinyMCE, plain HTML mode, forum posts, glossary entries — anywhere Moodle runs its filter chain on text.
[videokavach id="abc123def456"]Optional attributes:
[videokavach id="abc123" aspect="4:3" autoplay="1"]Shorthand [kavach id="…"] also works.
WATERMARK
You control what gets stamped
Each viewer's video carries a personalised watermark, drawn live on every frame. The template is a Moodle admin setting — change it once and it applies site-wide.
{username} · {id}→ alice · 12
When emails are anonymised
Supported placeholders: {email}, {username}, {fullname}, {id}, {ip}.
Common questions
Does this conflict with the existing mod_videokavach activity module?+
No — they're independent. The filter is a pure text-replacement plugin (filter/videokavach/). The activity module (mod/videokavach/) handles richer integration with signed tokens. You can install one, the other, or both side by side.
Will it work in the Moodle Mobile App?+
Not yet. The Moodle Mobile App sanitises iframes out of filter output for security. We're working on a mobile template path. For now, the filter works perfectly in any web browser.
Do students need a separate VideoKavach account?+
No. The filter creates per-viewer sessions automatically using each Moodle user's identity. Students don't see videokavach.com at all — only the embedded player.
How does the watermark identify the right student?+
The filter substitutes placeholders ({email}, {fullname}, etc.) from the currently logged-in Moodle user and passes that to VideoKavach. The watermark text is rendered on every frame, traceable in any screen recording.
What if my Moodle test user doesn't have an email?+
Use {fullname} or {username} in the watermark template instead — those are always present. You can mix: {fullname} ({email}) gracefully shows just the name when email is missing.
Get going in five minutes
Free plugin, free VideoKavach account to start. Upgrade only when your storage or bandwidth needs grow.