ffplayout/ffplayout.yml
2020-06-28 22:16:14 +02:00

130 lines
5.2 KiB
YAML

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. 'backup_count'
says how long log files will be saved in days. 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
backup_count: 7
log_path: "/var/log/ffplayout/"
log_level: "DEBUG"
ffmpeg_level: "ERROR"
pre_process:
helptext: Settings for the pre_process. 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. '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. 'output_count'
sets the outputs for the filtering, > 1 gives the option to use the same filters
for multiple outputs. This outputs can be taken in 'ffmpeg_param', names will be
vout2, vout3; aout2, aout3 etc.
width: 1024
height: 576
aspect: 1.778
fps: 25
add_logo: True
logo: "docs/logo.png"
logo_scale:
logo_opacity: 0.7
logo_filter: "overlay=W-w-12:12"
add_loudnorm: False
loud_I: -18
loud_TP: -1.5
loud_LRA: 11
output_count: 1
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_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_clip: "/mediaStorage/filler/filler.mp4"
extensions:
- ".mp4"
- ".mkv"
shuffle: True
text:
helptext: 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.
add_text: False
over_pre: False
bind_address: "127.0.0.1:5555"
fontfile: "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
out:
helptext: 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.
'stream_output' is for streaming output, two ffmpeg instances are fired up, for
pre- and post-processing. 'hls_output' is for direct output to hls playlist,
without pre- and post-processing, mode must be 'hls'.
mode: 'stream'
service_name: "Live Stream"
service_provider: "example.org"
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
stream_output: >-
-flags +global_header
-f flv "rtmp://localhost/live/stream"
hls_output: >-
-flags +cgop
-f hls
-hls_time 6
-hls_list_size 600
-hls_delete_threshold 30
-hls_flags append_list+delete_segments+omit_endlist+program_date_time
/var/www/srs/live/stream.m3u8