2020-10-09 15:30:14 +00:00
|
|
|
## Example Ghostream configuration ##
|
|
|
|
# Uncomment and edit to change values
|
2020-10-09 15:37:32 +00:00
|
|
|
#
|
|
|
|
# All settings can also be changed with an environnement variable,
|
|
|
|
# e.g. GHOSTREAM_AUTH_BACKEND=ldap will change auth.backend to "ldap"
|
2020-10-12 19:23:06 +00:00
|
|
|
#
|
|
|
|
# You may also use GHOSTREAM_CONFIG environnement variable to change the
|
|
|
|
# loading path of the configuration.
|
2020-09-22 14:39:06 +00:00
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
## Authentification package ##
|
2020-09-22 14:39:06 +00:00
|
|
|
auth:
|
2020-10-09 20:06:30 +00:00
|
|
|
# If you disable authentification no more check will be done on incoming
|
|
|
|
# streams.
|
|
|
|
#
|
|
|
|
#enabled: true
|
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
# Authentification backend,
|
|
|
|
# can be "basic" to use a list of user:password
|
|
|
|
# can be "ldap" to use a LDAP server
|
|
|
|
#
|
|
|
|
#backend: basic
|
|
|
|
|
|
|
|
# Basic backend configuration
|
2020-10-11 20:38:39 +00:00
|
|
|
# To generate bcrypt hashed password from Python, use:
|
2020-11-07 14:03:42 +00:00
|
|
|
# python3 -c 'import bcrypt; print(bcrypt.hashpw(b"PASSWORD", bcrypt.gensalt(rounds=12)).decode("ascii"))'
|
2020-10-09 15:30:14 +00:00
|
|
|
#
|
|
|
|
#basic:
|
|
|
|
# credentials:
|
|
|
|
# # Demo user with password "demo"
|
2020-11-07 14:03:42 +00:00
|
|
|
# demo: $2b$10$xuU7XFwmRX2CMgdSaA8rM.4Y8.BtRNzhUedwN0G8tCegDRNUERTCS
|
2020-09-22 14:39:06 +00:00
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
# LDAP backend configuration
|
2020-09-29 15:27:19 +00:00
|
|
|
#
|
2020-09-22 14:39:06 +00:00
|
|
|
#ldap:
|
|
|
|
# uri: ldap://127.0.0.1:389
|
|
|
|
# userdn: cn=users,dc=example,dc=com
|
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
## Stream forwarding ##
|
|
|
|
# Forward an incoming stream to other servers
|
|
|
|
# The URL can be anything FFMpeg can accept as an stream output
|
2020-10-21 09:47:06 +00:00
|
|
|
# If a file is specified, the name may contains %Y, %m, %d, %H, %M or %S
|
|
|
|
# that will be replaced by the current date information.
|
2020-09-30 13:07:36 +00:00
|
|
|
forwarding:
|
2020-10-09 15:30:14 +00:00
|
|
|
# By default nothing is forwarded.
|
|
|
|
#
|
|
|
|
# This example forwards a stream named "demo" to Twitch and YouTube,
|
2020-10-21 09:47:06 +00:00
|
|
|
# and save the record in a timestamped-file,
|
2020-09-30 13:07:36 +00:00
|
|
|
#demo:
|
|
|
|
# - rtmp://live-cdg.twitch.tv/app/STREAM_KEY
|
|
|
|
# - rtmp://a.rtmp.youtube.com/live2/STREAM_KEY
|
2020-10-21 09:47:06 +00:00
|
|
|
# - /home/ghostream/lives/%name/live-%Y-%m-%d-%H-%M-%S.flv
|
2020-09-30 13:07:36 +00:00
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
## Prometheus monitoring ##
|
|
|
|
# Expose a monitoring endpoint for Prometheus
|
2020-09-22 14:39:06 +00:00
|
|
|
monitoring:
|
2020-10-09 20:06:30 +00:00
|
|
|
# If you disable monitoring module, no more metrics will be exposed.
|
|
|
|
#
|
|
|
|
#enabled: true
|
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
# You should not expose monitoring metrics to the whole world.
|
|
|
|
# To limit access to only localhost, use 127.0.0.1:2112
|
|
|
|
#listenAddress: :2112
|
2020-09-22 14:39:06 +00:00
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
## SRT server ##
|
|
|
|
# The SRT server receive incoming stream and can also serve video to clients.
|
2020-09-29 15:04:23 +00:00
|
|
|
srt:
|
2020-10-09 20:06:30 +00:00
|
|
|
# If you disable SRT module, it will be no more possible to receive incoming
|
|
|
|
# streams and this whole app will become useless.
|
|
|
|
#
|
|
|
|
#enabled: true
|
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
# To limit access to only localhost, use 127.0.0.1:9710
|
|
|
|
#listenAddress: :9710
|
2020-09-29 15:04:23 +00:00
|
|
|
|
|
|
|
# Max number of active SRT connections
|
2020-10-09 15:30:14 +00:00
|
|
|
#maxClients: 64
|
2020-09-29 15:04:23 +00:00
|
|
|
|
2020-10-12 22:15:23 +00:00
|
|
|
## Telnet server ##
|
|
|
|
# The telnet server receive the stream and emit the stream as ASCII-art.
|
|
|
|
telnet:
|
2020-10-13 16:53:03 +00:00
|
|
|
# By default the telnet server is disabled.
|
2020-10-13 16:03:14 +00:00
|
|
|
#
|
2020-10-13 15:12:19 +00:00
|
|
|
#enabled: false
|
2020-10-12 22:15:23 +00:00
|
|
|
|
2020-10-13 16:53:03 +00:00
|
|
|
# To limit access to only localhost, use 127.0.0.1:8023
|
|
|
|
#
|
2020-10-13 09:38:22 +00:00
|
|
|
#listenAddress: :8023
|
2020-10-12 22:15:23 +00:00
|
|
|
|
2020-10-18 09:06:54 +00:00
|
|
|
## Transcoders configuration ##
|
|
|
|
transcoder:
|
|
|
|
text:
|
|
|
|
# By default the text transcoder is disabled.
|
|
|
|
# You need to enable it to use telnet output.
|
|
|
|
#
|
|
|
|
#enabled: false
|
|
|
|
|
|
|
|
# Size is in characters. It is recommended to keep a 16x9 format.
|
|
|
|
#
|
|
|
|
#width: 80
|
|
|
|
#height: 45
|
|
|
|
|
|
|
|
# Time in milliseconds between two images.
|
|
|
|
# By default 50 ms, so 20 FPS.
|
|
|
|
# Displaying text takes time.
|
|
|
|
#
|
|
|
|
#delay: 50
|
2020-10-12 22:15:23 +00:00
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
## Web server ##
|
|
|
|
# The web server serves a WebRTC player.
|
2020-09-22 14:39:06 +00:00
|
|
|
web:
|
2020-10-09 20:06:30 +00:00
|
|
|
# If you disable web module, the stream will be accessible only via SRT or
|
|
|
|
# via forwarding module (see above).
|
|
|
|
#
|
|
|
|
#enabled: true
|
|
|
|
|
2020-10-11 09:04:40 +00:00
|
|
|
# Custom CSS stylesheet to change theme
|
|
|
|
#
|
|
|
|
#customCss: ""
|
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
# Web page favicon, can be .ico, .png or .svg
|
|
|
|
#
|
|
|
|
#favicon: /static/img/favicon.svg
|
|
|
|
|
|
|
|
# Server name seen by users
|
|
|
|
# If example.com reverses to this server, then change to example.com
|
|
|
|
#
|
|
|
|
#hostname: localhost
|
|
|
|
|
|
|
|
# To limit access to only localhost, use 127.0.0.1:8080
|
|
|
|
#
|
|
|
|
#listenAddress: :8080
|
|
|
|
|
|
|
|
# Web site name
|
|
|
|
# Put something cool here, such as "Cr@ns Stream"
|
|
|
|
#
|
|
|
|
#name: Ghostream
|
|
|
|
|
2020-10-13 15:12:19 +00:00
|
|
|
# Use the domain name as the stream name for some hosts
|
|
|
|
# e.g., on http://stream.example.com:8080/, if the domain stream.example.com is mapped to "example",
|
|
|
|
# the stream served will be "example".
|
2020-10-09 15:30:14 +00:00
|
|
|
# This implies that your domain will be able to serve only one stream.
|
2020-10-13 15:25:00 +00:00
|
|
|
# Dots in the domain name must be remplaced by dashes to avoid yaml issues.
|
2020-10-09 15:30:14 +00:00
|
|
|
#
|
2020-10-13 15:12:19 +00:00
|
|
|
#mapDomainToStream:
|
2020-10-13 15:25:00 +00:00
|
|
|
# stream-example-com: example
|
2020-10-09 15:30:14 +00:00
|
|
|
|
2020-10-11 20:02:20 +00:00
|
|
|
# Stream player poster
|
|
|
|
# Shown when stream is loading or inactive.
|
|
|
|
#
|
|
|
|
#playerPoster: /static/img/no_stream.svg
|
|
|
|
|
2020-10-09 15:30:14 +00:00
|
|
|
# Refresh period for viewer stats (below the player)
|
|
|
|
#
|
|
|
|
#viewersCounterRefreshPeriod: 20000
|
|
|
|
|
|
|
|
# Add a web page as a side widget
|
|
|
|
# This can be a public TheLounge or Element instance to make a chat.
|
|
|
|
# You can use {{.Path}} to include current stream name,
|
|
|
|
# e.g. https://example.com/stream_{{.Path}}
|
|
|
|
#
|
|
|
|
#widgetURL: ""
|
|
|
|
|
|
|
|
## WebRTC server ##
|
2020-09-29 15:04:23 +00:00
|
|
|
webrtc:
|
2020-10-09 20:06:30 +00:00
|
|
|
# If you disable webrtc module, the web client won't be able to play streams.
|
|
|
|
#
|
2020-11-09 12:48:44 +00:00
|
|
|
#enabled: false
|
2020-10-09 20:06:30 +00:00
|
|
|
|
2020-09-29 15:04:23 +00:00
|
|
|
# UDP port range used to stream
|
2020-10-09 15:30:14 +00:00
|
|
|
# This range must be opened in your firewall.
|
|
|
|
#
|
|
|
|
#minPortUDP: 10000
|
2020-11-07 14:00:06 +00:00
|
|
|
#maxPortUDP: 11000
|
2020-09-29 15:27:19 +00:00
|
|
|
|
|
|
|
# STUN servers, you should host your own Coturn instance
|
2020-10-09 15:30:14 +00:00
|
|
|
#
|
|
|
|
#STUNServers:
|
|
|
|
# - stun:stun.l.google.com:19302
|