133 lines
5.6 KiB
YAML
133 lines
5.6 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 when
|
|
it stops, 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_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"
|
|
|
|
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;
|
|
aout2, aout2 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. 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. '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: "^(.*)_"
|
|
|
|
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_flags append_list+delete_segments+omit_endlist+program_date_time
|
|
-hls_segment_filename /var/www/srs/live/stream-%09d.ts /var/www/srs/live/stream.m3u8
|