## Example Ghostream configuration ## # Uncomment and edit to change values # # All settings can also be changed with an environnement variable, # e.g. GHOSTREAM_AUTH_BACKEND=ldap will change auth.backend to "ldap" # # You may also use GHOSTREAM_CONFIG environnement variable to change the # loading path of the configuration. ## Authentification package ## auth: # If you disable authentification no more check will be done on incoming # streams. # #enabled: true # 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 # To generate bcrypt hashed password from Python, use: # python3 -c 'import bcrypt; print(bcrypt.hashpw(b"PASSWORD", bcrypt.gensalt(rounds=12)).decode("ascii"))' # #basic: # credentials: # # Demo user with password "demo" # demo: $2b$10$xuU7XFwmRX2CMgdSaA8rM.4Y8.BtRNzhUedwN0G8tCegDRNUERTCS # LDAP backend configuration # #ldap: # uri: ldap://127.0.0.1:389 # userdn: cn=users,dc=example,dc=com ## Stream forwarding ## # Forward an incoming stream to other servers # The URL can be anything FFMpeg can accept as an stream output # 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. forwarding: # By default nothing is forwarded. # # This example forwards a stream named "demo" to Twitch and YouTube, # and save the record in a timestamped-file, #demo: # - rtmp://live-cdg.twitch.tv/app/STREAM_KEY # - rtmp://a.rtmp.youtube.com/live2/STREAM_KEY # - /home/ghostream/lives/%name/live-%Y-%m-%d-%H-%M-%S.flv ## Prometheus monitoring ## # Expose a monitoring endpoint for Prometheus monitoring: # If you disable monitoring module, no more metrics will be exposed. # #enabled: true # You should not expose monitoring metrics to the whole world. # To limit access to only localhost, use 127.0.0.1:2112 #listenAddress: :2112 ## SRT server ## # The SRT server receive incoming stream and can also serve video to clients. srt: # If you disable SRT module, it will be no more possible to receive incoming # streams and this whole app will become useless. # #enabled: true # To limit access to only localhost, use 127.0.0.1:9710 #listenAddress: :9710 # Max number of active SRT connections #maxClients: 64 ## Telnet server ## # The telnet server receive the stream and emit the stream as ASCII-art. telnet: # By default the telnet server is disabled. # #enabled: false # To limit access to only localhost, use 127.0.0.1:8023 # #listenAddress: :8023 ## 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 ## Web server ## # The web server serves a WebRTC player. web: # If you disable web module, the stream will be accessible only via SRT or # via forwarding module (see above). # #enabled: true # Custom CSS stylesheet to change theme # #customCss: "" # 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 # 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". # This implies that your domain will be able to serve only one stream. # Dots in the domain name must be remplaced by dashes to avoid yaml issues. # #mapDomainToStream: # stream-example-com: example # Stream player poster # Shown when stream is loading or inactive. # #playerPoster: /static/img/no_stream.svg # 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 ## webrtc: # If you disable webrtc module, the web client won't be able to play streams. # #enabled: true # UDP port range used to stream # This range must be opened in your firewall. # #minPortUDP: 10000 #maxPortUDP: 11000 # STUN servers, you should host your own Coturn instance # #STUNServers: # - stun:stun.l.google.com:19302