153 lines
6.4 KiB
YAML
153 lines
6.4 KiB
YAML
general:
|
|
help_text: 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 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
|
|
stat_file: .ffp_status
|
|
|
|
rpc_server:
|
|
help_text: Run a JSON RPC server, for getting infos about current playing and
|
|
for some control functions.
|
|
enable: true
|
|
address: 127.0.0.1:7070
|
|
authorization: av2Kx8g67lF9qj5wEH3ym1bI4cCs
|
|
|
|
mail:
|
|
help_text: Send error messages to email address, like missing playlist; invalid
|
|
json format; missing clip path. Leave recipient blank, if you don't need this.
|
|
'mail_level' can be INFO, WARNING or ERROR. 'interval' means seconds until
|
|
a new mail will be sended.
|
|
subject: Playout Error
|
|
smtp_server: mail.example.org
|
|
starttls: true
|
|
sender_addr: ffplayout@example.org
|
|
sender_pass: "abc123"
|
|
recipient:
|
|
mail_level: ERROR
|
|
interval: 30
|
|
|
|
logging:
|
|
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. 'level' can be DEBUG, INFO, WARNING, ERROR.
|
|
'ffmpeg_level' can be info, warning, error.
|
|
log_to_file: true
|
|
backup_count: 7
|
|
local_time: true
|
|
timestamp: true
|
|
path: /var/log/ffplayout/
|
|
level: DEBUG
|
|
ffmpeg_level: error
|
|
ingest_level: warning
|
|
|
|
processing:
|
|
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 'width:height', for example '100:-1' for proportional
|
|
scaling. With 'logo_opacity' logo can become transparent. With 'audio_tracks' it
|
|
is possible to configure how many audio tracks should be processed. 'audio_channels'
|
|
can be use, if audio has more channels then only stereo. With 'logo_filter'
|
|
'overlay=W-w-12:12' you can modify the logo position. With 'custom_filter'
|
|
it is possible, to apply further filters. The filter outputs should end with
|
|
[c_v_out] for video filter, and [c_a_out] for audio filter.
|
|
mode: playlist
|
|
audio_only: false
|
|
width: 1024
|
|
height: 576
|
|
aspect: 1.778
|
|
fps: 25
|
|
add_logo: true
|
|
logo: /usr/share/ffplayout/logo.png
|
|
logo_scale:
|
|
logo_opacity: 0.7
|
|
logo_filter: overlay=W-w-12:12
|
|
audio_tracks: 1
|
|
audio_channels: 2
|
|
volume: 1
|
|
custom_filter:
|
|
|
|
ingest:
|
|
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. 'custom_filter' can be used in the same way then the one in the
|
|
process section.
|
|
enable: false
|
|
input_param: -f live_flv -listen 1 -i rtmp://127.0.0.1:1936/live/stream
|
|
custom_filter:
|
|
|
|
playlist:
|
|
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
|
|
playlist, when is blank real length will not consider. 'infinit: true' works with
|
|
single playlist file and loops it infinitely.
|
|
path: /var/lib/ffplayout/playlists
|
|
day_start: "5:59:25"
|
|
length: "24:00:00"
|
|
infinit: false
|
|
|
|
storage:
|
|
help_text: 'filler' is for playing instead of a missing file or fill the end to reach 24
|
|
hours, can be a file or folder, it will loop when is necessary. 'extensions' search
|
|
only files with this extension. Set 'shuffle' to 'true' to pick files randomly.
|
|
path: "/var/lib/ffplayout/tv-media"
|
|
filler: "/var/lib/ffplayout/tv-media/filler/filler.mp4"
|
|
extensions:
|
|
- "mp4"
|
|
- "mkv"
|
|
shuffle: true
|
|
|
|
text:
|
|
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'.
|
|
'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
|
|
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)$
|
|
|
|
task:
|
|
help_text: Run an external program with a given media object. The media object is in json format
|
|
and contains all the information about the current clip. The external program can be a script
|
|
or a binary, but should only run for a short time.
|
|
enable: false
|
|
path:
|
|
|
|
out:
|
|
help_text: The final playout compression. Set the settings to your needs. 'mode'
|
|
has the options 'desktop', 'hls', 'null', 'stream'. Use 'stream' and adjust
|
|
'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
|