Introducing TruePlayer 🚀

Advanced Video Player for WordPress.

00
Days
:
00
Hours
:
00
Minute
:
00
Second
TruePlayer

Category: News & Updates

  • Introducing TruePlayer: video that proves your students watched.

    Introducing TruePlayer: video that proves your students watched.

    A new plugin from our team, and the story of why we deliberately built it outside Academy LMS instead of inside it. Free to start, and most of you will never need to pay for it.

    Two questions have followed us around for a long time now. They arrive in support tickets, in Facebook groups, in demo calls, and almost always in the same week somebody launches their first paid course.

    “Can I stop students skipping to the end?” And the harder one: “A student says they never watched the training. Can I prove they did?”

    We had no good answer. Academy’s course player plays the lesson, remembers the position and marks the lesson complete, which covers what most courses need. But that completion is reported by the learner’s browser, and a browser will happily tell you a video finished when somebody muted the tab and went to make coffee. For a free onboarding course, nobody cares. For a paid certification that somebody outside your business relies on, it is the only thing that matters.

    So today we are releasing TruePlayer: a WordPress video and audio player that records what people genuinely watched, on the server, where the browser can’t argue with it. The player is free, it works with or without an LMS, and this post is both the announcement and an honest account of why we built it as a separate plugin rather than growing the course player.

    TruePlayer is a standalone WordPress video and audio player. The free plugin is a complete player with no course or video limits. The paid tier adds the parts that track, prove, protect and automate.

    • Free: five skins, thirteen toggleable controls, chapters, subtitles, playlists, interactive content, resume-where-you-left-off, and sources covering your media library, YouTube, Vimeo and any direct file.
    • Pro: server-side watch verification, in-video quizzes with lock-on-fail, signed and expiring video links, an identity watermark, a real analytics dashboard, and signed webhooks.
    • With Academy: playback gates to enrolled learners, and finishing the video marks the lesson complete on its own.
    • Separate plugin, on purpose: install it the day you need it, and carry nothing until then.

    Why we said no to putting this in the LMS

    This is the part we want to be straight about, because “we built a second plugin” can easily read as us trying to sell you something twice.

    When the requests started stacking up, the obvious move was to build them into the course player. We planned exactly that. Then we stopped, for two reasons.

    Most of you genuinely don’t need it

    Here is the thing nobody selling video wants to say out loud. The majority of people running courses on Academy should embed a YouTube or Vimeo link and get on with writing lesson five.

    That isn’t a compromise, it’s the right call. A hosted embed gives you global delivery, adaptive quality, automatic captions and a bandwidth bill of zero. If your lessons are shareable anyway and your completion carries no legal or financial weight, watch verification buys you nothing and costs you page weight.

    Building a full video engine into the LMS would have made Academy heavier and its settings deeper for every single user, in order to serve the smaller group who need enforcement. The people who wanted none of it would have paid for it in load time and clutter every day. That is a bad trade, and it is not one anyone agreed to.

    We were about to make the LMS worse for the majority in order to serve the minority. That’s when we stopped.

    And the requests never converge

    The second reason is that “better video” turned out to be four different products wearing one name.

    A compliance trainer wants strict must-watch and an audit trail. A course creator wants a retention curve and a nicer skin. A membership site wants signed links and a watermark. A school wants none of it and would like the settings page to be shorter, thank you.

    Every one of those, added to the LMS, becomes another settings tab that everybody else scrolls past to reach the setting they actually came for. Multiply that by four and the course builder stops feeling like a course builder.

    So we built it next door

    A separate plugin solves both problems at once. Install it when you hit the wall. Ignore it entirely until then. Academy stays the size it should be, and the people who need enforcement get a tool built properly rather than bolted on.

    The same reasoning runs through everything else we make, which is the whole argument behind the Kodezen ecosystem. Products stay specialist. You assemble the ones your business needs.

    What the free plugin gives you

    The free version is a complete player, not a trial. We want to be clear about that because “free tier” usually means “the paid one with the useful bits removed”.

    The player itself

    Five skins to pick from, and thirteen controls you can each turn on or off individually, so a sales video and a lesson video can look nothing alike. Playback speed, picture-in-picture, keyboard shortcuts, and full control over the accent colour, play-button style, corner rounding and control-bar treatment.

    Sources cover your WordPress media library for both video and audio, YouTube, Vimeo, and any direct MP4 or WebM URL. Six aspect ratios including 9:16, for anyone cutting lessons for vertical.

    Two settings are worth knowing about on day one. Resume where you left off brings a returning learner back to the second they stopped. Load strategy lets the player show a poster and load nothing until somebody clicks, which is the single biggest thing you can do for the Core Web Vitals of a page with video on it.

    The details that keep people watching

    Chapters render as a segmented scrubber with hover tooltips and a live chapter name, the way people already expect from watching video everywhere else. Multi-track subtitles are supported, along with caption size, colour, background and opacity, and there’s a best-effort importer for pulling a YouTube video’s existing captions across.

    You can put your logo over the picture, add call-to-action overlays at a timestamp or at the end, and write custom CSS per video when a client wants something specific.

    There is also a free no-skip mode, which blocks seeking past the furthest point somebody has genuinely reached while still allowing rewind. It runs in the browser, so it isn’t proof of anything, but it handles ordinary impatience and costs nothing.

    Playlists and interactive lessons

    Playlists come in sidebar or grid layouts with autoplay-next, which is the fastest way to turn a set of recordings into something that feels like a course module. There’s also a bundled engine for interactive content, so branching scenarios and in-video interactions work without a second plugin.

    Everything embeds through a block or a shortcode, and site-wide defaults mean you set your look once and override it only where a specific video needs something different.

    Bringing your existing library across

    If you already use a WordPress video player plugin, there’s an importer that scans your library and pulls the videos across with their settings. It’s safe to run twice. We built it because we were not going to ask anyone to re-enter their whole library by hand just to try our thing.

    What Pro adds

    Everything above is the player. Pro is the part that tracks, proves, protects and automates, and it is the reason the plugin exists at all.

    Watch verification, the feature we built this for

    While a video plays, the player sends a heartbeat saying which second is currently running. The server merges those into a record of unique seconds watched. The browser never gets to announce a completion, it only reports that a particular second played, and the server decides what that adds up to.

    The practical difference: a learner who drags the scrubber to the end reaches a position of 100% while their coverage barely moves, because almost none of those seconds ever played. One of those numbers you can defend, the other you cannot.

    Completion defaults to 90%, which tolerates end credits and somebody closing the tab a few seconds early. Strict mode raises it to 100% and turns on anti-skip at the same time, for safety and regulatory material where partial genuinely fails. Anti-skip refuses seeks into unwatched territory and carries two guards behind it, one for the learner who drags the scrubber and one for the learner who discovers that 16x playback exists.

    Quizzes inside the video

    Checkpoint questions sit at timestamps in the middle of a video, and a final quiz sits at the end. Both grade on the server, with the correct answers stripped out of the page before it’s sent, so viewing the source shows the questions and nothing else.

    Fail past the attempt limit and the video locks. A retry clears the coverage record along with the score, so the learner sits through the material again before their next attempt. You can unlock or reset any individual person from the admin when somebody has a legitimate reason, which they sometimes do.

    These sit alongside Academy’s quiz builder rather than replacing it. Checkpoints hold attention. Course quizzes do assessment.

    Keeping the file out of the wrong hands

    Self-hosted videos can be served through a signed, expiring link, so the real file location never appears in your page source and a copied URL stops working on a schedule you set. CDN pull zones get token authentication for the same effect.

    The dynamic watermark burns the viewer’s own identity into the picture, resolved on the server so the browser never decides whose name to show, and it can drift slowly across the frame to defeat the obvious crop.

    We’ll be honest about the limits, because plenty of vendors aren’t. You cannot stop somebody pointing a phone at their monitor, and no product on the market can, whatever the sales page says. What you can do is remove every effortless path, which is where almost all real leakage happens.

    Analytics about learners, not view counts

    A view count tells you a video was popular. A retention curve shows you the exact moment people leave, which is usually the tangent you already suspected you should have cut.

    The dashboard has the retention curve, a replay heatmap that calls out the biggest drop-off and the most re-watched moment, a completion funnel, views over time, device split, new versus returning, quiz performance and an engagement score. Alongside Academy’s own course analytics, that gives you the shape of the video and the shape of the course.

    The screen we use most is the per-learner drill-down: one person’s heatmap, their quiz attempts, and reset and unlock buttons in the same view. It’s what you want open when somebody emails to say they’re stuck.

    A free install collects none of this and writes nothing to your database. That’s a privacy position as much as a licensing one.

    Automation

    Every meaningful event fires a signed webhook: started, completed, quiz passed, quiz failed, locked, unlocked. They’re HMAC-signed and sent in the background, with site-wide and per-video endpoints, a test-fire button and a delivery log so you can see exactly what failed and why. Contacts captured from an in-player opt-in can go straight to your CRM.

    Free and Pro, side by side

    Capability

    Free

    Pro

    Player, skins and controls

    Everything

    Two extra skins

    Sources

    Media library, YouTube, Vimeo, direct URL

    Premium CDN and streaming sources

    Chapters, subtitles, overlays

    Yes

    Yes

    Playlists and interactive content

    Yes

    Yes

    Skip prevention

    Browser-side no-skip

    Server-enforced anti-skip

    Proof of watching

    Not collected

    Server-recorded coverage

    In-video quizzes and locking

    No

    Yes, graded server-side

    Private and expiring video links

    No

    Yes, plus identity watermark

    Analytics dashboard

    Nothing stored

    Full, including per-learner

    Webhooks and CRM

    No

    Yes, signed and logged

    Academy lesson sync

    No

    Yes

    How it works with your Academy courses

    Splitting the two only works if they talk to each other, so the bridge was part of the plan from the first commit.

    Map a video to a course and lesson with two dropdowns in the video editor. From then on, a lesson video refuses to play for anybody who isn’t enrolled and shows an enrol prompt instead of a broken frame. When the learner finishes the video or passes the gate quiz, the mapped lesson is marked complete on its own. The video becomes the thing that moves the course forward rather than a decoration sitting next to a Mark Complete button.

    On top of that sits completion attestation: watch and quiz records turned into a signed, tamper-evident record with a records table, CSV export, a public verification page and a printable certificate. Revoke a completion and its certificate stops verifying. Academy’s certificate builder decides how the certificate looks. Attestation decides whether anyone should believe it.

    Drip release works the same way, with an availability date per video that lines up with Academy’s content dripping.

    Who shouldn’t install this

    Every launch post tells you who a product is for. Here’s the other half, because we would rather you skipped it than installed it and wondered why nothing improved.

    Your courses are free, or completion has no consequence

    Skip it. Embed YouTube or Vimeo, keep the Academy course player, and spend the afternoon on lesson five instead.

    You just want a nicer-looking player

    Install the free version and stop there. It does the whole job and we are not going to nag you about upgrading.

    You issue certificates other people rely on

    This is the case we built it for. A browser-reported completion will not survive the first person who questions it.

    You run compliance or safety training

    Strict mode, anti-skip and an exportable attestation record are the requirement. The audit trail will matter more to you than the analytics.

    Where it is today, and what’s next

    TruePlayer is available today. The free plugin costs nothing and has no limits, and the Academy sync runs on the paid tier. If you are already on an ecosystem plan, check your add-ons, because it may already be sitting there waiting to be switched on.

    What we are working on next comes mostly from the same support conversations that started this: deeper reporting exports, more CRM connections, and better tooling for people running the same training across many sites. If your situation isn’t covered, tell us. That is genuinely how most of this roadmap got written.