mirror of
https://github.com/LizardByte/Sunshine.git
synced 2024-11-16 23:10:13 +00:00
256 lines
8.5 KiB
Plaintext
256 lines
8.5 KiB
Plaintext
# If no external IP address is given, the local IP address is used
|
|
# external_ip = 123.456.789.12
|
|
|
|
# The private key must be 2048 bits
|
|
# pkey = /dir/pkey.pem
|
|
|
|
# The certificate must be signed with a 2048 bit key
|
|
# cert = /dir/cert.pem
|
|
|
|
# The name displayed by Moonlight
|
|
# If not specified, the PC's hostname is used
|
|
# sunshine_name = Sunshine
|
|
|
|
# The minimum log level printed to standard out
|
|
#
|
|
# none -> no logs are printed to standard out
|
|
#
|
|
# verbose = [0]
|
|
# debug = [1]
|
|
# info = [2]
|
|
# warning = [3]
|
|
# error = [4]
|
|
# fatal = [5]
|
|
# none = [6]
|
|
#
|
|
# min_log_level = info
|
|
|
|
# The origin of the remote endpoint address that is not denied for HTTP method /pin
|
|
# Could be any of the following values:
|
|
# pc|lan|wan
|
|
# pc: Only localhost may access /pin
|
|
# lan: Only those in LAN may access /pin
|
|
# wan: Anyone may access /pin
|
|
#
|
|
# origin_pin_allowed = lan
|
|
|
|
# The file where current state of Sunshine is stored
|
|
# file_state = sunshine_state.json
|
|
|
|
# The file where user credentials for the UI are stored
|
|
# By default, credentials are stored in `file_state`
|
|
# credentials_file = sunshine_state.json
|
|
|
|
# The display modes advertised by Sunshine
|
|
#
|
|
# Some versions of Moonlight, such as Moonlight-nx (Switch),
|
|
# rely on this list to ensure that the requested resolutions and fps
|
|
# are supported.
|
|
#
|
|
# fps = [10, 30, 60, 90, 120]
|
|
# resolutions = [
|
|
# 352x240,
|
|
# 480x360,
|
|
# 858x480,
|
|
# 1280x720,
|
|
# 1920x1080,
|
|
# 2560x1080,
|
|
# 3440x1440,
|
|
# 1920x1200,
|
|
# 3860x2160,
|
|
# 3840x1600,
|
|
# ]
|
|
|
|
# How long to wait in milliseconds for data from moonlight before shutting down the stream
|
|
# ping_timeout = 2000
|
|
|
|
# The file where configuration for the different applications that Sunshine can run during a stream
|
|
# file_apps = apps.json
|
|
|
|
# How much error correcting packets must be send for every video
|
|
# This is just some random number, don't know the optimal value
|
|
# The higher fec_percentage, the lower space for the actual data to send per frame there is
|
|
#
|
|
# The value must be greater than 0 and lower than or equal to 100
|
|
# fec_percentage = 10
|
|
|
|
# When multicasting, it could be usefull to have different configurations for each connected Client.
|
|
# For example:
|
|
# Clients connected through WAN and LAN have different bitrate contstraints.
|
|
# Decoders may require different settings for color
|
|
#
|
|
# Unlike simply broadcasting to multiple Client, this will generate distinct video streams.
|
|
# Note, CPU usage increases for each distinct video stream generated
|
|
# channels = 1
|
|
|
|
# The back/select button on the controller
|
|
# On the Shield, the home and powerbutton are not passed to Moonlight
|
|
# If, after the timeout, the back button is still pressed down, Home/Guide button press is emulated.
|
|
# If back_button_timeout < 0, then the Home/Guide button will not be emulated
|
|
# back_button_timeout = 2000
|
|
|
|
# !! Windows only !!
|
|
# Control how fast keys will repeat themselves
|
|
# The initial delay in milliseconds before repeating keys
|
|
# key_repeat_delay = 500
|
|
#
|
|
# How often keys repeat every second
|
|
# This configurable option supports decimals
|
|
# key_repeat_frequency = 24.9
|
|
|
|
# The name of the audio sink used for Audio Loopback
|
|
# If you do not specify this variable, pulseaudio will select the default monitor device.
|
|
#
|
|
# You can find the name of the audio sink using the following command:
|
|
# !! Linux only !!
|
|
# pacmd list-sinks | grep "name:" if running vanilla pulseaudio
|
|
# pactl info | grep Source` if running pipewire
|
|
# audio_sink = alsa_output.pci-0000_09_00.3.analog-stereo
|
|
#
|
|
# !! Windows only !!
|
|
# tools\audio-info.exe
|
|
# audio_sink = {0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B}
|
|
#
|
|
# The virtual sink, is the audio device that's virtual (Like Steam Streaming Speakers), it allows Sunshine
|
|
# to stream audio, while muting the speakers.
|
|
# virtual_sink = {0.0.0.00000000}.{8edba70c-1125-467c-b89c-15da389bc1d4}
|
|
|
|
# !! Windows only !!
|
|
# You can select the video card you want to stream:
|
|
# The appropriate values can be found using the following command:
|
|
# tools\dxgi-info.exe
|
|
# adapter_name = Radeon RX 580 Series
|
|
# output_name = \\.\DISPLAY1
|
|
|
|
# !! Linux only !!
|
|
# Set the display number to stream.
|
|
# You can find them by the following command:
|
|
# xrandr --listmonitors
|
|
# Example output: "0: +HDMI-1 1920/518x1200/324+0+0 HDMI-1"
|
|
# ^ <-- You need this.
|
|
# output_name = 0
|
|
|
|
###############################################
|
|
# FFmpeg software encoding parameters
|
|
# Honestly, I have no idea what the optimal values would be.
|
|
# Play around with this :)
|
|
|
|
# Constant Rate Factor. Between 1 and 52. It allows QP to go up during motion and down with still image, resulting in constant perceived quality
|
|
# Higher value means more compression, but less quality
|
|
# If crf == 0, then use QP directly instead
|
|
# crf = 0
|
|
|
|
# Quantitization Parameter
|
|
# Higher value means more compression, but less quality
|
|
# If crf != 0, then this parameter is ignored
|
|
# qp = 28
|
|
|
|
# Minimum number of threads used by ffmpeg to encode the video.
|
|
# Increasing the value slightly reduces encoding efficiency, but the tradeoff is usually
|
|
# worth it to gain the use of more CPU cores for encoding. The ideal value is the lowest
|
|
# value that can reliably encode at your desired streaming settings on your hardware.
|
|
# min_threads = 1
|
|
|
|
# Allows the client to request HEVC Main or HEVC Main10 video streams.
|
|
# HEVC is more CPU-intensive to encode, so enabling this may reduce performance when using software encoding.
|
|
# If set to 0 (default), Sunshine will specify support for HEVC based on encoder
|
|
# If set to 1, Sunshine will not advertise support for HEVC
|
|
# If set to 2, Sunshine will advertise support for HEVC Main profile
|
|
# If set to 3, Sunshine will advertise support for HEVC Main and Main10 (HDR) profiles
|
|
# hevc_mode = 2
|
|
|
|
# Force a specific encoder, otherwise Sunshine will use the first encoder that is available
|
|
# supported encoders:
|
|
# nvenc
|
|
# amdvce # NOTE: alpha stage. The cursor is not yet displayed
|
|
# software
|
|
#
|
|
# encoder = nvenc
|
|
##################################### Software #####################################
|
|
# See x264 --fullhelp for the different presets
|
|
# sw_preset = superfast
|
|
# sw_tune = zerolatency
|
|
#
|
|
|
|
##################################### NVENC #####################################
|
|
###### presets ###########
|
|
# default
|
|
# hp -- high performance
|
|
# hq -- high quality
|
|
# slow -- hq 2 passes
|
|
# medium -- hq 1 pass
|
|
# fast -- hp 1 pass
|
|
# bd
|
|
# ll -- low latency
|
|
# llhq
|
|
# llhp
|
|
# lossless
|
|
# losslesshp
|
|
##########################
|
|
# nv_preset = llhq
|
|
#
|
|
####### rate control #####
|
|
# auto -- let ffmpeg decide rate control
|
|
# constqp -- constant QP mode
|
|
# vbr -- variable bitrate
|
|
# cbr -- constant bitrate
|
|
# cbr_hq -- cbr high quality
|
|
# cbr_ld_hq -- cbr low delay high quality
|
|
# vbr_hq -- vbr high quality
|
|
##########################
|
|
# nv_rc = auto
|
|
|
|
###### h264 entropy ######
|
|
# auto -- let ffmpeg nvenc decide the entropy encoding
|
|
# cabac
|
|
# cavlc
|
|
##########################
|
|
# nv_coder = auto
|
|
|
|
##################################### AMD #####################################
|
|
###### presets ###########
|
|
# default
|
|
# speed
|
|
# balanced
|
|
##########################
|
|
# amd_preset = balanced
|
|
#
|
|
####### rate control #####
|
|
# auto -- let ffmpeg decide rate control
|
|
# constqp -- constant QP mode
|
|
# vbr_latency -- Latency Constrained Variable Bitrate
|
|
# vbr_peak -- Peak Contrained Variable Bitrate
|
|
# cbr -- constant bitrate
|
|
##########################
|
|
# amd_rc = auto
|
|
|
|
###### h264 entropy ######
|
|
# auto -- let ffmpeg nvenc decide the entropy encoding
|
|
# cabac
|
|
# cavlc
|
|
##########################
|
|
# amd_coder = auto
|
|
|
|
#################################### VAAPI ###################################
|
|
####### adapter ##########
|
|
# Unlike with `amdvce` and `nvenc`, it doesn't matter if video encoding is done
|
|
# on a different GPU.
|
|
# Run the following commands:
|
|
# 1. ls /dev/dri/renderD*
|
|
# to find all devices capable of VAAPI
|
|
# 2. vainfo --display drm --device /dev/dri/renderD129 | grep -E "((VAProfileH264High|VAProfileHEVCMain|VAProfileHEVCMain10).*VAEntrypointEncSlice)|Driver version"
|
|
# Lists the name and capabilities of the device.
|
|
# To be supported by Sunshine, it needs to have at the very minimum:
|
|
# VAProfileH264High : VAEntrypointEncSlice
|
|
# adapter_name = /dev/dri/renderD128
|
|
|
|
##############################################
|
|
# Some configurable parameters, are merely toggles for specific features
|
|
# The first occurrence turns it on, the second occurence turns it off, the third occurence turns it on again, etc, etc
|
|
# Here, you change the default state of any flag
|
|
#
|
|
# To set the initial state of flags -0 and -1 to on, set the following flags:
|
|
# flags = 01
|
|
#
|
|
# See: sunshine --help for all options under the header: flags
|