rffmpeg/rffmpeg.yml.sample
Joshua M. Boniface 7cbe14e80a Complete refactoring of rffmpeg
This commit represents a complete refactoring of rffmpeg while
preserving all existing functionality.

Several key changes are:

1. A cleaner function tree throughout the code, hopefully making things
easier to understand.

2. The use of "-t -t" to the "ssh" command to optimize behaviour when
Ctrl+C is used to terminate a test process.

3. The removal of the old PID-based "state" system in favour of a
ground-up SQLite-based system which can better track the current status.

4. The renaming of the binary from "rffmpeg.py" to "rffmpeg".

5. The addition of an alternate invocation and corresponding Click-based
CLI interface to manage the database, accessible by calling the
"rffmpeg" binary name directly instead of an "ffmpeg"/"ffprobe" alias.

6. The moving of host management out of the config file and into the
database/Click CLI interface for better management capabilities.

7. The proper defaulting of the configuration; an entirely empty
configuration can be specified if desired, using only default options.

This new version should be functionally identical to the old version in
all cases while providing the above changes.

This commit also adjust the documentation to reflect the updated setup
and options.
2022-07-19 23:51:00 -04:00

63 lines
2.2 KiB
Text

---
# Configuration file for rffmpeg
#
# Copy this sample to /etc/rffmpeg/rffmpeg.yml and replace the various attributes
# with the values for your environment. For more details please see the README.
#
# Any commented value represents the default. Uncomment and alter as required.
rffmpeg:
# Logging configuration
logging:
# Enable or disable file logging
#log_to_file: true
# Log messages to this file - ensure the user running rffmpeg can write to it
#logfile: "/var/log/jellyfin/rffmpeg.log"
# Directory configuration
directories:
# Persistent directory to store state database
#state: "/var/lib/rffmpeg"
# Temporary directory to store SSH persistence sockets
#persist: "/run/shm"
# The user who should own the state directory and database (the user who normally runs rffmpeg commands)
#owner: jellyfin
# The group who should own the state directory and database (an administrative group)
# Use this group to control who is able to run commands like "rrffmpeg status".
#group: sudo
# Remote (SSH) configuration
remote:
# The remote SSH user to connect as
#user: jellyfin
# How long to persist SSH sessions (0 to disable)
#persist: 300
# A YAML list of additional SSH arguments (e.g. private keys),
# one line per space-separated argument element.
#args:
# - "-i"
# - "/var/lib/jellyfin/id_rsa"
# Remote command configuration
commands:
# The path (either full or in $PATH) to the SSH binary.
#ssh: "/usr/bin/ssh"
# A YAML list of prefixes to the ffmpeg command (e.g. sudo, nice, etc.),
# one line per space-separated command element.
#pre:
# - ""
# The (remote) ffmpeg and ffprobe command binary paths
#ffmpeg: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
#ffprobe: "/usr/lib/jellyfin-ffmpeg/ffprobe"
# An optional local fallback ffmpeg and ffprobe, if you wish this to be different from the above paths
#fallback_ffmpeg: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
#fallback_ffprobe: "/usr/lib/jellyfin-ffmpeg/ffprobe"