direct-play-nice
direct-play-nice is a CLI tool that converts video files to profiles more
likely to Direct Play across common streaming devices.
What Is Direct Play?
Direct Play means the client can play the original media file as-is, without server-side video transcoding. In practice, this is usually the lowest-load, highest-quality playback path for media servers.
Official references:
- Plex: https://support.plex.tv/articles/200250387-streaming-media-direct-play-and-direct-stream/
- Jellyfin codec support (goal is Direct Play): https://jellyfin.org/docs/general/clients/codec-support
- Emby playback methods: https://emby.media/support/articles/DirectPlay-Stream-Transcoding.html
Quick Install
Quick Start
Convert one file using the default multi-device profile:
Target specific device families:
Probe local hardware/codec capabilities:
Sonarr Download Hook Example
Use Sonarr Settings -> Connect -> Custom Script and enable the script on the
On Download event. Point it to the direct_play_nice binary with a config
file:
Example direct-play-nice-sonarr.toml:
= "all"
= "mp4"
= ".fixed"
= "h264"
= "1080p"
= "192k"
= "auto"
= "auto"
= "pp-ocr-v4"
= "srt"
= false
= false

Supported Devices
For the full model matrix and constraints, see SUPPORTED_DEVICES.md.
Documentation
For advanced usage, read the manual:
- direct-play-nice Book (mdBook)
- GPU/OCR setup and runtime notes: Subtitle OCR
- Plex auto-refresh workflow: Plex Refresh
- Arr custom-script operation: Sonarr/Radarr Integration
- Hardware probing and diagnostics: Probe and Debug
For Rust API docs (library internals used by the CLI):
License
GPL-3.0-only