ffplayout/ffplayout.conf

138 lines
4.6 KiB
Plaintext
Raw Normal View History

2018-01-07 13:58:45 +01:00
# This file is part of ffplayout.
#
# ffplayout is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# ffplayout is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ffplayout. If not, see <http://www.gnu.org/licenses/>.
# ------------------------------------------------------------------------------
2019-03-11 12:29:47 +01:00
# 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
[GENERAL]
stop_on_error = True
stop_threshold = 11
2018-01-07 13:58:45 +01:00
2018-01-07 13:58:45 +01:00
# send error messages to email address, like:
# missing playlist
2019-03-06 15:04:14 +01:00
# unvalid json format
2018-01-07 13:58:45 +01:00
# missing clip path
# leave recipient blank, if you don't need this
2019-05-10 11:08:07 +02:00
# mail_level can be: WARNING, ERROR
2018-01-07 13:58:45 +01:00
[MAIL]
subject = "Playout Error"
2018-01-07 13:58:45 +01:00
smpt_server = mail.example.org
smpt_port = 587
2018-01-07 17:56:54 +01:00
sender_addr = ffplayout@example.org
2018-01-07 13:58:45 +01:00
sender_pass = 12345
recipient =
2019-05-10 11:08:07 +02:00
mail_level = ERROR
2018-01-10 15:41:56 +01:00
# Logging to file
2019-08-12 14:30:47 +02:00
# if log_to_file = False > log to stderr (console)
2018-01-10 15:41:56 +01:00
# path to /var/log/ only if you run this program as deamon
2019-05-10 11:08:07 +02:00
# log_level can be: DEBUG, INFO, WARNING, ERROR
2018-01-10 15:41:56 +01:00
[LOGGING]
2019-08-12 14:30:47 +02:00
log_to_file = True
log_file = /var/log/ffplayout/ffplayout.log
2018-01-10 15:41:56 +01:00
log_level = INFO
2018-01-07 13:58:45 +01:00
# output settings for the pre-compression
# all clips get prepared in that way,
# so the input for the final compression is unique
2019-08-12 14:30:47 +02:00
# copy_mode means that there is no recomression
# aspect mus be a float number
# logo is only used if the path exist
2019-05-10 11:08:07 +02:00
# with logo_filter = overlay=W-w-12:12 you can modify the logo position
2019-03-04 17:54:36 +01:00
# live_protocols is for checking input, is input a live source ffplayout handles it a bit different
2018-01-07 13:58:45 +01:00
[PRE_COMPRESS]
2019-08-12 14:30:47 +02:00
copy_mode = False
2018-01-07 13:58:45 +01:00
width = 1024
height = 576
2019-08-12 14:30:47 +02:00
aspect = 1.778
2018-01-07 13:58:45 +01:00
fps = 25
2019-03-12 21:08:35 +01:00
logo = logo.png
2019-05-08 10:08:22 +02:00
logo_filter = overlay=W-w-12:12
2019-03-04 17:54:36 +01:00
live_protocols = ["http", "https", "ftp", "rtmp", "rtmpe", "rtmps", "rtp", "rtsp", "srt", "tcp", "udp"]
2018-01-07 13:58:45 +01:00
# playlist settings
2019-08-12 14:30:47 +02:00
# set playlist_mode to False if you want to play clips from the [STORAGE] section
2018-01-07 13:58:45 +01:00
# 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)
2019-08-12 14:30:47 +02:00
# day_start means at which time the playlist should start
# leave day_start blank when playlist should always start at the begin
[PLAYLIST]
playlist_mode = True
path = /playlists
day_start = 05:59:25.000
2018-01-07 13:58:45 +01:00
2019-08-12 14:30:47 +02:00
# play ordered or ramdomly files from path
# extensions: search only files with this extension, can be a list
# set shuffle to True to pick files randomly
# filler_path are for the GUI only at the moment
2019-08-12 14:30:47 +02:00
# filler_clip is for fill the end to reach 24 hours, it will loop when is necessary
2019-03-27 09:34:13 +01:00
# blackclip is for stream copy mode,
# best for this is a ~4 hours clip with black color and soft noise sound
2019-08-12 14:30:47 +02:00
[STORAGE]
path = /media
2019-03-13 14:59:05 +01:00
filler_path = /media/filler/filler-clips
2019-08-12 14:30:47 +02:00
filler_clip = /media/filler/filler.mp4
blackclip = /media/dummy.mp4
2019-06-06 18:16:04 +02:00
extensions = ["*.mp4"]
shuffle = False
2018-01-07 13:58:45 +01:00
2019-06-07 16:42:11 +02:00
# overlay text
# for paramters check ffmpeg doc
2019-06-11 15:28:52 +02:00
# leave textfile blank when you don't need this
2019-06-09 21:04:33 +02:00
# in some systems decimal point is a comma, have this in mind when ffmpeg complains about wrong values
# on windows fontfile path need to be like this: C\:/WINDOWS/fonts/DejaVuSans.ttf
# textfile has the same pattern
2019-06-07 16:42:11 +02:00
[TEXT]
2019-08-12 14:30:47 +02:00
textfile = /media/live.txt
2019-06-07 16:42:11 +02:00
fontsize = 24
fontcolor = white
2019-06-09 21:04:33 +02:00
fontfile = /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
2019-06-11 15:28:52 +02:00
box = 1
boxcolor = black@0xbb
boxborderw = 6
2019-06-07 16:42:11 +02:00
x = w-w/8*mod(t,8*(w+tw)/w)
2019-06-09 21:04:33 +02:00
y = (h-line_h)*0.9
2019-06-07 16:42:11 +02:00
2018-01-07 13:58:45 +01:00
# the final playout post compression
# set the settings to your needs
2018-11-25 14:24:47 +01:00
# preview works only on a desktop system with ffplay!! Set it to True, if you need it
2018-01-07 13:58:45 +01:00
[OUT]
2018-11-25 14:24:47 +01:00
preview = False
2018-01-07 23:01:26 +01:00
service_name = Live Stream
service_provider = example.org
post_comp_video = [
2019-08-12 14:30:47 +02:00
"-c:v", "libx264", "-crf", "23", "-x264-params", "keyint=50:min-keyint=25:scenecut=-1",
2019-06-11 18:29:39 +02:00
"-maxrate", "1300k", "-bufsize", "2600k", "-preset", "medium", "-profile:v", "Main",
2019-08-12 14:30:47 +02:00
"-level", "3.1"
]
2019-08-12 14:30:47 +02:00
post_comp_audio = ["-c:a", "aac", "-ar", "44100", "-b:a", "128k"]
post_comp_extra = ["-flags", "+global_header", "-f", "flv"]
2018-04-29 18:07:42 +02:00
post_comp_copy = ["-bsf:a", "aac_adtstoasc"]
out_addr = rtmp://127.0.0.1/live/stream