mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-24 23:31:36 +08:00
UI: Add option to select recording format
Add a listboxes to recording to allow changing file formats (allows mp4, mov, mkv, ts, flv)
This commit is contained in:
@@ -234,6 +234,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->outputMode, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->streamType, COMBO_CHANGED, STREAM1_CHANGED);
|
||||
HookWidget(ui->simpleOutputPath, EDIT_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->simpleOutRecFormat, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->simpleOutputVBitrate, SCROLL_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->simpleOutputABitrate, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->simpleOutReconnect, CHECK_CHANGED, OUTPUTS_CHANGED);
|
||||
@@ -259,6 +260,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->advOutApplyService, CHECK_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutRecType, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutRecPath, EDIT_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutRecFormat, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutRecEncoder, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutRecUseRescale, CHECK_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutRecRescale, CBEDIT_CHANGED, OUTPUTS_CHANGED);
|
||||
@@ -907,6 +909,8 @@ void OBSBasicSettings::LoadSimpleOutputSettings()
|
||||
{
|
||||
const char *path = config_get_string(main->Config(), "SimpleOutput",
|
||||
"FilePath");
|
||||
const char *format = config_get_string(main->Config(), "SimpleOutput",
|
||||
"RecFormat");
|
||||
int videoBitrate = config_get_uint(main->Config(), "SimpleOutput",
|
||||
"VBitrate");
|
||||
int videoBufsize = config_get_uint(main->Config(), "SimpleOutput",
|
||||
@@ -936,6 +940,9 @@ void OBSBasicSettings::LoadSimpleOutputSettings()
|
||||
ui->simpleOutVBufsize->setValue(
|
||||
useBufsize ? videoBufsize : videoBitrate);
|
||||
|
||||
int idx = ui->simpleOutRecFormat->findText(format);
|
||||
ui->simpleOutRecFormat->setCurrentIndex(idx);
|
||||
|
||||
SetComboByName(ui->simpleOutputABitrate,
|
||||
std::to_string(audioBitrate).c_str());
|
||||
|
||||
@@ -1027,6 +1034,8 @@ void OBSBasicSettings::LoadAdvOutputRecordingSettings()
|
||||
{
|
||||
const char *type = config_get_string(main->Config(), "AdvOut",
|
||||
"RecType");
|
||||
const char *format = config_get_string(main->Config(), "AdvOut",
|
||||
"RecFormat");
|
||||
const char *path = config_get_string(main->Config(), "AdvOut",
|
||||
"RecFilePath");
|
||||
bool rescale = config_get_bool(main->Config(), "AdvOut",
|
||||
@@ -1042,6 +1051,9 @@ void OBSBasicSettings::LoadAdvOutputRecordingSettings()
|
||||
ui->advOutRecUseRescale->setChecked(rescale);
|
||||
ui->advOutRecRescale->setCurrentText(rescaleRes);
|
||||
|
||||
int idx = ui->advOutRecFormat->findText(format);
|
||||
ui->advOutRecFormat->setCurrentIndex(idx);
|
||||
|
||||
switch (trackIndex) {
|
||||
case 1: ui->advOutRecTrack1->setChecked(true); break;
|
||||
case 2: ui->advOutRecTrack2->setChecked(true); break;
|
||||
@@ -1962,6 +1974,7 @@ void OBSBasicSettings::SaveOutputSettings()
|
||||
SaveSpinBox(ui->simpleOutputVBitrate, "SimpleOutput", "VBitrate");
|
||||
SaveCombo(ui->simpleOutputABitrate, "SimpleOutput", "ABitrate");
|
||||
SaveEdit(ui->simpleOutputPath, "SimpleOutput", "FilePath");
|
||||
SaveCombo(ui->simpleOutRecFormat, "SimpleOutput", "RecFormat");
|
||||
SaveCheckBox(ui->simpleOutReconnect, "SimpleOutput", "Reconnect");
|
||||
SaveSpinBox(ui->simpleOutRetryDelay, "SimpleOutput", "RetryDelay");
|
||||
SaveSpinBox(ui->simpleOutMaxRetries, "SimpleOutput", "MaxRetries");
|
||||
@@ -1989,6 +2002,7 @@ void OBSBasicSettings::SaveOutputSettings()
|
||||
RecTypeFromIdx(ui->advOutRecType->currentIndex()));
|
||||
|
||||
SaveEdit(ui->advOutRecPath, "AdvOut", "RecFilePath");
|
||||
SaveCombo(ui->advOutRecFormat, "AdvOut", "RecFormat");
|
||||
SaveComboData(ui->advOutRecEncoder, "AdvOut", "RecEncoder");
|
||||
SaveCheckBox(ui->advOutRecUseRescale, "AdvOut", "RecRescale");
|
||||
SaveCombo(ui->advOutRecRescale, "AdvOut", "RecRescaleRes");
|
||||
|
||||
Reference in New Issue
Block a user