general: helptext: 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 it can stop, the starting process is in your hand. Best way is a systemd serivce on linux. 'stop_threshold' stop ffplayout, if it is async in time above this value. stop_on_error: True stop_threshold: 11 mail: helptext: Send error messages to email address, like missing playlist; unvalid json format; missing clip path. Leave recipient blank, if you don't need this. 'mail_level' can be WARNING or ERROR. subject: "Playout Error" smpt_server: "mail.example.org" smpt_port: 587 sender_addr: "ffplayout@example.org" sender_pass: "abc123" recipient: mail_level: "ERROR" logging: helptext: Logging to file, if 'log_to_file' False log to console. Path to /var/log/ only if you run this program as deamon. 'log_level' can be DEBUG, INFO, WARNING, ERROR. 'ffmpeg_level' can be INFO, WARNING, ERROR. log_to_file: True log_path: "/var/log/ffplayout/" log_level: "DEBUG" ffmpeg_level: "ERROR" pre_compress: helptext: Settings for the pre-compression. All clips get prepared in that way, so the input for the final compression is unique. 'aspect' must be a float number. 'logo' is only used if the path exist. 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. [Output is always progressive!] width: 1024 height: 576 aspect: 1.778 fps: 25 add_logo: True logo: "docs/logo.png" logo_opacity: 0.7 logo_filter: "overlay=W-w-12:12" add_loudnorm: False loud_I: -18 loud_TP: -1.5 loud_LRA: 11 playlist: helptext: Set 'playlist_mode' to 'False' if you want to play clips from the [STORAGE] section. Put only the root path here, for example '/playlists' subfolders are readed by the script. Subfolders needs this structur '/playlists/2018/01' (/playlists/year/month). '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. playlist_mode: True path: "/playlists" day_start: "5:59:25" length: "24:00:00" storage: helptext: Play ordered or ramdomly files from path. 'filler_path' are for the GUI only at the moment. 'filler_clip' is for fill the end to reach 24 hours, it will loop when is necessary extensions search only files with this extension, can be a list. Set 'shuffle' to 'True' to pick files randomly. path: "/mediaStorage" filler_path: "/mediaStorage/filler/filler-clips" filler_clip: "/mediaStorage/filler/filler.mp4" extensions: - ".mp4" - ".mkv" shuffle: True text: helptext: Overlay text in combination with messenger 'https://github.com/ffplayout/messenger'. 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. add_text: False bind_address: "127.0.0.1:5555" fontfile: "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf" out: helptext: The final playout post compression. Set the settings to your needs. 'preview' works only on a desktop system with ffplay!! Set it to 'True', if you need it. preview: False service_name: "Live Stream" service_provider: "example.org" post_ffmpeg_param: >- -c:v libx264 -crf 23 -x264-params keyint=50:min-keyint=25:scenecut=-1 -maxrate 1300k -bufsize 2600k -preset medium -profile:v Main -level 3.1 -c:a aac -ar 44100 -b:a 128k -flags +global_header -f flv out_addr: "rtmp://localhost/live/stream"