Embedded Videos Sometimes Truncate and Sometimes Loop
I'm using Captivate 2019 (release #11.5.5.553). For context, here's what I'm doing and what I'm observing:
1. I create a video as an MP4 file (using a different screen capture tool, not Captivate).
2. I upload that MP4 file to Vimeo (to serve as the video host/streaming service because our LMS server is not as efficient at streaming video).
3. In Captivate, on a blank slide, I click on "Interactive Video," and I insert the Vimeo URL for the video.
4. I do this for all of the slides in my Captivate project. (And to clarify, a single Captivate project for me may have anywhere from 10 to 27 slides, each one with an embedded Vimeo link. My Captivate projects consist *only* of a series of Vimeo-hosted videos. There's nothing else in our Captivate projects. We use Captivate only for SCORM publishing to work with our LMS.)
5. To publish the Captivate project as a SCORM .zip file, I select "SCORM 1.2" in the "Quiz Prefernces" window. (And to clarify, our LMS supports only SCORM 1.2.)
6. I publish the Captivate project as a .zip file using the HTML5 output format.
7. I upload the SCORM .zip file to our LMS and make it available to our clients.
The problem is: sometimes, at the end of a video, it will loop back to the beginning of that video and begin playing again for some duration of time before advancing to the next slide/video. And sometimes, the end of a given video gets truncated--sometimes by a few seconds, sometimes by a minute or two, and sometimes, that same video isn't truncated at all.
It's an inconsistent problem. Only some clients see this problem occur. And those clients see this problem occur only some of the time...even when playing that same video multiple times. It's very frustrating.
The only hypothesis that we've come up with that makes sense is the following:
When you embed a video in a Captivate slide from an external source (e.g., YouTube, Vimeo), Captivate queries the video source at the moment you insert it in a slide to determine how long the video is. Captivate then sets the slide duration to match the length of that video. Then, at playback time, Captivate doesn't actually know when the linked video comes to its natural end, it simply advances to the next slide automatically when the slide duration timer expires. And this could produce the two problems I mention above:
1. If (for some reason) the video playback takes longer than its advertised duration (because of lag in the YouTube or Vimeo server), the internal Captivate slide duration timer will expire and advance to the next slide before the video playback actually finishes...and thus the end of the video appears truncated.
Or,
2. If (for some reason) the video playback takes less time than its advertised duration, the video playback will (actually) finish before the internal Captivate slide duration timer expires, and the result is that the video loops back to the beginning and begins playing again. Then when the internal Captivate slide duration timer expires, it ends that (second) playback of the video and advances to the next slide/video.
Our clients have observed both of these problems. And both are explained by the same underlying root cause: the only communication between a published Captivate project and an external video streaming service (YouTube, Vimeo) occurs at the moment when you advance to a particular slide in the project. At that moment, the Captivate project follows the link you embedded in the slide to trigger playback of that video...and that's it. From that point forward, there's no further communication with that external video streaming service while the triggered video is playing back, so the published Captivate project has no way of knowing when the video reaches its end; it advances to the next slide when its internal slide duration timer expires.
I have read several other posts on this forum mentioning the truncation problem. But I haven't yet found a solution that works. Ideally, Adobe would implement a solution within Captivate itself. As a short-term solution, I had the thought of stopping Captivate from automatically advancing to the next slide when the slide duration timer expires. Instead, it should wait for the user to click somewhere (either on the slide or in the Table of Contents) before advancing. In theory, this should solve the truncation manifesation of the problem, but it wouldn't solve the loopback-and-replay manifestation of the problem.
I would appreciate any insights that others may have on this issue.
Sincerely,
Lenny
