Files
Video-Player-Controller/config.yaml
T

76 lines
2.4 KiB
YAML

mqtt:
host: 10.40.0.2
port: 1883
username: null
password: null
client_id: yt-controller
keepalive_seconds: 30
reconnect_min_seconds: 1
reconnect_max_seconds: 30
command_queue_size: 512
# QoS 1 is accepted only after the broker PUBACKs within this bound.
publish_ack_timeout_seconds: 2
# Audio Router self-echo correlation stays claimable for this long after
# a Controller-originated mode-set publish is PUBACK'd, so a subscription
# echo that is delivered after the PUBACK is still recognized as ours
# instead of being mistaken for operator intent.
router_echo_grace_seconds: 2
topics:
player_command: youtube/player/cmd
player_status: youtube/player/status
player_state: youtube/player/state
player_telemetry: youtube/player/telemetry
controller_command: youtube/controller/cmd
ingest_progress: youtube/ingest/progress
playback_base: youtube/media/playback
router_mode_set: audio/player/mode/set
router_mode_state: audio/player/mode/state
# Optional additive result/warning topic. Set null to disable it.
# Existing consumers never depend on this topic.
controller_result: youtube/controller/v2/events
storage:
media_base: /mnt/Media/YTPlayer
data_base: /controller-data
database_name: controller.sqlite3
legacy_yaml_name: playlists.yaml
slot_count: 10
retention_seconds: 172800
expiry_interval_seconds: 60
# Marks uncertain playback for operator review; it never removes protection.
uncertain_review_after_seconds: 900
downloads:
yt_dlp_binary: yt-dlp
cookie_path: /run/secrets/yt-dlp-cookies.txt
cookie_required: false
max_workers: 2
process_timeout_seconds: 7200
max_height: 1080
# Utility exports live below media_base and never participate in slots.
export_directory: exports
export_max_height: 1080
# Dedicated capacity prevents utility exports from starving Player work.
export_max_workers: 1
# Bounds queued + running utility work; Player slots retain their own bound.
max_queued_exports: 20
router:
required_mode: video
confirmation_timeout_seconds: 3
# attempt: request video and wait for the finite confirmation timeout
# continue: request video but do not wait when no state has been observed
# reject: reject playback until a Router state has been observed
when_state_unknown: attempt
continue_on_confirmation_failure: true
fallback_restore_mode: null
homeassistant:
enabled: true
discovery_prefix: homeassistant
web:
host: 0.0.0.0
port: 7531