0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-19 20:32:15 +02:00

UI: Print container warnings for ProRes encoder and disable autoremux

This commit is contained in:
PatTheMav 2022-11-02 05:26:47 +01:00 committed by Patrick Heyer
parent bbb3dc0059
commit 59a126dcf4
2 changed files with 50 additions and 17 deletions

View File

@ -1164,7 +1164,7 @@ Basic.Settings.Advanced.Hotkeys.HotkeyFocusBehavior="Hotkey Focus Behavior"
Basic.Settings.Advanced.Hotkeys.NeverDisableHotkeys="Never disable hotkeys"
Basic.Settings.Advanced.Hotkeys.DisableHotkeysInFocus="Disable hotkeys when main window is in focus"
Basic.Settings.Advanced.Hotkeys.DisableHotkeysOutOfFocus="Disable hotkeys when main window is not in focus"
Basic.Settings.Advanced.AutoRemux="Automatically remux to mp4"
Basic.Settings.Advanced.AutoRemux="Automatically remux to %1"
Basic.Settings.Advanced.AutoRemux.MP4="(record as mkv)"
# advanced audio properties
@ -1254,6 +1254,7 @@ SceneItemHide="Hide '%1'"
# Output warnings
OutputWarnings.NoTracksSelected="You must select at least one track"
OutputWarnings.MP4Recording="Warning: Recordings saved to MP4/MOV will be unrecoverable if the file cannot be finalized (e.g. as a result of BSODs, power losses, etc.). If you want to record multiple audio tracks consider using MKV and remux the recording to MP4/MOV after it is finished (File → Remux Recordings)"
OutputWarnings.ProResRecording="Apple ProRes is not supported by the %1 container format - supported container formats are mov (preferred) and mkv."
OutputWarnings.CannotPause="Warning: Recordings cannot be paused if the recording encoder is set to \"(Use stream encoder)\""
# deleting final scene

View File

@ -823,8 +823,6 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
SLOT(AdvReplayBufferChanged()));
connect(ui->advRBSecMax, SIGNAL(valueChanged(int)), this,
SLOT(AdvReplayBufferChanged()));
connect(ui->listWidget, SIGNAL(currentRowChanged(int)), this,
SLOT(SimpleRecordingEncoderChanged()));
// Get Bind to IP Addresses
obs_properties_t *ppts = obs_get_output_properties("rtmp_output");
@ -910,10 +908,10 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
SLOT(AdvOutRecCheckWarnings()));
connect(ui->advOutRecEncoder, SIGNAL(currentIndexChanged(int)), this,
SLOT(AdvOutRecCheckWarnings()));
AdvOutRecCheckWarnings();
SimpleRecordingQualityChanged();
AdvOutSplitFileChanged();
AdvOutRecCheckWarnings();
UpdateAutomaticReplayBufferCheckboxes();
@ -4634,17 +4632,51 @@ void OBSBasicSettings::AdvOutRecCheckWarnings()
errorMsg = QTStr("OutputWarnings.NoTracksSelected");
}
if (ui->advOutRecFormat->currentText().compare("mp4") == 0 ||
ui->advOutRecFormat->currentText().compare("mov") == 0) {
if (!warningMsg.isEmpty())
warningMsg += "\n\n";
warningMsg += QTStr("OutputWarnings.MP4Recording");
ui->autoRemux->setText(
QTStr("Basic.Settings.Advanced.AutoRemux") + " " +
QTStr("Basic.Settings.Advanced.AutoRemux.MP4"));
QString recFormat = ui->advOutRecFormat->currentText();
QString recEncoder = ui->advOutRecEncoder->currentText();
if (recEncoder.contains("ProRes")) {
if (recFormat.compare("mkv") == 0) {
ui->autoRemux->setText(
QTStr("Basic.Settings.Advanced.AutoRemux")
.arg("mov"));
} else if (recFormat.compare("mov") == 0) {
if (!warningMsg.isEmpty()) {
warningMsg += "\n\n";
}
warningMsg += QTStr("OutputWarnings.MP4Recording");
ui->autoRemux->setText(
QTStr("Basic.Settings.Advanced.AutoRemux")
.arg("mov") +
" " +
QTStr("Basic.Settings.Advanced.AutoRemux.MP4"));
} else {
if (!errorMsg.isEmpty()) {
errorMsg += "\n\n";
}
errorMsg += QTStr("OutputWarnings.ProResRecording")
.arg(recFormat);
}
} else {
ui->autoRemux->setText(
QTStr("Basic.Settings.Advanced.AutoRemux"));
if (recFormat.compare("mp4") == 0 ||
recFormat.compare("mov") == 0) {
if (!warningMsg.isEmpty()) {
warningMsg += "\n\n";
}
warningMsg += QTStr("OutputWarnings.MP4Recording");
ui->autoRemux->setText(
QTStr("Basic.Settings.Advanced.AutoRemux")
.arg("mp4") +
" " +
QTStr("Basic.Settings.Advanced.AutoRemux.MP4"));
} else {
ui->autoRemux->setText(
QTStr("Basic.Settings.Advanced.AutoRemux")
.arg("mp4"));
}
}
delete advOutRecWarning;
@ -5134,11 +5166,11 @@ void OBSBasicSettings::SimpleRecordingEncoderChanged()
warning += "\n\n";
warning += QTStr("OutputWarnings.MP4Recording");
ui->autoRemux->setText(
QTStr("Basic.Settings.Advanced.AutoRemux") + " " +
QTStr("Basic.Settings.Advanced.AutoRemux.MP4"));
QTStr("Basic.Settings.Advanced.AutoRemux").arg("mp4") +
" " + QTStr("Basic.Settings.Advanced.AutoRemux.MP4"));
} else {
ui->autoRemux->setText(
QTStr("Basic.Settings.Advanced.AutoRemux"));
QTStr("Basic.Settings.Advanced.AutoRemux").arg("mp4"));
}
if (warning.isEmpty())