> ## Documentation Index
> Fetch the complete documentation index at: https://docs.junojourney.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Video Playback Issues

> Video not playing, freezing, or showing a blank screen? Common causes and fixes.

export const InternalNote = ({children}) => {
  const [isInternal, setIsInternal] = useState(false);
  useEffect(() => {
    const user = window.__mintlify_user__;
    if (user?.groups?.includes("internal")) setIsInternal(true);
  }, []);
  if (!isInternal) return null;
  return <div className="internal-note">
      <strong className="internal-note-title">🔒 Internal Note</strong>
      <div>{children}</div>
    </div>;
};

## Video won't play or shows a blank area

**Try these first:**

1. Refresh the page
2. Check your internet connection
3. Try a different browser — Chrome and Edge work best
4. Disable browser extensions (ad blockers and privacy extensions can block video embeds)
5. Clear your browser cache and cookies

***

## YouTube videos

YouTube content is embedded directly in Juno. Common issues:

* **Network blocking**: If your company's network or firewall blocks `youtube.com`, embedded videos won't load. Try on a different network (e.g. mobile data) or contact your IT team.
* **Video unavailable**: The video may have been set to private or removed by the creator. Contact your admin to update the content.
* **Aspect ratio**: YouTube videos display in a fixed 16:9 ratio. Black bars may appear if the original video has a different aspect ratio — this is normal.

***

## Uploaded videos

Videos uploaded directly to Juno (not from YouTube or Vimeo):

* **Still processing**: Recently uploaded videos may take a few minutes to become available. If the video was just added, wait and try again.
* **Blank player**: If the video area appears but nothing plays, the file may be in a format your browser doesn't support. Contact your admin.
* **Slow loading**: Large video files on a slow connection may take time to buffer. Wait for the loading indicator to complete.

<InternalNote>
  Juno uses React Player (v1.15.3). Videos are stored in Firebase/GCS. There is no server-side transcoding pipeline — videos play in their uploaded format. If a video fails, the player sets an internal `errorPlaying` state and falls back to a content card — the user sees no error message, just a blank area or frozen frame. Check: (1) the video URL is valid and accessible, (2) for YouTube, the video must be public or unlisted (not private), (3) for uploaded files, verify the URL resolves in a browser.
</InternalNote>

***

## Video controls

Juno's video player supports:

| Control            | What it does                        |
| ------------------ | ----------------------------------- |
| **Play/Pause**     | Start or stop playback              |
| **Seek bar**       | Jump to any point in the video      |
| **Volume**         | Adjust volume or mute               |
| **Playback speed** | Choose 0.5x, 1x, 1.25x, 1.5x, or 2x |
| **Fullscreen**     | Expand to fill your screen          |

If any controls are missing or unresponsive, try refreshing the page.

***

## SCORM content not loading

SCORM content (interactive e-learning modules) opens in an embedded viewer within Juno.

**Common issues:**

* **Blank frame**: The embedded viewer may fail to load. Try refreshing the page or clearing your browser cache.
* **"No valid SCORM file found"**: The uploaded package has an error. Contact your admin — they may need to re-upload the SCORM file.
* **Progress not saving**: SCORM packages control their own completion tracking. If you've finished the module but Juno still shows it as incomplete, the package didn't send a completion signal. Contact your admin to manually mark it complete.

<InternalNote>
  SCORM uses an iframe-based player (`scorm-v2-player.html`) with the `scorm-again` library. Communication between Juno and the SCORM package is via `postMessage`. Check for `zipExtractError` flag on the unit — this means the SCORM zip extraction failed. Completion is tracked via CMI data (`cmi.core.lesson_status` for SCORM 1.2, `cmi.completion_status` for SCORM 2004). If completion isn't recording, check the evaluation method: `byScore` tracks `cmi.score.raw`, while `byCompletion` (default) tracks lesson\_status. SCORM 1.2 `suspend_data` is capped at 4096 bytes — packages that exceed this may lose progress.
</InternalNote>

***

## Recording playback issues

If your organization uses Juno's built-in video recording feature:

* Recordings are saved in **WebM format**. Most modern browsers support this, but Safari on older macOS versions may not.
* If you can't play back a recording, try opening it in Chrome.
* Download failures may show a "format not supported" message — this is a browser limitation, not a Juno error.
