JELLYCC-CLI(1)

NAME

jellycc-cliA CLI to ensure Jellyfin Direct Play compatibility.

SYNOPSIS

INFO

85 stars
1 forks
0 views
TypeScriptMedia & Images

DESCRIPTION

A CLI to ensure Jellyfin Direct Play compatibility.

README

JellyCC CLI

A smart CLI that diagnoses, audits, repairs, standardizes, and optimizes your media to ensure Direct Play on Jellyfin.

🇬🇧 English | 🇧🇷 Português (Brasil)

JellyCC CLI Screenshot

✨ Features

  • 🔍 Compatibility Analysis — Compatibility matrix for Direct Play per Jellyfin client (Chrome, Firefox, Android TV, etc.).
  • 🚀 Cleanup (Remux) — Re-wraps to MKV without re-encoding, preserving the original quality.
  • 🔄 Conversion (Transcode) — Converts to Direct Play codecs (H.264 8-bit / AAC, EAC3, or FLAC) with configurable fallback rules.
  • 🔧 Forced Repair — Fixes files with corrupted timestamps via an intermediate pipeline (.w64/.mp4).
  • 🔬 Quick Scan + Deep Scan — Checks container integrity and analyzes frame by frame looking for artifacts and errors.
  • 🔬 Myopic Scan — Deep Scan restricted to selected tracks.
  • 🎛️ Track Selection — Choose which video, audio, and subtitle streams to keep in the final file.
  • ⏱️ Sync Adjustment / End Cut — Defines time offset and end cut to avoid lip-sync issues.
  • 🔀 File Merging — Merges tracks from two files into a single MKV, with automatic/manual sync and Strict Mode.
  • 🏷️ Tag Editing — Edits language (e.g., por, eng, jpn) and title for each track.
  • 🌐 Internationalization — Interface in English (en-US) and Brazilian Portuguese (pt-BR).
  • ⚠️ Embedded Junk Detection — Detects and removes covers/thumbnails and PGS subtitles that force transcoding.

🛠️ Prerequisites

📦 Installation

[!IMPORTANT] Make sure FFmpeg and FFprobe are installed globally on your system, as JellyCC strictly depends on them to perform analysis and conversions.

Run the installation script:

curl -fsSL https://raw.githubusercontent.com/parkejunior/jellycc-cli/main/install.sh | bash

🚀 Usage

Analysis and Cleanup

To analyze a video file, run the command:

jellycc

Or if you prefer, you can open the file directly in the terminal:

jellycc check [path/to/file]
# or
jellycc [path/to/file]

If you want to run the full analysis, include the --deep-scan parameter:

jellycc check [path/to/file] --deep-scan

Merging

To merge multiple files into a single MKV, run the command:

jellycc merge

Configuration

If you want to change the interface language or create a rules.json config file, run the command:

jellycc config

[!TIP] Drag and drop the video file directly into the terminal to automatically fill in the path.

[!NOTE] The result is saved in the same folder as the original media with the suffixes .jellycc.mkv or .jellycc_merged.mkv.

☰ Interactive Menu

After analyzing a file, an interactive menu is displayed with the following options:

  • 🚀 Cleanup (Remux) — Re-wraps without re-encoding.
  • 🔄 Conversion — Converts incompatible codecs for Direct Play.
  • 🔧 Forced Repair — Re-encoding via an intermediate pipeline for files with corrupted timestamps.
  • 🎛️ Modify tracks — Selects which video, audio, and subtitle streams to keep.
  • ⏱️ Adjust Sync / End Cut — Defines time offset and end cut.
  • 🔍 Deep Scan — Frame-by-frame analysis of all tracks.
  • 🔬 Myopic Scan — Deep Scan only on selected tracks.
  • 🏷️ Edit Tags — Edits language and title of each track.

⚙️ Configuration

You can see the full list of configuration options in the configuration documentation.

⚖️ License

JellyCC is licensed under the terms of the MIT + Commons Clause.

SEE ALSO

clihub5/20/2026JELLYCC-CLI(1)