2020-02-03 06:07:21 -05:00
general :
2020-04-14 04:50:44 -04:00
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
2021-06-21 08:57:00 -04:00
in this case is, to stop ffplayout and start it again. Here we only say when
2022-01-15 13:38:01 -05:00
it stops, the starting process is in your hand. Best way is a systemd service
2020-04-14 04:50:44 -04:00
on linux. 'stop_threshold' stop ffplayout, if it is async in time above this
2022-01-01 17:12:31 -05:00
value. A number below 3 can cause unexpected errors.
2020-02-03 06:07:21 -05:00
stop_threshold : 11
mail :
2022-01-15 13:38:01 -05:00
helptext : Send error messages to email address, like missing playlist; invalid
2020-04-14 04:50:44 -04:00
json format; missing clip path. Leave recipient blank, if you don't need this.
'mail_level' can be WARNING or ERROR.
2020-02-03 06:07:21 -05:00
subject : "Playout Error"
2022-01-15 13:38:01 -05:00
smtp_server : "mail.example.org"
smtp_port : 587
2020-02-03 06:07:21 -05:00
sender_addr : "ffplayout@example.org"
2020-04-15 15:30:29 -04:00
sender_pass : "abc123"
2020-02-03 06:07:21 -05:00
recipient :
mail_level : "ERROR"
logging :
2020-05-12 07:13:17 -04:00
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
2022-01-15 13:38:01 -05:00
run this program as daemon. 'log_level' can be DEBUG, INFO, WARNING,
2020-04-14 04:50:44 -04:00
ERROR. 'ffmpeg_level' can be INFO, WARNING, ERROR.
2020-02-03 06:07:21 -05:00
log_to_file : True
2020-05-12 07:13:17 -04:00
backup_count : 7
2020-02-03 06:07:21 -05:00
log_path : "/var/log/ffplayout/"
log_level : "DEBUG"
ffmpeg_level : "ERROR"
2020-07-02 14:54:06 -04:00
processing :
helptext : Default processing, for all clips that they get prepared in that way,
so the output 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;
2021-03-29 03:25:43 -04:00
aout2, aout2 etc.
2020-02-03 06:07:21 -05:00
width : 1024
height : 576
aspect : 1.778
fps : 25
add_logo : True
logo : "docs/logo.png"
2020-05-31 05:47:18 -04:00
logo_scale :
2020-02-03 06:07:21 -05:00
logo_opacity : 0.7
logo_filter : "overlay=W-w-12:12"
add_loudnorm : False
loud_I : -18
loud_TP : -1.5
loud_LRA : 11
2020-06-07 14:08:54 -04:00
output_count : 1
2020-02-03 06:07:21 -05:00
2022-01-24 11:40:31 -05:00
ingest :
2022-01-26 05:47:00 -05:00
helptext : Works only in combination with output -> mode = live_switch! Run a server
2022-01-24 11:40:31 -05:00
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.
2022-01-24 15:34:02 -05:00
stream_input : >-
-f live_flv
-listen 1
-i rtmp://localhost:1936/live/stream
2022-01-24 11:40:31 -05:00
2022-01-26 05:47:00 -05:00
play :
helptext : Set playing mode, like playlist; folder, or you own custom one.
mode : playlist
2020-02-03 06:07:21 -05:00
playlist :
2022-01-26 05:47:00 -05:00
helptext : Put only the root path here, for example '/playlists' subdirectories
2022-01-15 13:38:01 -05:00
are read by the script. Subdirectories needs this structure '/playlists/2018/01'
2020-04-14 04:50:44 -04:00
(/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.
2020-02-03 06:07:21 -05:00
path : "/playlists"
day_start : "5:59:25"
length : "24:00:00"
storage :
2022-01-15 13:38:01 -05:00
helptext : Play ordered or randomly files from path. 'filler_clip' is for fill
2020-07-02 07:42:43 -04:00
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.
2020-02-03 06:07:21 -05:00
path : "/mediaStorage"
filler_clip : "/mediaStorage/filler/filler.mp4"
extensions :
2020-04-09 15:05:57 -04:00
- ".mp4"
- ".mkv"
2020-02-03 06:07:21 -05:00
shuffle : True
text :
2020-06-01 15:20:23 -04:00
helptext : Overlay text in combination with libzmq for remote text manipulation.
2020-04-14 04:50:44 -04:00
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.
2020-06-07 14:08:54 -04:00
'over_pre' if True text will be overlay in pre processing. Continue same text
2020-12-21 05:17:06 -05:00
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.
2020-04-14 04:50:44 -04:00
add_text : False
2020-06-07 14:08:54 -04:00
over_pre : False
2020-04-29 03:39:24 -04:00
bind_address : "127.0.0.1:5555"
2020-02-03 06:07:21 -05:00
fontfile : "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
2020-12-21 05:17:06 -05:00
text_from_filename : False
2020-12-19 16:28:17 -05:00
style : "x=(w-tw)/2:y=(h-line_h)*0.9:fontsize=24:fontcolor=#ffffff:box=1:boxcolor=#000000:boxborderw=4"
regex : "^(.*)_"
2020-02-03 06:07:21 -05:00
out :
2020-06-07 14:08:54 -04:00
helptext : The final playout compression. Set the settings to your needs.
2022-01-24 11:40:31 -05:00
'mode' has the standard options 'desktop', 'hls', 'live_switch', 'stream'. Self made
outputs can be define, by adding script in output folder with an 'output' function
2022-01-26 05:47:00 -05:00
inside. 'stream_output' represent the file encoding output.
2020-06-07 14:08:54 -04:00
mode : 'stream'
2020-02-03 06:07:21 -05:00
service_name : "Live Stream"
service_provider : "example.org"
2020-06-07 14:08:54 -04:00
ffmpeg_param : >-
2020-04-09 14:56:16 -04:00
-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
2020-06-28 16:09:40 -04:00
stream_output : >-
2020-04-09 14:56:16 -04:00
-flags +global_header
2020-07-18 17:34:55 -04:00
-f flv rtmp://localhost/live/stream