A CLI to ensure Jellyfin Direct Play compatibility.
See the codeA smart CLI that diagnoses, audits, repairs, standardizes, and optimizes your media to ensure Direct Play on Jellyfin.
π¬π§ English | π§π· PortuguΓͺs (Brasil)
.w64/.mp4).por, eng, jpn) and title for each track.[!IMPORTANT] The installation script currently downloads native binaries for Linux (x86_64 / ARM64). macOS native binaries are coming soon! For Windows, use Docker below.
Run the installation script:
curl -fsSL https://raw.githubusercontent.com/parkejunior/jellycc-cli/main/install.sh | bash
Run JellyCC in a container on any operating system (Linux, macOS, or Windows / WSL2) without needing FFmpeg installed on your host system.
Run directly against your media directory:
docker run --rm -it -v /path/to/media:/media ghcr.io/parkejunior/jellycc-cli:latest
# Run in the current directory
docker compose run --rm jellycc
# Run against a specific media folder
MEDIA_DIR=/path/to/media docker compose run --rm jellycc
# Run a specific command
MEDIA_DIR=/path/to/media docker compose run --rm jellycc check "file.mkv"
[!NOTE]
MEDIA_DIRmounts to/mediainside the container (defaults to current directory if unset). Output files are saved back to the mounted folder. User settings in~/.config/jellyccare persisted when using Docker Compose.
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
To merge multiple files into a single MKV, run the command:
jellycc merge
[!NOTE] By default, JellyCC merges files using Optimized Full Repair (extracting and aligning streams individually to prevent sync issues and trailing silence). You can choose Legacy mode from the menu to do a direct remux without temp files if the source streams have fully healthy structures and timestamps.
For automatic audio alignment between different files, see Smart Spectrum Sync.
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.mkvor.jellycc_merged.mkv.
After analyzing a file, an interactive menu is displayed with the following options:
You can see the full list of configuration options in the configuration documentation.
JellyCC is licensed under the terms of the MIT + Commons Clause.
TypeScript
98.9%
A CLI to ensure Jellyfin Direct Play compatibility.
See the codeA smart CLI that diagnoses, audits, repairs, standardizes, and optimizes your media to ensure Direct Play on Jellyfin.
π¬π§ English | π§π· PortuguΓͺs (Brasil)
.w64/.mp4).por, eng, jpn) and title for each track.[!IMPORTANT] The installation script currently downloads native binaries for Linux (x86_64 / ARM64). macOS native binaries are coming soon! For Windows, use Docker below.
Run the installation script:
curl -fsSL https://raw.githubusercontent.com/parkejunior/jellycc-cli/main/install.sh | bash
Run JellyCC in a container on any operating system (Linux, macOS, or Windows / WSL2) without needing FFmpeg installed on your host system.
Run directly against your media directory:
docker run --rm -it -v /path/to/media:/media ghcr.io/parkejunior/jellycc-cli:latest
# Run in the current directory
docker compose run --rm jellycc
# Run against a specific media folder
MEDIA_DIR=/path/to/media docker compose run --rm jellycc
# Run a specific command
MEDIA_DIR=/path/to/media docker compose run --rm jellycc check "file.mkv"
[!NOTE]
MEDIA_DIRmounts to/mediainside the container (defaults to current directory if unset). Output files are saved back to the mounted folder. User settings in~/.config/jellyccare persisted when using Docker Compose.
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
To merge multiple files into a single MKV, run the command:
jellycc merge
[!NOTE] By default, JellyCC merges files using Optimized Full Repair (extracting and aligning streams individually to prevent sync issues and trailing silence). You can choose Legacy mode from the menu to do a direct remux without temp files if the source streams have fully healthy structures and timestamps.
For automatic audio alignment between different files, see Smart Spectrum Sync.
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.mkvor.jellycc_merged.mkv.
After analyzing a file, an interactive menu is displayed with the following options:
You can see the full list of configuration options in the configuration documentation.
JellyCC is licensed under the terms of the MIT + Commons Clause.
TypeScript
98.9%