neko/server/dev/runtime/config.yml
2024-09-07 21:13:40 +02:00

163 lines
4.3 KiB
YAML

capture:
video:
codec: vp8
# legacy format is not added to the list of ids so that its ignored by bandwidth estimator
ids: [ hq, lq ]
pipelines:
# legacy format is the same as hq, but with show_pointer enabled
legacy:
fps: 25
gst_encoder: vp8enc
gst_params:
target-bitrate: round(3072 * 650)
cpu-used: 4
end-usage: cbr
threads: 4
deadline: 1
undershoot: 95
buffer-size: (3072 * 4)
buffer-initial-size: (3072 * 2)
buffer-optimal-size: (3072 * 3)
keyframe-max-dist: 25
min-quantizer: 4
max-quantizer: 20
show_pointer: true
hq:
fps: 25
gst_encoder: vp8enc
gst_params:
target-bitrate: round(3072 * 650)
cpu-used: 4
end-usage: cbr
threads: 4
deadline: 1
undershoot: 95
buffer-size: (3072 * 4)
buffer-initial-size: (3072 * 2)
buffer-optimal-size: (3072 * 3)
keyframe-max-dist: 25
min-quantizer: 4
max-quantizer: 20
lq:
fps: 25
gst_encoder: vp8enc
gst_params:
target-bitrate: round(1024 * 650)
cpu-used: 4
end-usage: cbr
threads: 4
deadline: 1
undershoot: 95
buffer-size: (1024 * 4)
buffer-initial-size: (1024 * 2)
buffer-optimal-size: (1024 * 3)
keyframe-max-dist: 25
min-quantizer: 4
max-quantizer: 20
# video:
# codec: h264
# ids: [ main ]
# pipelines:
# main:
# width: (width / 3) * 2
# height: (height / 3) * 2
# fps: 20
# gst_prefix: "! video/x-raw,format=I420"
# gst_encoder: "x264enc"
# gst_params:
# threads: 4
# bitrate: 4096
# key-int-max: 15
# byte-stream: true
# tune: zerolatency
# speed-preset: veryfast
# gst_suffix: "! video/x-h264,stream-format=byte-stream"
screencast:
enabled: true
server:
pprof: true
desktop:
screen: "1920x1080@60"
member:
# provider: "object"
# object:
# users:
# - username: "admin"
# password: "admin"
# profile:
# name: "Administrator"
# is_admin: true
# can_login: true
# can_connect: true
# can_watch: true
# can_host: true
# can_share_media: true
# can_access_clipboard: true
# sends_inactive_cursor: true
# can_see_inactive_cursors: true
# - username: "user"
# password: "neko"
# profile:
# name: "User"
# is_admin: false
# can_login: true
# can_connect: true
# can_watch: true
# can_host: true
# can_share_media: true
# can_access_clipboard: true
# sends_inactive_cursor: true
# can_see_inactive_cursors: false
# provider: "file"
# file:
# path: "/home/neko/members.json"
provider: "multiuser"
multiuser:
admin_password: "admin"
user_password: "neko"
# admin_profile: # optional
# user_profile: # optional
# provider: "noauth"
session:
# Allows reconnecting the websocket even if the previous
# connection was not closed. Can lead to session hijacking.
merciful_reconnect: true
# Show inactive cursors on the screen. Can lead to multiple
# data sent via WebSockets and additonal rendering cost on
# the clients.
implicit_hosting: false
inactive_cursors: true
api_token: "neko123"
cookie:
# Disabling cookies will result to use Bearer Authentication.
# This is less secure, because access token will be sent to
# client in playload and accessible via JS app.
enabled: false
secure: false
webrtc:
icelite: true
iceservers:
# Backend servers are ignored if icelite is true.
backend:
- urls: [ stun:stun.l.google.com:19302 ]
frontend:
- urls: [ stun:stun.l.google.com:19305 ]
#username: foo
#credential: bar
# estimator:
# enabled: true
# passive: false
# debug: true
# initial_bitrate: 1000000
# read_interval: 1s
# stable_duration: 10s
# unstable_duration: 5s
# stalled_duration: 20s
# downgrade_backoff: 10s
# upgrade_backoff: 30s
# diff_threshold: 0.5