feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
This commit is contained in:
Georgi Valkov
2026-05-21 18:43:53 +03:00
committed by GitHub
parent 2db7176f73
commit 3a69acefa0
7 changed files with 99 additions and 0 deletions
+1
View File
@@ -253,6 +253,7 @@
"lan_encryption_mode": 0,
"wan_encryption_mode": 1,
"ping_timeout": 10000,
"packetsize": 0,
},
},
{
@@ -173,6 +173,13 @@ const effectivePort = computed(() => +config.value?.port ?? defaultMoonlightPort
<div class="form-text">{{ $t('config.ping_timeout_desc') }}</div>
</div>
<!-- Packet Size Limit -->
<div class="mb-3">
<label for="packetsize" class="form-label">{{ $t('config.packetsize') }}</label>
<input type="number" min="0" max="65535" class="form-control" id="packetsize" placeholder="0" v-model="config.packetsize" />
<div class="form-text">{{ $t('config.packetsize_desc') }}</div>
</div>
</div>
</template>
@@ -319,6 +319,8 @@
"output_name": "Display Id",
"output_name_desc_unix": "During Sunshine startup, you should see the list of detected displays. Note: You need to use the id value inside the parenthesis. Below is an example; the actual output can be found in the Troubleshooting tab.",
"output_name_desc_windows": "Manually specify a display device id to use for capture. If unset, the primary display is captured. Note: If you specified a GPU above, this display must be connected to that GPU. During Sunshine startup, you should see the list of detected displays. Below is an example; the actual output can be found in the Troubleshooting tab.",
"packetsize": "Packet Size Limit",
"packetsize_desc": "Limit the packet size to avoid fragmentation on a low MTU link. This helps reduce packet loss and micro-stuttering, while streaming over a layer 2 VPN to clients that cannot configure this value, e.g. Moonlight for Android/iOS. Reduce the bitrate when using low values. Values larger than 1456 require jumbo frames. Range: 0, 200-65536. A value of 0 will disable the limit.",
"ping_timeout": "Ping Timeout",
"ping_timeout_desc": "How long to wait in milliseconds for data from moonlight before shutting down the stream",
"pkey": "Private Key",