# 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 # 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 # 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 # 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-sources | grep "name:" # audio_sink = alsa_output.pci-0000_09_00.3.analog-stereo.monitor # # !! Windows only !! # tools\audio-info.exe # audio_sink = {0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B} # !! 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 ############################################### # 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 = 2 # 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. # If set to 0 (default), Sunshine will not advertise support for HEVC # If set to 1, Sunshine will advertise support for HEVC Main profile # If set to 2, Sunshine will advertise support for HEVC Main and Main10 (HDR) profiles # hevc_mode = 2 # See x264 --fullhelp for the different presets preset = superfast tune = zerolatency