Seeking Guidance: Tracking Attendance in SCORM with Embedded Streaming Video (HLS) – Without Forcing User Actions

Seeking Guidance: Tracking Attendance in SCORM with Embedded Streaming Video (HLS) – Without Forcing User Actions

by Makseem Mak -
Number of replies: 1
Hello Moodle Community,
 
I’m reaching out for help regarding an issue I’ve encountered with tracking attendance for videos inside SCORM when using HLS or embed stream links from a third-party video hosting service.
 
The Issue
 
I’ve noticed that if I embed a video stream link (HLS or iframe) from an external video hosting service (e.g., Bunny.net, Vimeo, AWS S3) inside a SCORM package, Moodle does not track whether the learner actually watched the video.
 
The SCORM package seems to have no way of detecting:
•If the video was played
•If the learner watched the full video
•If they skipped or fast-forwarded
 
Since the video is hosted externally and not inside the SCORM package itself, SCORM only tracks whether the module was opened, not the video completion.
 
What I Need Help With
•I do not want to add logic conditions like “Click to Confirm Completion.”
•I only want the video to be watched, and SCORM should automatically mark it as completed when the video ends.
 
The Dilemma: Should I Upload Videos Directly into SCORM?
 
To ensure proper tracking, one option is to upload the video file directly inside the SCORM package, instead of embedding a streaming link. However, this raises concerns:
•LMS Performance Issues: Large video files inside SCORM may slow down Moodle.
•Storage Consumption: Hosting videos inside SCORM increases the size of backups and restores.
•Streaming Performance: SCORM loads the entire video, unlike HLS which streams efficiently.
 
Questions for the Community
1.Is there any way for SCORM to automatically track video completion when using an HLS streaming link?
•I do not want students to manually click any “I’ve completed this video” button.
•I just want SCORM to detect when the video ends and record it as completed.
2.Should I upload the videos directly into SCORM, despite performance concerns?
•Will Moodle handle large SCORM packages efficiently if videos are embedded directly?
•How do other users manage video-based SCORM tracking without affecting LMS performance?
3.Are there alternative methods to track video completion while keeping the SCORM structure intact?
•Has anyone successfully used xAPI/Tin Can API for tracking externally streamed videos?
• also I don’t want to integrating an H5P Interactive Video inside SCORM be a possible solution
 
I really appreciate any insights, solutions, or best practices from those who have tackled this before.
 
Thanks in advance!
Average of ratings: Useful (1)
In reply to Makseem Mak

Seeking Guidance: Tracking Attendance in SCORM with Embedded Streaming Video (HLS) – Without Forcing User Actions

by Eduardo Kraus -
Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

Hello Makseem Mak!

Tracking video completion inside a SCORM package with external streaming can be tricky, but nothing that a good technical adjustment can't solve!

If you want to keep the video inside SCORM, the most effective solution is to create logic that listens to playback events from the video player. Some players allow triggering JavaScript events when the video starts, pauses, or ends. With this, you can send these events to SCORM using SCORM 1.2 or SCORM 2004 API (setValue('cmi.core.lesson_status', 'completed')). This approach requires the video player to support this JavaScript communication.

On the other hand, if you don’t need the video to be inside SCORM, I recommend using the SuperVideo plugin (https://moodle.org/plugins/mod_supervideo). It allows for more efficient control over student progress, ensuring that the video is watched before unlocking the next content. SuperVideo offers advanced options, such as mandatory full viewing, progress blocking, and integration with detailed reports within Moodle itself. This way, you keep the experience smooth without compromising LMS performance!

If you need any more help, we’re here for that! 🚀

Eduardo Kraus
Innovation and new products

Average of ratings: Useful (2)