2019-12-03 19:23:33 +00:00
|
|
|
# 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
|
|
|
|
|
2019-12-25 23:01:06 +00:00
|
|
|
# The name displayed by Moonlight
|
2020-01-18 04:03:50 +00:00
|
|
|
# If not specified, the PC's hostname is used
|
|
|
|
# sunshine_name = Sunshine
|
2019-12-25 23:01:06 +00:00
|
|
|
|
2020-01-09 21:02:01 +00:00
|
|
|
# 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
|
|
|
|
|
2019-12-27 15:04:18 +00:00
|
|
|
# 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
|
|
|
|
|
2020-01-20 22:08:44 +00:00
|
|
|
# The file where current state of Sunshine is stored
|
|
|
|
# file_state = sunshine_state.json
|
2019-12-03 19:23:33 +00:00
|
|
|
|
|
|
|
# How long to wait in milliseconds for data from moonlight before shutting down the stream
|
2020-01-29 19:43:46 +00:00
|
|
|
# ping_timeout = 2000
|
2019-12-11 22:37:20 +00:00
|
|
|
|
2019-12-16 21:02:21 +00:00
|
|
|
# The file where configuration for the different applications that Sunshine can run during a stream
|
|
|
|
# file_apps = apps.json
|
|
|
|
|
2020-01-18 02:45:14 +00:00
|
|
|
# How much error correcting packets must be send for every video
|
2019-12-11 22:37:20 +00:00
|
|
|
# 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
|
2020-01-18 10:36:07 +00:00
|
|
|
#
|
|
|
|
# The value must be greater than 0 and lower than or equal to 100
|
2020-01-29 19:43:46 +00:00
|
|
|
# fec_percentage = 10
|
2019-12-03 19:23:33 +00:00
|
|
|
|
2020-02-08 15:26:38 +00:00
|
|
|
# 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
|
2019-12-22 22:34:12 +00:00
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2020-04-25 22:23:34 +00:00
|
|
|
# !! 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
|
2020-01-24 00:05:43 +00:00
|
|
|
|
2020-01-17 23:58:27 +00:00
|
|
|
# The name of the audio sink used for Audio Loopback
|
2020-01-18 05:11:30 +00:00
|
|
|
# If you do not specify this variable, pulseaudio will select the default monitor device.
|
2020-01-17 23:58:27 +00:00
|
|
|
#
|
|
|
|
# You can find the name of the audio sink using the following command:
|
2020-01-24 22:17:05 +00:00
|
|
|
# !! Linux only !!
|
2020-01-17 23:58:27 +00:00
|
|
|
# pacmd list-sources | grep "name:"
|
|
|
|
# audio_sink = alsa_output.pci-0000_09_00.3.analog-stereo.monitor
|
2020-01-24 22:17:05 +00:00
|
|
|
#
|
|
|
|
# !! Windows only !!
|
|
|
|
# tools\audio-info.exe
|
|
|
|
# audio_sink = {0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B}
|
2019-12-22 22:34:12 +00:00
|
|
|
|
2020-01-24 00:05:43 +00:00
|
|
|
# !! 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
|
|
|
|
|
2021-02-28 13:52:47 +00:00
|
|
|
# !! Linux only !!
|
2021-02-28 13:56:23 +00:00
|
|
|
# Set the display number to stream. I have no idea how they are numbered. They start from 1, usually.
|
2021-04-24 21:41:56 +00:00
|
|
|
# output_name = 1
|
2020-01-24 00:05:43 +00:00
|
|
|
|
2019-12-03 19:23:33 +00:00
|
|
|
###############################################
|
|
|
|
# FFmpeg software encoding parameters
|
|
|
|
# Honestly, I have no idea what the optimal values would be.
|
|
|
|
# Play around with this :)
|
|
|
|
|
2019-12-12 12:13:10 +00:00
|
|
|
# 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
|
2019-12-03 19:23:33 +00:00
|
|
|
# Higher value means more compression, but less quality
|
2019-12-12 12:13:10 +00:00
|
|
|
# If crf == 0, then use QP directly instead
|
2021-02-28 13:56:23 +00:00
|
|
|
# crf = 0
|
2019-12-12 12:13:10 +00:00
|
|
|
|
|
|
|
# Quantitization Parameter
|
|
|
|
# Higher value means more compression, but less quality
|
|
|
|
# If crf != 0, then this parameter is ignored
|
2020-01-29 19:43:46 +00:00
|
|
|
# qp = 28
|
2019-12-06 19:52:08 +00:00
|
|
|
|
2020-01-21 01:23:57 +00:00
|
|
|
# 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.
|
2021-02-28 13:56:23 +00:00
|
|
|
# min_threads = 1
|
2019-12-06 20:41:30 +00:00
|
|
|
|
2020-01-20 03:46:45 +00:00
|
|
|
# Allows the client to request HEVC Main or HEVC Main10 video streams.
|
2020-04-13 21:15:24 +00:00
|
|
|
# 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
|
2021-02-28 13:56:23 +00:00
|
|
|
# hevc_mode = 2
|
2020-04-13 21:15:24 +00:00
|
|
|
|
|
|
|
# Force a specific encoder, otherwise Sunshine will use the first encoder that is available
|
|
|
|
# supported encoders:
|
|
|
|
# nvenc
|
2021-04-24 12:23:12 +00:00
|
|
|
# amdvce # NOTE: alpha stage. The cursor is not yet displayed
|
2020-04-13 21:15:24 +00:00
|
|
|
# software
|
|
|
|
#
|
2021-02-28 13:56:23 +00:00
|
|
|
# encoder = nvenc
|
2020-04-13 21:15:24 +00:00
|
|
|
##################################### Software #####################################
|
2019-12-06 19:52:08 +00:00
|
|
|
# See x264 --fullhelp for the different presets
|
2020-04-13 21:15:24 +00:00
|
|
|
# sw_preset = superfast
|
|
|
|
# sw_tune = zerolatency
|
2020-03-19 18:59:27 +00:00
|
|
|
#
|
2020-04-13 21:15:24 +00:00
|
|
|
|
|
|
|
##################################### 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
|
2020-03-19 18:59:27 +00:00
|
|
|
#
|
2020-04-13 21:15:24 +00:00
|
|
|
####### 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
|
|
|
|
|
2021-04-24 12:23:12 +00:00
|
|
|
##################################### AMD #####################################
|
|
|
|
###### presets ###########
|
|
|
|
# default
|
|
|
|
# speed
|
|
|
|
# balanced
|
|
|
|
##########################
|
|
|
|
# amd_preset = balanced
|
|
|
|
#
|
|
|
|
####### rate control #####
|
2021-05-09 14:37:40 +00:00
|
|
|
# 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
|
2021-04-24 12:23:12 +00:00
|
|
|
##########################
|
|
|
|
# amd_rc = auto
|
|
|
|
|
|
|
|
###### h264 entropy ######
|
|
|
|
# auto -- let ffmpeg nvenc decide the entropy encoding
|
|
|
|
# cabac
|
|
|
|
# cavlc
|
|
|
|
##########################
|
|
|
|
# amd_coder = auto
|
2020-04-13 21:15:24 +00:00
|
|
|
|
2020-03-19 18:59:27 +00:00
|
|
|
##############################################
|
|
|
|
# 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
|