Add option to ignore encoder probe failure

This commit is contained in:
Yukino Song
2025-07-16 01:51:16 +08:00
parent fae6da3fb7
commit 1fd920ef1d
7 changed files with 21 additions and 1 deletions

View File

@@ -514,6 +514,7 @@ namespace config {
"1920x1080x60", // fallback_mode
false, // isolated Display
false, // ignore_encoder_probe_failure
};
audio_t audio {
@@ -1199,6 +1200,7 @@ namespace config {
int_f(vars, "max_bitrate", video.max_bitrate);
string_f(vars, "fallback_mode", video.fallback_mode);
bool_f(vars, "isolated_virtual_display_option", video.isolated_virtual_display_option);
bool_f(vars, "ignore_encoder_probe_failure", video.ignore_encoder_probe_failure);
path_f(vars, "pkey", nvhttp.pkey);
path_f(vars, "cert", nvhttp.cert);

View File

@@ -147,6 +147,7 @@ namespace config {
std::string fallback_mode;
bool isolated_virtual_display_option;
bool ignore_encoder_probe_failure;
};
struct audio_t {

View File

@@ -353,8 +353,12 @@ namespace proc {
// due to hotplugging, driver crash, primary monitor change,
// or any number of other factors).
if (rtsp_stream::session_count() == 0 && video::probe_encoders()) {
if (config::video.ignore_encoder_probe_failure) {
BOOST_LOG(warning) << "Encoder probe failed, but continuing due to user configuration.";
} else {
return 503;
}
}
std::string fps_str;
char fps_buf[8];

View File

@@ -247,6 +247,7 @@
"limit_framerate": "enabled",
"envvar_compatibility_mode": "disabled",
"legacy_ordering": "disabled",
"ignore_encoder_probe_failure": "disabled",
"hevc_mode": 0,
"av1_mode": 0,
"capture": "",

View File

@@ -58,6 +58,14 @@ const config = ref(props.config)
default="false"
></Checkbox>
<!-- Ignore Encoder Probe Failure -->
<Checkbox class="mb-3"
id="ignore_encoder_probe_failure"
locale-prefix="config"
v-model="config.ignore_encoder_probe_failure"
default="false"
></Checkbox>
<!-- HEVC Support -->
<div class="mb-3">
<label for="hevc_mode" class="form-label">{{ $t('config.hevc_mode') }}</label>

View File

@@ -302,6 +302,8 @@
"hide_tray_controls_desc": "Do not show \"Force Stop\", \"Restart\" and \"Quit\" in tray menu.",
"high_resolution_scrolling": "High Resolution Scrolling Support",
"high_resolution_scrolling_desc": "When enabled, Apollo will pass through high resolution scroll events from Moonlight clients. This can be useful to disable for older applications that scroll too fast with high resolution scroll events.",
"ignore_encoder_probe_failure": "Ignore Encoder Probe Failure",
"ignore_encoder_probe_failure_desc": "Allow streaming to continue even if probing for encoders fails. This may result in streaming failure if no encoder is available.",
"install_steam_audio_drivers": "Install Steam Audio Drivers",
"install_steam_audio_drivers_desc": "If Steam is installed, this will automatically install the Steam Streaming Speakers driver to support 5.1/7.1 surround sound and muting host audio.",
"isolated_virtual_display_option": "Move the Virtual Display to the bottom right-most corner of the display layout",

View File

@@ -297,6 +297,8 @@
"hide_tray_controls_desc": "不在托盘图标菜单内显示 \"Force Close\", \"Restart\" 和 \"Quit\"。",
"high_resolution_scrolling": "高分辨率鼠标滚动支持",
"high_resolution_scrolling_desc": "启用后Apollo 将透传来自 Moonlight 客户端的高分辨率滚动事件。对于那些使用高分辨率滚动事件时滚动速度过快的旧版应用程序来说,禁用此功能非常有用。",
"ignore_encoder_probe_failure": "忽略编码器探测失败",
"ignore_encoder_probe_failure_desc": "即使探测编码器失败也允许继续推流。如果无可用编码器,这可能导致推流失败。",
"install_steam_audio_drivers": "安装 Steam 音频驱动程序",
"install_steam_audio_drivers_desc": "如果安装了 Steam则会自动安装 Steam Streaming Speakers 驱动程序,以支持 5.1/7.1 环绕声和主机音频静音。",
"isolated_virtual_display_option": "将虚拟显示器移动到显示布局的右下角",