ffplayout/assets/ffplayout.yml

141 lines
5.8 KiB
YAML
Raw Normal View History

2022-02-12 16:32:51 -05:00
general:
2022-04-05 11:07:34 -04:00
help_text: Sometimes it can happen, that a file is corrupt but still playable,
2022-02-12 16:32:51 -05:00
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
2022-04-05 11:07:34 -04:00
rpc_server:
2022-08-12 04:32:00 -04:00
help_text: Run a JSON RPC server, for getting infos about current playing and
for some control functions.
enable: true
2022-04-05 11:07:34 -04:00
address: 127.0.0.1:7070
authorization: av2Kx8g67lF9qj5wEH3ym1bI4cCs
2022-02-12 16:32:51 -05:00
mail:
2022-04-05 11:07:34 -04:00
help_text: Send error messages to email address, like missing playlist; invalid
2022-02-12 16:32:51 -05:00
json format; missing clip path. Leave recipient blank, if you don't need this.
2022-08-12 04:32:00 -04:00
'mail_level' can be INFO, WARNING or ERROR. 'interval' means seconds until
a new mail will be sended.
2022-04-07 15:11:10 -04:00
subject: Playout Error
smtp_server: mail.example.org
2022-03-12 16:18:49 -05:00
starttls: true
2022-04-07 15:11:10 -04:00
sender_addr: ffplayout@example.org
sender_pass: "abc123"
recipient:
2022-04-07 15:11:10 -04:00
mail_level: ERROR
2022-04-06 16:29:46 -04:00
interval: 30
logging:
2022-08-12 04:32:00 -04:00
help_text: If 'log_to_file' is true, log to file, when is 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.
2022-07-07 16:02:25 -04:00
log_to_file: true
backup_count: 7
2022-02-24 11:28:51 -05:00
local_time: true
2022-06-25 16:09:17 -04:00
timestamp: true
2022-04-07 15:11:10 -04:00
log_path: /var/log/ffplayout/
log_level: DEBUG
ffmpeg_level: error
processing:
2022-08-12 04:32:00 -04:00
help_text: Default processing for all clips, to have them unique. Mode can be 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'
2022-08-12 04:32:00 -04:00
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
2022-04-12 15:48:37 -04:00
logo: /usr/share/ffplayout/logo.png
logo_scale:
logo_opacity: 0.7
2022-04-07 15:11:10 -04:00
logo_filter: overlay=W-w-12:12
add_loudnorm: false
2022-05-02 16:49:41 -04:00
loudnorm_ingest: false
loud_i: -18
loud_tp: -1.5
loud_lra: 11
2022-02-14 15:33:17 -05:00
volume: 1
ingest:
2022-08-12 04:32:00 -04:00
help_text: Run a server for a ingest stream. This stream will override the normal streaming
until is done. There is only a very simple authentication mechanism, which check if the
stream name is correct.
enable: false
input_param: -f live_flv -listen 1 -i rtmp://127.0.0.1:1936/live/stream
playlist:
2022-04-05 11:07:34 -04:00
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
2022-08-12 04:32:00 -04:00
playlist, when is blank real length will not consider. 'infinit: true' works with
single playlist file and loops it infinitely.
2022-07-19 06:11:14 -04:00
path: /var/lib/ffplayout/playlists
day_start: "5:59:25"
length: "24:00:00"
2022-02-14 15:33:17 -05:00
infinit: false
storage:
2022-04-05 11:07:34 -04:00
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
2022-08-12 04:32:00 -04:00
only files with this extension. Set 'shuffle' to 'true' to pick files randomly.
2022-07-19 06:11:14 -04:00
path: "/var/lib/ffplayout/tv-media"
filler_clip: "/var/lib/ffplayout/tv-media/filler/filler.mp4"
extensions:
2022-02-14 15:33:17 -05:00
- "mp4"
- "mkv"
shuffle: true
text:
2022-04-05 11:07:34 -04:00
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'.
2022-06-15 15:27:16 -04:00
'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: true
text_from_filename: false
2022-06-16 18:18:02 -04:00
fontfile: "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
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:
2022-06-27 05:49:43 -04:00
help_text: The final playout compression. Set the settings to your needs. 'mode'
has the options 'desktop', 'hls', 'null', 'stream'. Use 'stream' and adjust
2022-08-12 04:32:00 -04:00
'output_param:' settings when you want to stream to a rtmp/rtsp/srt/... server.
In production don't serve hls playlist with ffpapi, use nginx or another web server!
mode: hls
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 +cgop
-f hls
-hls_time 6
-hls_list_size 600
-hls_flags append_list+delete_segments+omit_endlist
-hls_segment_filename /usr/share/ffplayout/public/live/stream-%d.ts
/usr/share/ffplayout/public/live/stream.m3u8