direct_play_nice 0.1.0-alpha.5

CLI program that converts video files to direct-play-compatible formats.
Documentation

direct-play-nice

crates.io docs.rs CI

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:

Quick Install

cargo install direct_play_nice

Quick Start

Convert one file using the default multi-device profile:

direct_play_nice input.mkv output.mp4

Target specific device families:

direct_play_nice --device chromecast,roku input.mkv output.mp4

Probe local hardware/codec capabilities:

direct_play_nice --probe-hw --probe-codecs --only-video --only-hw --probe-json

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:

/path/to/direct_play_nice --config-file /path/to/direct-play-nice-sonarr.toml

Example direct-play-nice-sonarr.toml:

streaming_devices = "all"
servarr_output_extension = "mp4"
servarr_output_suffix = ".fixed"
video_codec = "h264"
video_quality = "1080p"
audio_quality = "192k"
hw_accel = "auto"
sub_mode = "auto"
ocr_engine = "pp-ocr-v4"
ocr_format = "srt"
ocr_write_srt_sidecar = false
skip_codec_check = false

Running as a custom script in Sonarr

Supported Devices

For the full model matrix and constraints, see SUPPORTED_DEVICES.md.

Documentation

For advanced usage, read the manual:

For Rust API docs (library internals used by the CLI):

cargo doc --no-deps

License

GPL-3.0-only