Skip to content

Media Library Management

The media library is where you manage all your learning materials. You can import video and audio files, organize them, and quickly find what you need.

Importing Media

Supported Formats

  • Video formats: MP4, WebM, MOV, etc.
  • Audio formats: MP3, WAV, OGG, etc.

Import Methods

  1. Click "Import" or "Upload" button
  2. Select files to import
  3. Wait for upload and processing to complete
  4. Files will appear in the media library

Browsing and Searching

Browsing Media

  • Media library displays all media in grid or list view
  • Sort by name, date, type, etc.
  • Support pagination browsing

Search Function

  • Use search box to quickly find media
  • Search by title, tags, etc.
  • Search results update in real-time

Media Management

Editing Information

  • Click media card to edit title, description, etc.
  • Add tags for categorization and searching

Deleting Media

  • Select media and click delete button
  • Deletion cannot be undone, please be careful

Playing Media

  • Click media card or play button to start playback
  • Player will automatically load subtitles (if available)

Cover Images

Enjoy generates cover thumbnails automatically so every video and audio has something to show in the library grid, the Continue Learning sidebar card, and the mini player bar.

What Gets a Cover

Media sourceCover
Video imported from YouTube or another provider with a thumbnail URLProvider thumbnail
Local video file (MP4, WebM, MOV, etc.)JPEG frame extracted from the file
Local audio file with embedded artworkEmbedded artwork
Anything elseA generated cover, seeded from the media ID

How Local Video Covers Work

When you import a local video, Enjoy decodes the file in the browser, seeks to about 10% of the duration, and captures a single frame as a JPEG (max width 320px, quality 0.85). The frame is stored in your local database alongside the video and reused wherever the video appears.

  • Extraction runs once per video and is skipped if it has already been attempted.
  • Frames are extracted lazily — when a video without a cover is rendered, Enjoy extracts one in the background and updates the card once it is ready.
  • If extraction fails (unsupported codec, missing file handle, browser blocks decoding), the video falls back to a generated cover instead of a blank tile.
  • Files are never uploaded to extract the frame. The whole pipeline runs locally.

Refreshing a Cover

Covers are generated from the file as-is. If you replace a file or want a different frame:

  1. Delete the video from the library.
  2. Re-import the file.
  3. Enjoy will treat it as new and capture a fresh frame.

Organizing Media

  • Use tags to categorize media
  • Create favorites to save frequently used content
  • Filter by language, difficulty, etc.