Add encoding frame rate limit
This commit is contained in:
@@ -417,6 +417,7 @@ namespace config {
|
|||||||
|
|
||||||
video_t video {
|
video_t video {
|
||||||
false, // headless_mode
|
false, // headless_mode
|
||||||
|
true, // limit_framerate
|
||||||
28, // qp
|
28, // qp
|
||||||
|
|
||||||
0, // hevc_mode
|
0, // hevc_mode
|
||||||
@@ -1089,6 +1090,7 @@ namespace config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool_f(vars, "headless_mode", video.headless_mode);
|
bool_f(vars, "headless_mode", video.headless_mode);
|
||||||
|
bool_f(vars, "limit_framerate", video.limit_framerate);
|
||||||
int_f(vars, "qp", video.qp);
|
int_f(vars, "qp", video.qp);
|
||||||
int_between_f(vars, "hevc_mode", video.hevc_mode, { 0, 3 });
|
int_between_f(vars, "hevc_mode", video.hevc_mode, { 0, 3 });
|
||||||
int_between_f(vars, "av1_mode", video.av1_mode, { 0, 3 });
|
int_between_f(vars, "av1_mode", video.av1_mode, { 0, 3 });
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
namespace config {
|
namespace config {
|
||||||
struct video_t {
|
struct video_t {
|
||||||
bool headless_mode;
|
bool headless_mode;
|
||||||
|
bool limit_framerate;
|
||||||
// ffmpeg params
|
// ffmpeg params
|
||||||
int qp; // higher == more compression and less quality
|
int qp; // higher == more compression and less quality
|
||||||
|
|
||||||
|
|||||||
@@ -193,6 +193,8 @@
|
|||||||
"dd_config_revert_delay": 3000,
|
"dd_config_revert_delay": 3000,
|
||||||
"dd_mode_remapping": {"mixed": [], "resolution_only": [], "refresh_rate_only": []},
|
"dd_mode_remapping": {"mixed": [], "resolution_only": [], "refresh_rate_only": []},
|
||||||
"dd_wa_hdr_toggle": "disabled",
|
"dd_wa_hdr_toggle": "disabled",
|
||||||
|
"fallback_mode": "",
|
||||||
|
"headless_mode": "disabled",
|
||||||
"min_fps_factor": 1,
|
"min_fps_factor": 1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -229,6 +231,7 @@
|
|||||||
"fec_percentage": 20,
|
"fec_percentage": 20,
|
||||||
"qp": 28,
|
"qp": 28,
|
||||||
"min_threads": 2,
|
"min_threads": 2,
|
||||||
|
"limit_framerate": "enabled",
|
||||||
"hevc_mode": 0,
|
"hevc_mode": 0,
|
||||||
"av1_mode": 0,
|
"av1_mode": 0,
|
||||||
"capture": "",
|
"capture": "",
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import PlatformLayout from '../../PlatformLayout.vue'
|
import PlatformLayout from '../../PlatformLayout.vue'
|
||||||
|
import Checkbox from "../../Checkbox.vue";
|
||||||
|
|
||||||
const props = defineProps([
|
const props = defineProps([
|
||||||
'platform',
|
'platform',
|
||||||
@@ -34,6 +35,14 @@ const config = ref(props.config)
|
|||||||
<div class="form-text">{{ $t('config.min_threads_desc') }}</div>
|
<div class="form-text">{{ $t('config.min_threads_desc') }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Limit Framerate -->
|
||||||
|
<Checkbox class="mb-3"
|
||||||
|
id="limit_framerate"
|
||||||
|
locale-prefix="config"
|
||||||
|
v-model="config.limit_framerate"
|
||||||
|
default="true"
|
||||||
|
></Checkbox>
|
||||||
|
|
||||||
<!-- HEVC Support -->
|
<!-- HEVC Support -->
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="hevc_mode" class="form-label">{{ $t('config.hevc_mode') }}</label>
|
<label for="hevc_mode" class="form-label">{{ $t('config.hevc_mode') }}</label>
|
||||||
|
|||||||
@@ -283,6 +283,8 @@
|
|||||||
"lan_encryption_mode_1": "Enabled for supported clients",
|
"lan_encryption_mode_1": "Enabled for supported clients",
|
||||||
"lan_encryption_mode_2": "Required for all clients",
|
"lan_encryption_mode_2": "Required for all clients",
|
||||||
"lan_encryption_mode_desc": "This determines when encryption will be used when streaming over your local network. Encryption can reduce streaming performance, particularly on less powerful hosts and clients.",
|
"lan_encryption_mode_desc": "This determines when encryption will be used when streaming over your local network. Encryption can reduce streaming performance, particularly on less powerful hosts and clients.",
|
||||||
|
"limit_framerate": "Limit capture framerate",
|
||||||
|
"limit_framerate_desc": "Limit the framerate being captured to client requested framerate. May not run at full framerate if vsync is enabled and display refreshrate does not match requested framerate. Could cause lag on some clients if disabled.",
|
||||||
"locale": "Locale",
|
"locale": "Locale",
|
||||||
"locale_desc": "The locale used for Apollo's user interface.",
|
"locale_desc": "The locale used for Apollo's user interface.",
|
||||||
"log_level": "Log Level",
|
"log_level": "Log Level",
|
||||||
|
|||||||
@@ -278,6 +278,8 @@
|
|||||||
"lan_encryption_mode_1": "为支持的客户端启用",
|
"lan_encryption_mode_1": "为支持的客户端启用",
|
||||||
"lan_encryption_mode_2": "强制所有客户端使用",
|
"lan_encryption_mode_2": "强制所有客户端使用",
|
||||||
"lan_encryption_mode_desc": "这将决定在本地网络上进行流媒体传输时何时使用加密。加密会降低流媒体性能,尤其是在功能较弱的主机和客户端上。",
|
"lan_encryption_mode_desc": "这将决定在本地网络上进行流媒体传输时何时使用加密。加密会降低流媒体性能,尤其是在功能较弱的主机和客户端上。",
|
||||||
|
"limit_framerate": "限制捕获帧率",
|
||||||
|
"limit_framerate_desc": "将捕获帧率限制到客户端请求的帧率。当启用垂直同步且显示器刷新率与客户端刷新率不匹配时可能会跑不满请求的帧率。若禁用,可能会在某些客户端上导致延迟。",
|
||||||
"locale": "本地化",
|
"locale": "本地化",
|
||||||
"locale_desc": "用于 Apollo 用户界面的本地化设置。",
|
"locale_desc": "用于 Apollo 用户界面的本地化设置。",
|
||||||
"log_level": "日志级别",
|
"log_level": "日志级别",
|
||||||
|
|||||||
Reference in New Issue
Block a user