general:
    help_text: Sometimes it can happen, that a file is corrupt but still playable,
        this can produce an streaming error over all following files. The only way
        in this case is, to stop ffplayout and start it again. Here we only say when
        it stops, the starting process is in your hand. Best way is a systemd service
        on linux. 'stop_threshold' stop ffplayout, if it is async in time above this
        value. A number below 3 can cause unexpected errors.
    stop_threshold: 11

rpc_server:
    help_text: Run a JSON RPC server, for getting infos about current playing, and
        control for some functions.
    enable: false
    address: 127.0.0.1:7070
    authorization: av2Kx8g67lF9qj5wEH3ym1bI4cCs

mail:
    help_text: Send error messages to email address, like missing playlist; invalid
        json format; missing clip path. Leave recipient blank, if you don't need this.
        'mail_level' can be INFO, WARNING or ERROR. 'interval' means seconds until a new mail will be sended.
    subject: Playout Error
    smtp_server: mail.example.org
    starttls: true
    sender_addr: ffplayout@example.org
    sender_pass: "abc123"
    recipient:
    mail_level: ERROR
    interval: 30

logging:
    help_text: Logging to file, if 'log_to_file' false log to console. 'backup_count'
        says how long log files will be saved in days. 'local_time' to false will set
        log timestamps to UTC. Path to /var/log/ only if you run this program as daemon.
        'log_level' can be DEBUG, INFO, WARNING, ERROR. 'ffmpeg_level' can be info,
        warning, error.
    log_to_file: false
    backup_count: 7
    local_time: true
    timestamp: false
    log_path: /var/log/ffplayout/
    log_level: DEBUG
    ffmpeg_level: error

processing:
    help_text: Default processing, for all clips that they get prepared in that way,
        so the output is unique. Set playing mode, like playlist, or folder.
        'aspect' must be a float number. 'logo' is only used if the path exist.
        'logo_scale' scale the logo to target size, leave it blank when no scaling
        is needed, format is 'number:number', for example '100:-1' for proportional
        scaling. With 'logo_opacity' logo can become transparent. With 'logo_filter'
        'overlay=W-w-12:12' you can modify the logo position. With 'use_loudnorm'
        you can activate single pass EBU R128 loudness normalization.
        'loud_*' can adjust the loudnorm filter.
    mode: playlist
    width: 1024
    height: 576
    aspect: 1.778
    fps: 25
    add_logo: true
    logo: /usr/share/ffplayout/logo.png
    logo_scale:
    logo_opacity: 0.7
    logo_filter: overlay=W-w-12:12
    add_loudnorm: false
    loudnorm_ingest: false
    loud_i: -18
    loud_tp: -1.5
    loud_lra: 11
    volume: 1

ingest:
    help_text: Works not with direct hls output, it always needs full processing! Run a server
        for a ingest stream. This stream will override the normal streaming until is done.
        There is no authentication, this is up to you. The recommend way is to set address to
        localhost, stream to a local server with authentication and from there stream to this app.
    enable: false
    input_param: -f live_flv -listen 1 -i rtmp://localhost:1936/live/stream

playlist:
    help_text: >
        'path' can be a path to a single file, or a directory. For directory put
        only the root folder, for example '/playlists', subdirectories are read by the
        script. Subdirectories needs this structure '/playlists/2018/01'. 'day_start'
        means at which time the playlist should start, leave day_start blank when playlist
        should always start at the begin. 'length' represent the target length from
        playlist, when is blank real length will not consider. 'infinit true' works with
        single playlist file and loops it infinitely.
    path: /playlists
    day_start: "5:59:25"
    length: "24:00:00"
    infinit: false

storage:
    help_text: Play ordered or randomly files from path. 'filler_clip' is for fill
        the end to reach 24 hours, it will loop when is necessary. 'extensions' search
        only files with this extension. Set 'shuffle' to 'True' to pick files randomly.
    path: "/mediaStorage"
    filler_clip: "/mediaStorage/filler/filler.mp4"
    extensions:
        - "mp4"
        - "mkv"
    shuffle: true

text:
    help_text: Overlay text in combination with libzmq for remote text manipulation.
        On windows fontfile path need to be like this 'C\:/WINDOWS/fonts/DejaVuSans.ttf'.
        In a standard environment the filter drawtext node is Parsed_drawtext_2.
        'over_pre' if True text will be overlay in pre processing. Continue same text
        over multiple files is in that mode not possible. 'text_from_filename' activate the
        extraction from text of a filename. With 'style' you can define the drawtext
        parameters like position, color, etc. Post Text over API will override this.
        With 'regex' you can format file names, to get a title from it.
    add_text: false
    over_pre: false
    bind_address: "127.0.0.1:5555"
    fontfile: "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
    text_from_filename: false
    style: "x=(w-tw)/2:y=(h-line_h)*0.9:fontsize=24:fontcolor=#ffffff:box=1:boxcolor=#000000:boxborderw=4"
    regex: ^.+[/\\](.*)(.mp4|.mkv)$

out:
    help_text: The final playout compression. Set the settings to your needs.
        'mode' has the standard options 'desktop', 'hls', 'stream'. Self made
        outputs can be define, by adding script in output folder with an 'output' function
        inside. 'preview' works only in streaming output and creates a separate preview stream.
    mode: 'stream'
    preview: false
    preview_param: >-
        -s 512x288
        -c:v libx264
        -crf 24
        -x264-params keyint=50:min-keyint=25:scenecut=-1
        -maxrate 800k
        -bufsize 1600k
        -preset ultrafast
        -tune zerolatency
        -profile:v Main
        -level 3.1
        -c:a aac
        -ar 44100
        -b:a 128k
        -flags +global_header
        -f flv rtmp://preview.local/live/stream
    output_param: >-
        -c:v libx264
        -crf 23
        -x264-params keyint=50:min-keyint=25:scenecut=-1
        -maxrate 1300k
        -bufsize 2600k
        -preset faster
        -tune zerolatency
        -profile:v Main
        -level 3.1
        -c:a aac
        -ar 44100
        -b:a 128k
        -flags +global_header
        -f flv rtmp://localhost/live/stream