UI: Add custom muxer settings to advanced FFmpeg output
This commit is contained in:
parent
386ee73443
commit
edec540695
@ -348,6 +348,7 @@ Basic.Settings.Output.Adv.FFmpeg.VEncoder="Video Encoder"
|
||||
Basic.Settings.Output.Adv.FFmpeg.VEncoderSettings="Video Encoder Settings (if any)"
|
||||
Basic.Settings.Output.Adv.FFmpeg.AEncoder="Audio Encoder"
|
||||
Basic.Settings.Output.Adv.FFmpeg.AEncoderSettings="Audio Encoder Settings (if any)"
|
||||
Basic.Settings.Output.Adv.FFmpeg.MuxerSettings="Muxer Settings (if any)"
|
||||
|
||||
# basic mode 'video' settings
|
||||
Basic.Settings.Video="Video"
|
||||
|
@ -1281,14 +1281,14 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_40">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Output.VideoBitrate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<item row="5" column="1">
|
||||
<widget class="QSpinBox" name="advOutFFVBitrate">
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
@ -1301,7 +1301,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<item row="6" column="0">
|
||||
<widget class="QCheckBox" name="advOutFFUseRescale">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||
@ -1317,7 +1317,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<item row="6" column="1">
|
||||
<widget class="QComboBox" name="advOutFFRescale">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
@ -1327,34 +1327,34 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="label_37">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Output.Adv.FFmpeg.VEncoder</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<item row="7" column="1">
|
||||
<widget class="QComboBox" name="advOutFFVEncoder"/>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<item row="9" column="0">
|
||||
<widget class="QLabel" name="label_38">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Output.Adv.FFmpeg.VEncoderSettings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<item row="9" column="1">
|
||||
<widget class="QLineEdit" name="advOutFFVCfg"/>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<item row="10" column="0">
|
||||
<widget class="QLabel" name="label_41">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Output.AudioBitrate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
<item row="10" column="1">
|
||||
<widget class="QSpinBox" name="advOutFFABitrate">
|
||||
<property name="minimum">
|
||||
<number>32</number>
|
||||
@ -1370,14 +1370,14 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<item row="11" column="0">
|
||||
<widget class="QLabel" name="label_47">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Output.Adv.AudioTrack</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
<item row="11" column="1">
|
||||
<widget class="QWidget" name="widget_10" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
@ -1432,24 +1432,24 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0">
|
||||
<item row="12" column="0">
|
||||
<widget class="QLabel" name="label_39">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Output.Adv.FFmpeg.AEncoder</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="1">
|
||||
<item row="12" column="1">
|
||||
<widget class="QComboBox" name="advOutFFAEncoder"/>
|
||||
</item>
|
||||
<item row="12" column="0">
|
||||
<item row="13" column="0">
|
||||
<widget class="QLabel" name="label_46">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Output.Adv.FFmpeg.AEncoderSettings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="1">
|
||||
<item row="13" column="1">
|
||||
<widget class="QLineEdit" name="advOutFFACfg"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
@ -1488,6 +1488,16 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_1337">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Output.Adv.FFmpeg.MuxerSettings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLineEdit" name="advOutFFMCfg"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
|
@ -594,6 +594,8 @@ inline void AdvancedOutput::SetupFFmpeg()
|
||||
"FFFormat");
|
||||
const char *mimeType = config_get_string(main->Config(), "AdvOut",
|
||||
"FFFormatMimeType");
|
||||
const char *muxCustom = config_get_string(main->Config(), "AdvOut",
|
||||
"FFMCustom");
|
||||
const char *vEncoder = config_get_string(main->Config(), "AdvOut",
|
||||
"FFVEncoder");
|
||||
int vEncoderId = config_get_int(main->Config(), "AdvOut",
|
||||
@ -615,6 +617,7 @@ inline void AdvancedOutput::SetupFFmpeg()
|
||||
obs_data_set_string(settings, "url", url);
|
||||
obs_data_set_string(settings, "format_name", formatName);
|
||||
obs_data_set_string(settings, "format_mime_type", mimeType);
|
||||
obs_data_set_string(settings, "muxer_settings", muxCustom);
|
||||
obs_data_set_int(settings, "video_bitrate", vBitrate);
|
||||
obs_data_set_string(settings, "video_encoder", vEncoder);
|
||||
obs_data_set_int(settings, "video_encoder_id", vEncoderId);
|
||||
|
@ -295,6 +295,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->advOutFFRecPath, EDIT_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutFFURL, EDIT_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutFFFormat, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutFFMCfg, EDIT_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutFFVBitrate, SCROLL_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutFFUseRescale, CHECK_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->advOutFFRescale, CBEDIT_CHANGED, OUTPUTS_CHANGED);
|
||||
@ -1172,6 +1173,8 @@ void OBSBasicSettings::LoadAdvOutputFFmpegSettings()
|
||||
"FFFormat");
|
||||
const char *mimeType = config_get_string(main->Config(), "AdvOut",
|
||||
"FFFormatMimeType");
|
||||
const char *muxCustom = config_get_string(main->Config(), "AdvOut",
|
||||
"FFMCustom");
|
||||
int videoBitrate = config_get_int(main->Config(), "AdvOut",
|
||||
"FFVBitrate");
|
||||
bool rescale = config_get_bool(main->Config(), "AdvOut",
|
||||
@ -1199,6 +1202,7 @@ void OBSBasicSettings::LoadAdvOutputFFmpegSettings()
|
||||
ui->advOutFFRecPath->setText(QT_UTF8(path));
|
||||
ui->advOutFFURL->setText(QT_UTF8(url));
|
||||
SelectFormat(ui->advOutFFFormat, format, mimeType);
|
||||
ui->advOutFFMCfg->setText(muxCustom);
|
||||
ui->advOutFFVBitrate->setValue(videoBitrate);
|
||||
ui->advOutFFUseRescale->setChecked(rescale);
|
||||
ui->advOutFFRescale->setEnabled(rescale);
|
||||
@ -2104,6 +2108,7 @@ void OBSBasicSettings::SaveOutputSettings()
|
||||
SaveEdit(ui->advOutFFRecPath, "AdvOut", "FFFilePath");
|
||||
SaveEdit(ui->advOutFFURL, "AdvOut", "FFURL");
|
||||
SaveFormat(ui->advOutFFFormat);
|
||||
SaveEdit(ui->advOutFFMCfg, "AdvOut", "FFMCustom");
|
||||
SaveSpinBox(ui->advOutFFVBitrate, "AdvOut", "FFVBitrate");
|
||||
SaveCheckBox(ui->advOutFFUseRescale, "AdvOut", "FFRescale");
|
||||
SaveCombo(ui->advOutFFRescale, "AdvOut", "FFRescaleRes");
|
||||
|
Loading…
x
Reference in New Issue
Block a user