Add vulkan video encoding option, improve translation strings

This commit is contained in:
dec05eba
2026-04-18 20:45:45 +02:00
parent 0c6d887def
commit 532c50ce6d
15 changed files with 184 additions and 50 deletions

2
TODO
View File

@@ -259,4 +259,4 @@ Keep replay turned on when opening a fullscreen application and alt-tabbing. Onl
Show vulkan codec options.
Use game information to save video under the game title if available, fallback to window title.
Use wlroots protocol for region selection, if the protocol is available.

View File

@@ -57,6 +57,7 @@ namespace gsr {
bool record_cursor = true;
bool restore_portal_session = true;
bool low_power_mode = false;
bool enable_vulkan_video_encoding = false;
std::string webcam_source = "";
bool webcam_flip_horizontally = false;

View File

@@ -18,6 +18,13 @@ namespace gsr {
bool av1_10bit = false;
bool vp8 = false;
bool vp9 = false;
bool h264_vulkan = false;
bool hevc_vulkan = false;
bool hevc_hdr_vulkan = false;
bool hevc_10bit_vulkan = false;
bool av1_vulkan = false;
bool av1_hdr_vulkan = false;
bool av1_10bit_vulkan = false;
};
struct SupportedImageFormats {

View File

@@ -109,6 +109,7 @@ namespace gsr {
std::unique_ptr<List> create_framerate_mode();
std::unique_ptr<List> create_framerate_section();
std::unique_ptr<Widget> create_record_cursor_section();
std::unique_ptr<Widget> create_enable_vulkan_video_encoding_section();
std::unique_ptr<Widget> create_video_section();
std::unique_ptr<Widget> create_settings();
void add_widgets();
@@ -131,9 +132,9 @@ namespace gsr {
std::unique_ptr<CheckBox> create_save_recording_in_game_folder();
std::unique_ptr<Label> create_estimated_record_file_size();
void update_estimated_record_file_size();
std::unique_ptr<CheckBox> create_led_indicator(const char *type);
std::unique_ptr<CheckBox> create_notifications(const char *type);
std::unique_ptr<List> create_indicator(const char *type);
std::unique_ptr<CheckBox> create_led_indicator();
std::unique_ptr<CheckBox> create_notifications();
std::unique_ptr<List> create_indicator();
std::unique_ptr<Widget> create_low_power_mode();
void add_replay_widgets();
void add_record_widgets();
@@ -232,6 +233,7 @@ namespace gsr {
CheckBox *flip_camera_horizontally_checkbox_ptr = nullptr;
CheckBox *low_power_mode_checkbox_ptr = nullptr;
CheckBox *replay_power_supply_checkbox_ptr = nullptr;
CheckBox *enable_vulkan_checkbox_ptr = nullptr;
PageStack *page_stack = nullptr;

View File

@@ -198,6 +198,7 @@ namespace gsr {
{"streaming.record_options.record_cursor", &config.streaming_config.record_options.record_cursor},
{"streaming.record_options.restore_portal_session", &config.streaming_config.record_options.restore_portal_session},
{"streaming.record_options.low_power_mode", &config.streaming_config.record_options.low_power_mode},
{"streaming.record_options.enable_vulkan_video_encoding", &config.streaming_config.record_options.enable_vulkan_video_encoding},
{"streaming.record_options.webcam_source", &config.streaming_config.record_options.webcam_source},
{"streaming.record_options.webcam_flip_horizontally", &config.streaming_config.record_options.webcam_flip_horizontally},
{"streaming.record_options.webcam_video_format", &config.streaming_config.record_options.webcam_video_format},
@@ -240,6 +241,7 @@ namespace gsr {
{"record.record_options.record_cursor", &config.record_config.record_options.record_cursor},
{"record.record_options.restore_portal_session", &config.record_config.record_options.restore_portal_session},
{"record.record_options.low_power_mode", &config.record_config.record_options.low_power_mode},
{"record.record_options.enable_vulkan_video_encoding", &config.record_config.record_options.enable_vulkan_video_encoding},
{"record.record_options.webcam_source", &config.record_config.record_options.webcam_source},
{"record.record_options.webcam_flip_horizontally", &config.record_config.record_options.webcam_flip_horizontally},
{"record.record_options.webcam_video_format", &config.record_config.record_options.webcam_video_format},
@@ -279,6 +281,7 @@ namespace gsr {
{"replay.record_options.record_cursor", &config.replay_config.record_options.record_cursor},
{"replay.record_options.restore_portal_session", &config.replay_config.record_options.restore_portal_session},
{"replay.record_options.low_power_mode", &config.replay_config.record_options.low_power_mode},
{"replay.record_options.enable_vulkan_video_encoding", &config.replay_config.record_options.enable_vulkan_video_encoding},
{"replay.record_options.webcam_source", &config.replay_config.record_options.webcam_source},
{"replay.record_options.webcam_flip_horizontally", &config.replay_config.record_options.webcam_flip_horizontally},
{"replay.record_options.webcam_video_format", &config.replay_config.record_options.webcam_video_format},

View File

@@ -157,6 +157,20 @@ namespace gsr {
gsr_info->supported_video_codecs.vp8 = true;
else if(line == "vp9")
gsr_info->supported_video_codecs.vp9 = true;
else if(line == "h264_vulkan")
gsr_info->supported_video_codecs.h264_vulkan = true;
else if(line == "hevc_vulkan")
gsr_info->supported_video_codecs.hevc_vulkan = true;
else if(line == "hevc_hdr_vulkan")
gsr_info->supported_video_codecs.hevc_hdr_vulkan = true;
else if(line == "hevc_10bit_vulkan")
gsr_info->supported_video_codecs.hevc_10bit_vulkan = true;
else if(line == "av1_vulkan")
gsr_info->supported_video_codecs.av1_vulkan = true;
else if(line == "av1_hdr_vulkan")
gsr_info->supported_video_codecs.av1_hdr_vulkan = true;
else if(line == "av1_10bit_vulkan")
gsr_info->supported_video_codecs.av1_10bit_vulkan = true;
}
static void parse_image_formats_line(GsrInfo *gsr_info, std::string_view line) {

View File

@@ -2812,7 +2812,7 @@ namespace gsr {
return container;
}
static void choose_video_codec_and_container_with_fallback(const GsrInfo &gsr_info, const char **video_codec, const char **container, const char **encoder) {
static void choose_video_codec_and_container_with_fallback(const GsrInfo &gsr_info, const RecordOptions &record_options, const char **video_codec, const char **container, const char **encoder) {
*encoder = "gpu";
if(strcmp(*video_codec, "h264_software") == 0) {
*video_codec = "h264";
@@ -2824,6 +2824,23 @@ namespace gsr {
}
}
*container = change_container_if_codec_not_supported(*video_codec, *container);
if(record_options.enable_vulkan_video_encoding && strcmp(*encoder, "gpu") == 0) {
if(strcmp(*video_codec, "h264") == 0)
*video_codec = "h264_vulkan";
else if(strcmp(*video_codec, "hevc") == 0)
*video_codec = "hevc_vulkan";
else if(strcmp(*video_codec, "hevc_hdr") == 0)
*video_codec = "hevc_hdr_vulkan";
else if(strcmp(*video_codec, "hevc_10bit") == 0)
*video_codec = "hevc_10bit_vulkan";
else if(strcmp(*video_codec, "av1") == 0)
*video_codec = "av1_vulkan";
else if(strcmp(*video_codec, "av1_hdr") == 0)
*video_codec = "av1_hdr_vulkan";
else if(strcmp(*video_codec, "av1_10bit") == 0)
*video_codec = "av1_10bit_vulkan";
}
}
static std::string get_framerate_mode_validate(const RecordOptions &record_options, const GsrInfo &gsr_info) {
@@ -2976,7 +2993,7 @@ namespace gsr {
const char *container = config.replay_config.container.c_str();
const char *video_codec = config.replay_config.record_options.video_codec.c_str();
const char *encoder = "gpu";
choose_video_codec_and_container_with_fallback(gsr_info, &video_codec, &container, &encoder);
choose_video_codec_and_container_with_fallback(gsr_info, config.replay_config.record_options, &video_codec, &container, &encoder);
char size[64];
size[0] = '\0';
@@ -3217,7 +3234,7 @@ namespace gsr {
const char *container = config.record_config.container.c_str();
const char *video_codec = config.record_config.record_options.video_codec.c_str();
const char *encoder = "gpu";
choose_video_codec_and_container_with_fallback(gsr_info, &video_codec, &container, &encoder);
choose_video_codec_and_container_with_fallback(gsr_info, config.record_config.record_options, &video_codec, &container, &encoder);
char size[64];
size[0] = '\0';
@@ -3418,12 +3435,12 @@ namespace gsr {
container = config.streaming_config.custom.container.c_str();
const char *video_codec = config.streaming_config.record_options.video_codec.c_str();
const char *encoder = "gpu";
choose_video_codec_and_container_with_fallback(gsr_info, &video_codec, &container, &encoder);
choose_video_codec_and_container_with_fallback(gsr_info, config.streaming_config.record_options, &video_codec, &container, &encoder);
const std::string url = streaming_get_url(config);
if(config.streaming_config.streaming_service == "rumble" || config.streaming_config.streaming_service == "kick") {
fprintf(stderr, "Info: forcing video codec to h264 as rumble/kick supports only h264\n");
video_codec = "h264";
video_codec = "h264"; // TODO: Vulkan
}
char size[64];

View File

@@ -45,6 +45,16 @@ namespace gsr {
return result;
}
static bool supports_vulkan_video_encoding(const SupportedVideoCodecs &supported_video_codecs) {
return supported_video_codecs.h264_vulkan
|| supported_video_codecs.hevc_vulkan
|| supported_video_codecs.hevc_hdr_vulkan
|| supported_video_codecs.hevc_10bit_vulkan
|| supported_video_codecs.av1_vulkan
|| supported_video_codecs.av1_hdr_vulkan
|| supported_video_codecs.av1_10bit_vulkan;
}
SettingsPage::SettingsPage(Type type, const GsrInfo *gsr_info, Config &config, PageStack *page_stack, bool supports_window_title) :
StaticPage(mgl::vec2f(get_theme().window_width, get_theme().window_height).floor()),
type(type),
@@ -968,12 +978,39 @@ namespace gsr {
return record_cursor_checkbox;
}
std::unique_ptr<Widget> SettingsPage::create_enable_vulkan_video_encoding_section() {
auto list = std::make_unique<List>(List::Orientation::HORIZONTAL, List::Alignment::CENTER);
auto enable_vulkan_checkbox = std::make_unique<CheckBox>(get_theme().body_font_desc.c_str(), TR("Enable vulkan video encoding (experimental)"));
enable_vulkan_checkbox_ptr = enable_vulkan_checkbox.get();
list->add_widget(std::move(enable_vulkan_checkbox));
auto info = std::make_unique<Image>(&get_theme().question_mark_texture, enable_vulkan_checkbox_ptr->get_size(), Image::ScaleBehavior::SCALE);
info->set_tooltip_text(
TR("Use vulkan video encoding instead of VAAPI/NVENC.\n"
"Enabling this may result in better game performance while recording, especially on NVIDIA.\n"
"Note that this option is experimental. There may be GPU driver issues that causes issues when this is enabled.")
);
Image *info_ptr = info.get();
info->on_mouse_move = [info_ptr](bool inside) {
if(inside)
set_current_tooltip(info_ptr);
else
remove_as_current_tooltip(info_ptr);
};
list->add_widget(std::move(info));
return list;
}
std::unique_ptr<Widget> SettingsPage::create_video_section() {
auto video_section_list = std::make_unique<List>(List::Orientation::VERTICAL);
video_section_list->add_widget(create_video_quality_section());
video_section_list->add_widget(create_video_codec());
video_section_list->add_widget(create_framerate_section());
video_section_list->add_widget(create_record_cursor_section());
video_section_list->add_widget(create_enable_vulkan_video_encoding_section());
return std::make_unique<Subsection>(TR("Video"), std::move(video_section_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f));
}
@@ -1204,6 +1241,7 @@ namespace gsr {
audio_codec_ptr->set_visible(advanced_view);
video_codec_ptr->set_visible(advanced_view);
framerate_mode_list_ptr->set_visible(advanced_view);
enable_vulkan_checkbox_ptr->set_visible(advanced_view && supports_vulkan_video_encoding(gsr_info->supported_video_codecs));
set_application_audio_options_visible(audio_track_section_list_ptr, advanced_view, *gsr_info);
settings_scrollable_page_ptr->reset_scroll();
}
@@ -1218,9 +1256,20 @@ namespace gsr {
}
}
std::unique_ptr<CheckBox> SettingsPage::create_led_indicator(const char *type) {
std::unique_ptr<CheckBox> SettingsPage::create_led_indicator() {
char label_str[256];
snprintf(label_str, sizeof(label_str), TR("Show %s status with scroll lock LED"), type);
label_str[0] = '\0';
switch(type) {
case Type::REPLAY:
snprintf(label_str, sizeof(label_str), "%s", TR("Show replay status with scroll lock LED"));
break;
case Type::RECORD:
snprintf(label_str, sizeof(label_str), "%s", TR("Show recording status with scroll lock LED"));
break;
case Type::STREAM:
snprintf(label_str, sizeof(label_str), "%s", TR("Show streaming status with scroll lock LED"));
break;
}
auto checkbox = std::make_unique<CheckBox>(get_theme().body_font_desc.c_str(), label_str);
checkbox->set_checked(false);
@@ -1228,19 +1277,31 @@ namespace gsr {
return checkbox;
}
std::unique_ptr<CheckBox> SettingsPage::create_notifications(const char *type) {
std::unique_ptr<CheckBox> SettingsPage::create_notifications() {
char label_str[256];
snprintf(label_str, sizeof(label_str), TR("Show %s notifications"), type);
label_str[0] = '\0';
switch(type) {
case Type::REPLAY:
snprintf(label_str, sizeof(label_str), "%s", TR("Show replay notifications"));
break;
case Type::RECORD:
snprintf(label_str, sizeof(label_str), "%s", TR("Show recording notifications"));
break;
case Type::STREAM:
snprintf(label_str, sizeof(label_str), "%s", TR("Show streaming notifications"));
break;
}
auto checkbox = std::make_unique<CheckBox>(get_theme().body_font_desc.c_str(), label_str);
checkbox->set_checked(true);
show_notification_checkbox_ptr = checkbox.get();
return checkbox;
}
std::unique_ptr<List> SettingsPage::create_indicator(const char *type) {
std::unique_ptr<List> SettingsPage::create_indicator() {
auto list = std::make_unique<List>(List::Orientation::VERTICAL);
list->add_widget(create_notifications(type));
list->add_widget(create_led_indicator(type));
list->add_widget(create_notifications());
list->add_widget(create_led_indicator());
return list;
}
@@ -1289,7 +1350,7 @@ namespace gsr {
general_list->add_widget(create_low_power_mode());
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("General"), std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Replay indicator"), create_indicator(TR("replay")), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Replay indicator"), create_indicator(), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Autostart"), create_start_replay_automatically_section(), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
view_radio_button_ptr->on_selection_changed = [this](std::string_view, std::string_view id) {
@@ -1346,7 +1407,7 @@ namespace gsr {
general_list->add_widget(create_low_power_mode());
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("General"), std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Recording indicator"), create_indicator(TR("recording")), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Recording indicator"), create_indicator(), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
view_radio_button_ptr->on_selection_changed = [this](std::string_view, std::string_view id) {
view_changed(id == "advanced");
@@ -1512,7 +1573,7 @@ namespace gsr {
general_list->add_widget(create_low_power_mode());
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("General"), std::move(general_list), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Streaming indicator"), create_indicator(TR("streaming")), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
settings_list_ptr->add_widget(std::make_unique<Subsection>(TR("Streaming indicator"), create_indicator(), mgl::vec2f(settings_scrollable_page_ptr->get_inner_size().x, 0.0f)));
streaming_service_box_ptr->on_selection_changed = [this](std::string_view, std::string_view id) {
const bool twitch_option = id == "twitch";
@@ -1657,6 +1718,7 @@ namespace gsr {
show_notification_checkbox_ptr->set_checked(record_options.show_notifications);
led_indicator_checkbox_ptr->set_checked(record_options.use_led_indicator);
low_power_mode_checkbox_ptr->set_checked(record_options.low_power_mode);
enable_vulkan_checkbox_ptr->set_checked(record_options.enable_vulkan_video_encoding);
char webcam_setup_str[256];
snprintf(webcam_setup_str, sizeof(webcam_setup_str), "%dx%d@%dhz", record_options.webcam_camera_width, record_options.webcam_camera_height, record_options.webcam_camera_fps);
@@ -1809,6 +1871,7 @@ namespace gsr {
record_options.show_notifications = show_notification_checkbox_ptr->is_checked();
record_options.use_led_indicator = led_indicator_checkbox_ptr->is_checked();
record_options.low_power_mode = low_power_mode_checkbox_ptr->is_checked();
record_options.enable_vulkan_video_encoding = enable_vulkan_checkbox_ptr->is_checked();
// TODO: Set selected_camera_setup properly when updating and shit

View File

@@ -372,11 +372,16 @@ Record in low-power mode=Grabar en modo de bajo consumo
Record cursor=Grabar cursor
Do not force the GPU to go into high performance mode when recording.\nMay affect recording performance, especially when playing a video at the same time.\nIf enabled then it's recommended to use sync to content frame rate mode to reduce power usage when idle.=No forzar a la GPU a entrar en modo de alto rendimiento al grabar.\nPuede afectar al rendimiento de la grabación, especialmente al reproducir un vídeo al mismo tiempo.\nSi se activa, se recomienda usar el modo de sincronización con la velocidad de fotogramas del contenido para reducir el consumo de energía cuando está inactiva.
Use vulkan video encoding instead of VAAPI/NVENC.\nEnabling this may result in better game performance while recording, especially on NVIDIA.\nNote that this option is experimental. There may be GPU driver issues that causes issues when this is enabled.=Utiliza la codificación de vídeo Vulkan en lugar de VAAPI/NVENC.\nHabilitar esta opción puede mejorar el rendimiento de los juegos durante la grabación, especialmente en tarjetas NVIDIA.\nTen en cuenta que esta opción es experimental. Podría haber problemas con los controladores de la GPU al activarla.
Enable vulkan video encoding (experimental)=Habilitar la codificación de vídeo Vulkan (experimental)
Show %s notifications=Mostrar notificación de %s
Show %s status with scroll lock LED=Mostrar estado de %s con el LED de Bloq Despl
Show replay notifications=Mostrar notificaciones de repetición
Show recording notifications=Mostrar notificaciones de grabación
Show streaming notifications=Mostrar notificaciones de transmisión
Show replay status with scroll lock LED=Mostrar estado de repetición con LED de bloqueo de desplazamiento
Show recording status with scroll lock LED=Mostrar estado de grabación con LED de bloqueo de desplazamiento
Show streaming status with scroll lock LED=Mostrar estado de transmisión con LED de bloqueo de desplazamiento
Recording indicator=Indicador de grabación
recording=grabando
Simple=Simple
Audio track #%d=Pista de sonido #%d
@@ -387,7 +392,6 @@ Estimated video file size per minute (excluding audio): %.2fMB=Tamaño estimado
# Replay settings
Directory to save replays:=Directorio para guardar las repeticiones:
Replay indicator=Indicador de repetición
replay=repetición
Turn on replay when starting a game=Activa la repetición al iniciar un juego
Autostart=Inicio automático
in RAM=en RAM
@@ -412,5 +416,4 @@ Custom=Personalizado
Stream URL:=URL de la transmisión
Stream key:=Clave de transmisión
Streaming info=Información de transmisión
Streaming indicator=Indicador de transmisión
streaming=transmisión
Streaming indicator=Indicador de transmisión

View File

@@ -385,11 +385,16 @@ Record in low-power mode=Enregistrer en mode basse consommation
Record cursor=Enregistrer le curseur
Do not force the GPU to go into high performance mode when recording.\nMay affect recording performance, especially when playing a video at the same time.\nIf enabled then it's recommended to use sync to content frame rate mode to reduce power usage when idle.=Ne forcez pas le GPU en mode haute performance lors de lenregistrement.\nPeut affecter les performances, surtout en lisant une vidéo en parallèle.\nSi activé, il est recommandé dutiliser le mode “Synchroniser au contenu” pour réduire la consommation dénergie au repos.
Use vulkan video encoding instead of VAAPI/NVENC.\nEnabling this may result in better game performance while recording, especially on NVIDIA.\nNote that this option is experimental. There may be GPU driver issues that causes issues when this is enabled.=Utilisez l'encodage vidéo Vulkan au lieu de VAAPI/NVENC.\nL'activation de cette option peut améliorer les performances de jeu lors de l'enregistrement, notamment sur les cartes graphiques NVIDIA.\nNotez que cette option est expérimentale. Des problèmes de pilotes GPU peuvent survenir lorsqu'elle est activée.
Enable vulkan video encoding (experimental)=Activer l'encodage vidéo Vulkan (expérimental)
Show %s notifications=Afficher les notifications %s
Show %s status with scroll lock LED=Afficher le statut %s via la LED Arrêt Défil
Show replay notifications=Afficher les notifications de relecture
Show recording notifications=Afficher les notifications d'enregistrement
Show streaming notifications=Afficher les notifications de diffusion
Show replay status with scroll lock LED=Afficher l'état de relecture avec la LED de verrouillage du défilement
Show recording status with scroll lock LED=Afficher l'état d'enregistrement avec la LED de verrouillage du défilement
Show streaming status with scroll lock LED=Afficher l'état de diffusion avec la LED de verrouillage du défilement
Recording indicator=Indicateur denregistrement
recording=Enregistrement
Simple=Simple
Audio track #%d=Piste audio #%d
@@ -400,7 +405,6 @@ Estimated video file size per minute (excluding audio): %.2fMB=Taille estimée d
# Replay settings
Directory to save replays:=Répertoire pour sauvegarder les replays
Replay indicator=Indicateur de replay
replay=replay
Turn on replay when starting a game=Activez la rediffusion au début d'une partie
Autostart=Démarrage automatique
in RAM=En RAM
@@ -426,4 +430,3 @@ Stream URL:=URL du flux
Stream key:=Clé de diffusion
Streaming info=Infos diffusion
Streaming indicator=Indicateur de diffusion
streaming=Diffusion

View File

@@ -377,11 +377,16 @@ Record in low-power mode=Felvétel energiatakarékos módban
Record cursor=Egérmutató felvétele
Do not force the GPU to go into high performance mode when recording.\nMay affect recording performance, especially when playing a video at the same time.\nIf enabled then it's recommended to use sync to content frame rate mode to reduce power usage when idle.=Ne kényszerítse a GPU-t nagy teljesítményű módba felvétel közben.\nEz befolyásolhatja a felvétel teljesítményét, különösen videólejátszás közben.\nHa engedélyezve van, ajánlott a tartalomhoz igazított képkockasebesség mód használata az energiafogyasztás csökkentésére üresjáratban.
Use vulkan video encoding instead of VAAPI/NVENC.\nEnabling this may result in better game performance while recording, especially on NVIDIA.\nNote that this option is experimental. There may be GPU driver issues that causes issues when this is enabled.=Vulkan videokódolás használata VAAPI/NVENC helyett.\nEnnek engedélyezése jobb játékteljesítményt eredményezhet felvétel közben, különösen NVIDIA-n.\nVegye figyelembe, hogy ez a beállítás kísérleti jellegű. Engedélyezése esetén előfordulhatnak GPU-illesztőprogram problémák.
Enable vulkan video encoding (experimental)=Vulkan videókódolás engedélyezése (kísérleti)
Show %s notifications=%s értesítések megjelenítése
Show %s status with scroll lock LED=%s állapot jelzése Scroll Lock LED-del
Show replay notifications=Visszajátszási értesítések megjelenítése
Show recording notifications=Felvételi értesítések megjelenítése
Show streaming notifications=Streamelési értesítések megjelenítése
Show replay status with scroll lock LED=Visszajátszás állapotának megjelenítése a Scroll Lock LED-del
Show recording status with scroll lock LED=Felvétel állapotának megjelenítése a Scroll Lock LED-del
Show streaming status with scroll lock LED=Streamelés állapotának megjelenítése a Scroll Lock LED-del
Recording indicator=Felvétel-jelző
recording=felvétel
Simple=Egyszerű
Audio track #%d=Hangsáv #%d
@@ -392,7 +397,6 @@ Estimated video file size per minute (excluding audio): %.2fMB=Várható videóf
# Replay settings
Directory to save replays:=Visszajátszások mentési mappája:
Replay indicator=Visszajátszás-jelző
replay=visszajátszás
Turn on replay when starting a game=Kapcsolja be az újrajátszást játék indításakor
Autostart=Automatikus indítás
in RAM=RAM-ban
@@ -418,4 +422,3 @@ Stream URL:=Közvetítési URL:
Stream key:=Közvetítési kulcs:
Streaming info=Közvetítési információk
Streaming indicator=Közvetítés-jelző
streaming=közvetítés

View File

@@ -389,11 +389,16 @@ Record in low-power mode=省電力モードで録画
Record cursor=カーソルを記録
Do not force the GPU to go into high performance mode when recording.\nMay affect recording performance, especially when playing a video at the same time.\nIf enabled then it's recommended to use sync to content frame rate mode to reduce power usage when idle.=録画時に GPU を高パフォーマンスモードへ強制しません\n特に動画再生と同時に使うと録画性能に影響する場合があります\n有効時は アイドル時の消費電力削減のため コンテンツ同期フレームレートモードの使用を推奨します
Use vulkan video encoding instead of VAAPI/NVENC.\nEnabling this may result in better game performance while recording, especially on NVIDIA.\nNote that this option is experimental. There may be GPU driver issues that causes issues when this is enabled.=VAAPI/NVENCの代わりにVulkanビデオエンコーディングを使用します。\nこれを有効にすると、特にNVIDIA環境で、録画中のゲームパフォーマンスが向上する可能性があります。\nただし、このオプションは実験的なものであり、有効にするとGPUドライバの問題が発生する場合がありますのでご注意ください。
Enable vulkan video encoding (experimental)=Vulkanビデオエンコードを有効にする実験的機能
Show %s notifications=%s の通知を表示
Show %s status with scroll lock LED=Scroll Lock LED で %s の状態を表示
Show replay notifications=リプレイ通知を表示
Show recording notifications=録画通知を表示
Show streaming notifications=配信通知を表示
Show replay status with scroll lock LED=スクロールロックLEDでリプレイ状態を表示
Show recording status with scroll lock LED=スクロールロックLEDで録画状態を表示
Show streaming status with scroll lock LED=スクロールロックLEDで配信状態を表示
Recording indicator=録画インジケータ
recording=録画
Simple=シンプル
Audio track #%d=音声トラック #%d
@@ -404,7 +409,6 @@ Estimated video file size per minute (excluding audio): %.2fMB=推定動画サ
# Replay settings
Directory to save replays:=リプレイの保存先:
Replay indicator=リプレイインジケータ
replay=リプレイ
Turn on replay when starting a game=ゲーム開始時にリプレイをオンにする
Autostart=自動開始
in RAM=RAM 内
@@ -430,4 +434,3 @@ Stream URL:=配信 URL:
Stream key:=ストリームキー:
Streaming info=配信情報
Streaming indicator=配信インジケータ
streaming=配信

View File

@@ -374,9 +374,15 @@ Record in low-power mode=Записывать в режиме низкого э
Record cursor=Записывать курсор
Do not force the GPU to go into high performance mode when recording.\nMay affect recording performance, especially when playing a video at the same time.\nIf enabled then it's recommended to use sync to content frame rate mode to reduce power usage when idle.=Не заставлять GPU переходить в режим высокой производительности при записи.\nМожет повлиять на производительность записи, особенно при одновременном воспроизведении видео.\nЕсли включено, рекомендуется использовать режим частоты кадров синхронизации с контентом\nдля снижения энергопотребления в режиме ожидания.
Use vulkan video encoding instead of VAAPI/NVENC.\nEnabling this may result in better game performance while recording, especially on NVIDIA.\nNote that this option is experimental. There may be GPU driver issues that causes issues when this is enabled.=Используйте кодирование видео Vulkan вместо VAAPI/NVENC.\nВключение этой опции может улучшить производительность игр во время записи, особенно на видеокартах NVIDIA.\nОбратите внимание, что эта опция является экспериментальной. При её включении могут возникать проблемы с драйверами\nвидеокарт.
Enable vulkan video encoding (experimental)=Включить кодирование видео Vulkan (экспериментально)
Show %s notifications=Показывать уведомления %s
Show %s status with scroll lock LED=Показывать статус %s с помощью индикатора Scroll Lock
Show replay notifications=Показывать уведомления повтора
Show recording notifications=Показывать уведомления записи
Show streaming notifications=Показывать уведомления трансляции
Show replay status with scroll lock LED=Показывать статус повтора с помощью индикатора Scroll Lock
Show recording status with scroll lock LED=Показывать статус записи с помощью индикатора Scroll Lock
Show streaming status with scroll lock LED=Показывать статус трансляции с помощью индикатора Scroll Lock
Recording indicator=Индикатор записи
Simple=Простой

View File

@@ -388,11 +388,16 @@ Record in low-power mode=
Record cursor=
Do not force the GPU to go into high performance mode when recording.\nMay affect recording performance, especially when playing a video at the same time.\nIf enabled then it's recommended to use sync to content frame rate mode to reduce power usage when idle.=
Use vulkan video encoding instead of VAAPI/NVENC.\nEnabling this may result in better game performance while recording, especially on NVIDIA.\nNote that this option is experimental. There may be GPU driver issues that causes issues when this is enabled.=
Enable vulkan video encoding (experimental)=
Show %s notifications=
Show %s status with scroll lock LED=
Show replay notifications=
Show recording notifications=
Show streaming notifications=
Show replay status with scroll lock LED=
Show recording status with scroll lock LED=
Show streaming status with scroll lock LED=
Recording indicator=
recording=
Simple=
Audio track #%d=
@@ -403,7 +408,6 @@ Estimated video file size per minute (excluding audio): %.2fMB=
# Replay settings
Directory to save replays:=
Replay indicator=
replay=
Turn on replay when starting a game=
Autostart=
in RAM=
@@ -428,5 +432,4 @@ Custom=
Stream URL:=
Stream key:=
Streaming info=
Streaming indicator=
streaming=
Streaming indicator=

View File

@@ -372,9 +372,15 @@ Record in low-power mode=Записувати в режимі низького
Record cursor=Записувати курсор
Do not force the GPU to go into high performance mode when recording.\nMay affect recording performance, especially when playing a video at the same time.\nIf enabled then it's recommended to use sync to content frame rate mode to reduce power usage when idle.=Не змушувати GPU переходити в режим високої продуктивності при записі.\nМоже вплинути на продуктивність запису, особливо при одночасному відтворенні відео.\nЯкщо увімкнено, рекомендується використовувати режим частоти кадрів синхронізації з контентом\nдля зниження енергоспоживання в режимі очікування.
Use vulkan video encoding instead of VAAPI/NVENC.\nEnabling this may result in better game performance while recording, especially on NVIDIA.\nNote that this option is experimental. There may be GPU driver issues that causes issues when this is enabled.=Використовуйте відеокодування Vulkan замість VAAPI/NVENC.\nУвімкнення цієї опції може призвести до кращої продуктивності гри під час запису, особливо на NVIDIA.\nЗверніть увагу, що ця опція є експериментальною. Можливі проблеми з драйвером графічного процесора, які можуть спричиняти проблеми, коли ця опція ввімкнена.
Enable vulkan video encoding (experimental)=Увімкнути кодування відео Vulkan (експериментально)
Show %s notifications=Показувати сповіщення %s
Show %s status with scroll lock LED=Показувати статус %s за допомогою індикатора Scroll Lock
Show replay notifications=Показувати сповіщення повтору
Show recording notifications=Показувати сповіщення запису
Show streaming notifications=Показувати сповіщення трансляції
Show replay status with scroll lock LED=Показувати статус повтору за допомогою індикатора Scroll Lock
Show recording status with scroll lock LED=Показувати статус запису за допомогою індикатора Scroll Lock
Show streaming status with scroll lock LED=Показувати статус трансляції за допомогою індикатора Scroll Lock
Recording indicator=Індикатор запису
Simple=Простий