diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
index cf64f902f..ce923d5c6 100644
--- a/UI/data/locale/en-US.ini
+++ b/UI/data/locale/en-US.ini
@@ -941,6 +941,7 @@ Basic.Settings.Output.NoSpaceFileName="Generate File Name without Space"
Basic.Settings.Output.Adv.Rescale="Rescale Output"
Basic.Settings.Output.Adv.AudioTrack="Audio Track"
Basic.Settings.Output.Adv.Streaming="Streaming"
+Basic.Settings.Output.Adv.Streaming.Settings="Streaming Settings"
Basic.Settings.Output.Adv.Audio.Track1="Track 1"
Basic.Settings.Output.Adv.Audio.Track2="Track 2"
Basic.Settings.Output.Adv.Audio.Track3="Track 3"
@@ -948,9 +949,11 @@ Basic.Settings.Output.Adv.Audio.Track4="Track 4"
Basic.Settings.Output.Adv.Audio.Track5="Track 5"
Basic.Settings.Output.Adv.Audio.Track6="Track 6"
Basic.Settings.Output.Adv.TwitchVodTrack="Twitch VOD Track"
+Basic.Settings.Output.Adv.Encoder="Encoder Settings"
# basic mode 'output' settings - advanced section - recording subsection
Basic.Settings.Output.Adv.Recording="Recording"
+Basic.Settings.Output.Adv.Recording.Settings="Recording Settings"
Basic.Settings.Output.Adv.Recording.RecType="Recording Type"
Basic.Settings.Output.Adv.Recording.Type="Type"
Basic.Settings.Output.Adv.Recording.Type.Standard="Standard"
@@ -979,6 +982,7 @@ Basic.Settings.Output.Adv.FFmpeg.AEncoderSettings="Audio Encoder Settings (if an
Basic.Settings.Output.Adv.FFmpeg.MuxerSettings="Muxer Settings (if any)"
Basic.Settings.Output.Adv.FFmpeg.GOPSize="Keyframe interval (frames)"
Basic.Settings.Output.Adv.FFmpeg.IgnoreCodecCompat="Show all codecs (even if potentially incompatible)"
+Basic.Settings.Output.Adv.FFmpeg.Settings="FFmpeg Settings"
Basic.Settings.Output.EnableSplitFile="Automatic File Splitting"
Basic.Settings.Output.SplitFile.TypeTime="Split by Time"
Basic.Settings.Output.SplitFile.TypeSize="Split by Size"
diff --git a/UI/forms/OBSBasicSettings.ui b/UI/forms/OBSBasicSettings.ui
index 2bc6ef245..ad9a13669 100644
--- a/UI/forms/OBSBasicSettings.ui
+++ b/UI/forms/OBSBasicSettings.ui
@@ -7,7 +7,7 @@
0
0
981
- 726
+ 730
@@ -1372,615 +1372,705 @@
0
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
- true
-
-
-
-
- 0
- 0
- 820
- 676
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 9
-
-
-
-
-
-
- 0
- 0
-
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
-
-
-
-
- 170
- 0
-
-
+
+ 8
+
+
+ 8
+
+
+ 16
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.Mode
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ outputMode
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ 0
+
+
-
- Basic.Settings.Output.Mode
+ Basic.Settings.Output.Mode.Simple
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+ -
+
+ Basic.Settings.Output.Mode.Adv
-
- outputMode
+
+
+
+
+
+
+ -
+
+
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 8
+
+
+ 0
+
+
-
+
+
+ QFrame::NoFrame
-
-
- -
-
-
+
+ QFrame::Plain
+
+
true
-
-
- 0
- 0
-
-
-
- 0
-
-
-
-
- Basic.Settings.Output.Mode.Simple
+
+
+
+ 0
+ 0
+ 794
+ 621
+
-
- -
-
- Basic.Settings.Output.Mode.Adv
+
+
+ 0
+ 0
+
-
+
+
+ 8
+
+
+ 8
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Streaming
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 8
+
+
+ 8
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.VideoBitrate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ simpleOutputVBitrate
+
+
+
+ -
+
+
+ 200
+
+
+ 1000000
+
+
+ 2000
+
+
+
+ -
+
+
+ Basic.Settings.Output.AudioBitrate
+
+
+ simpleOutputABitrate
+
+
+
+ -
+
+
+ 8
+
+
-
+
+ 32
+
+
+ -
+
+ 48
+
+
+ -
+
+ 64
+
+
+ -
+
+ 80
+
+
+ -
+
+ 96
+
+
+ -
+
+ 112
+
+
+ -
+
+ 128
+
+
+ -
+
+ 160
+
+
+ -
+
+ 192
+
+
+ -
+
+ 256
+
+
+ -
+
+ 320
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.Encoder
+
+
+ simpleOutRecEncoder
+
+
+
+ -
+
+
+ -
+
+
+ true
+
+
+ Basic.Settings.Output.EncoderPreset
+
+
+ simpleOutPreset
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.Advanced
+
+
+ true
+
+
+
+ -
+
+
+ Basic.Settings.Output.CustomEncoderSettings
+
+
+ simpleOutCustom
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Recording
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 8
+
+
+ 8
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.Simple.SavePath
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ simpleOutputPath
+
+
+
+ -
+
+
-
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+ Browse
+
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.NoSpaceFileName
+
+
+ true
+
+
+
+ -
+
+
+ Basic.Settings.Output.Simple.RecordingQuality
+
+
+ simpleOutRecQuality
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.Format
+
+
+ simpleOutRecFormat
+
+
+
+ -
+
+
-
+
+ flv
+
+
+ -
+
+ mp4
+
+
+ -
+
+ mov
+
+
+ -
+
+ mkv
+
+
+ -
+
+ ts
+
+
+ -
+
+ m3u8
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.Encoder
+
+
+ simpleOutRecEncoder
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.CustomMuxerSettings
+
+
+ simpleOutMuxCustom
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.UseReplayBuffer
+
+
+ true
+
+
+
+
+
+
+ -
+
+
+ ReplayBuffer
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 8
+
+
+ 8
+
+
+ 8
+
+
-
+
+
+ Basic.Settings.Output.ReplayBuffer.SecondsMax
+
+
+
+ -
+
+
+ sec
+
+
+ 5
+
+
+ 21600
+
+
+ 15
+
+
+
+ -
+
+
+ Basic.Settings.Output.ReplayBuffer.MegabytesMax
+
+
+
+ -
+
+
+ MB
+
+
+ 20
+
+
+ 8192
+
+
+ 512
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+ 10
+
+
+ 10
+
+
+ 10
+
+
+ 10
+
+
+
+ -
+
+
+
+ 0
+ 20
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 10
+
+
+
+
+
+
-
- -
-
-
- 0
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
-
- 0
- 0
-
-
-
+
+
+
+ 6
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ 0
+
+
+ true
+
+
+
Basic.Settings.Output.Adv.Streaming
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
- -
-
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.VideoBitrate
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- simpleOutputVBitrate
-
-
-
- -
-
-
- 200
-
-
- 1000000
-
-
- 2000
-
-
-
- -
-
-
- Basic.Settings.Output.AudioBitrate
-
-
- simpleOutputABitrate
-
-
-
- -
-
-
- 8
-
-
-
-
- 32
-
-
- -
-
- 48
-
-
- -
-
- 64
-
-
- -
-
- 80
-
-
- -
-
- 96
-
-
- -
-
- 112
-
-
- -
-
- 128
-
-
- -
-
- 160
-
-
- -
-
- 192
-
-
- -
-
- 256
-
-
- -
-
- 320
-
-
-
-
- -
-
-
- Basic.Settings.Output.Encoder
-
-
- simpleOutRecEncoder
-
-
-
- -
-
-
- -
-
-
- true
-
-
- Basic.Settings.Output.EncoderPreset
-
-
- simpleOutPreset
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.Advanced
-
-
- true
-
-
-
- -
-
-
- Basic.Settings.Output.CustomEncoderSettings
-
-
- simpleOutCustom
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Basic.Settings.Output.Adv.Recording
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.Simple.SavePath
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- simpleOutputPath
-
-
-
- -
-
-
-
-
-
- true
-
-
-
- -
-
-
- true
-
-
- Browse
-
-
-
-
-
- -
-
-
- Basic.Settings.Output.NoSpaceFileName
-
-
- true
-
-
-
- -
-
-
- Basic.Settings.Output.Simple.RecordingQuality
-
-
- simpleOutRecQuality
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.Format
-
-
- simpleOutRecFormat
-
-
-
- -
-
-
-
-
- flv
-
-
- -
-
- mp4
-
-
- -
-
- mov
-
-
- -
-
- mkv
-
-
- -
-
- ts
-
-
-
-
- -
-
-
- Basic.Settings.Output.Encoder
-
-
- simpleOutRecEncoder
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.CustomMuxerSettings
-
-
- simpleOutMuxCustom
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.UseReplayBuffer
-
-
- true
-
-
-
-
-
-
- -
-
-
- ReplayBuffer
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
- Basic.Settings.Output.ReplayBuffer.SecondsMax
-
-
-
- -
-
-
- sec
-
-
- 5
-
-
- 21600
-
-
- 15
-
-
-
- -
-
-
- Basic.Settings.Output.ReplayBuffer.MegabytesMax
-
-
-
- -
-
-
- MB
-
-
- 20
-
-
- 8192
-
-
- 512
-
-
-
- -
-
-
-
-
-
-
-
-
-
- -
-
-
- 10
-
-
- 10
-
-
- 10
-
-
- 10
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
+
+
0
- 0
+ 8
- 0
+ 8
0
-
-
-
-
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
- -
-
-
- 0
-
-
- true
-
-
-
- Basic.Settings.Output.Adv.Streaming
-
-
-
- 9
-
-
- 0
-
-
- 9
-
-
- 9
-
-
-
-
+
-
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 790
+ 586
+
+
-
- 0
-
0
@@ -1988,19 +2078,22 @@
0
- 0
+ 6
0
-
-
+
-
+
0
0
+
+ Basic.Settings.Output.Adv.Streaming.Settings
+
QFormLayout::AllNonFixedFieldsGrow
@@ -2008,6 +2101,18 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+ 8
+
+
+ 2
+
+
+ 8
+
+
+ 8
+
-
@@ -2098,9 +2203,6 @@
Basic.Settings.Output.Encoder
-
- advOutEncoder
-
-
@@ -2135,269 +2237,1117 @@
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Encoder
+
+
+
+ 8
+
+
+ 2
+
+
+ 8
+
+
+ 8
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
-
-
-
-
-
- Basic.Settings.Output.Adv.Recording
-
-
-
- 9
-
-
- 9
-
-
- 9
-
-
- 9
-
- -
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
+
+ Basic.Settings.Output.Adv.Recording
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 8
+
+
+ 16
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Recording.Type
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ advOutRecType
+
+
+
+ -
+
+
-
+
+ Basic.Settings.Output.Adv.Recording.Type.Standard
+
+
+ -
+
+ Basic.Settings.Output.Adv.Recording.Type.FFmpegOutput
+
+
+
+
+
+
+
+ -
+
+
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
0
+
+ 8
+
0
-
-
-
-
-
- 170
- 0
-
+
-
+
+
+
+ 0
+ 0
+
-
- Basic.Settings.Output.Adv.Recording.Type
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ 0
+
+
+ true
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
-
- advOutRecType
-
-
-
- -
-
-
-
-
- Basic.Settings.Output.Adv.Recording.Type.Standard
+
+
+
+ 0
+ 0
+ 790
+ 556
+
-
- -
-
- Basic.Settings.Output.Adv.Recording.Type.FFmpegOutput
-
-
-
-
-
-
-
- -
-
-
- 0
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
+
0
0
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
0
-
-
-
+
+ 6
+
+
+ 0
+
+
-
+
-
+
0
0
-
-
- 170
- 0
-
+
+ Basic.Settings.Output.Adv.Recording.Settings
-
- Basic.Settings.Output.Simple.SavePath
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- advOutRecPath
-
-
-
- -
-
-
-
-
-
- true
-
-
-
- -
-
-
- true
-
-
- Browse
-
-
-
-
-
- -
-
-
- Basic.Settings.Output.NoSpaceFileName
-
-
- true
-
-
-
- -
-
-
- Basic.Settings.Output.Format
-
-
- advOutRecFormat
-
-
-
- -
-
-
-
-
- flv
+
+
+ QFormLayout::AllNonFixedFieldsGrow
-
- -
-
- mp4
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
- -
-
- mov
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
-
- -
-
- mkv
-
-
- -
-
- ts
-
-
- -
-
- m3u8
-
-
-
-
- -
-
-
- Basic.Settings.Output.Adv.AudioTrack
-
-
-
- -
-
-
- Basic.Settings.Output.Encoder
-
-
- advOutRecEncoder
-
-
-
- -
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Qt::RightToLeft
-
-
- Basic.Settings.Output.Adv.Rescale
-
-
-
- -
-
-
- 0
+ 8
- 0
+ 2
- 0
+ 10
- 0
+ 8
-
-
-
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.Simple.SavePath
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
-
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+ Browse
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.NoSpaceFileName
+
+
+ true
+
+
+
+ -
+
+
+ Basic.Settings.Output.Format
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
-
+
+ flv
+
+
+ -
+
+ mp4
+
+
+ -
+
+ mov
+
+
+ -
+
+ mkv
+
+
+ -
+
+ ts
+
+
+ -
+
+ m3u8
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.AudioTrack
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 2
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 3
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 4
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 5
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 6
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 2
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 3
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 4
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 5
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 6
+
+
+
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.Encoder
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Qt::RightToLeft
+
+
+ Basic.Settings.Output.Adv.Rescale
+
+
+
+ -
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.CustomMuxerSettings
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Qt::RightToLeft
+
+
+ Basic.Settings.Output.EnableSplitFile
+
+
+
+ -
+
+
+ false
+
+
-
+
+ Basic.Settings.Output.SplitFile.TypeTime
+
+
+ -
+
+ Basic.Settings.Output.SplitFile.TypeSize
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.SplitFile.Time
+
+
+
+ -
+
+
+ min
+
+
+ 1
+
+
+ 360
+
+
+ 15
+
+
+
+ -
+
+
+ Basic.Settings.Output.SplitFile.Size
+
+
+
+ -
+
+
+ MB
+
+
+ 20
+
+
+ 8192
+
+
+ 2048
+
+
+
+ -
+
+
+ Basic.Settings.Output.SplitFile.ResetTimestamps
+
+
+ true
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Encoder
+
+
+
+ 8
+
+
+ 2
+
+
+ 10
+
+
+ 8
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 8
+
+
+ 0
+
+ -
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ 0
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 593
+ 471
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
+ 0
+
+
-
+
+
+ Basic.Settings.Output.Adv.FFmpeg.Settings
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 8
+
+
+ 10
+
+
+ 8
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.Adv.FFmpeg.Type
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
-
+
+ Basic.Settings.Output.Adv.FFmpeg.Type.RecordToFile
+
+
+ -
+
+ Basic.Settings.Output.Adv.FFmpeg.Type.URL
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.Adv.FFmpeg.SavePathURL
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 3
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ true
+
+
+
+ -
+
+
+ Browse
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ true
+
+
+
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.NoSpaceFileName
+
+
+ true
+
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.Format
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.FormatDesc
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.MuxerSettings
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.VideoBitrate
+
+
+
+ -
+
+
+ 0
+
+
+ 1000000000
+
+
+ 2500
+
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.GOPSize
+
+
+
+ -
+
+
+ 1000000000
+
+
+ 250
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Qt::RightToLeft
+
+
+ Basic.Settings.Output.Adv.Rescale
+
+
+
+ -
+
false
@@ -2406,1546 +3356,1258 @@
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.IgnoreCodecCompat
+
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.VEncoder
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.VEncoderSettings
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.AudioBitrate
+
+
+
+ -
+
+
+ 32
+
+
+ 4096
+
+
+ 16
+
+
+ 128
+
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.AudioTrack
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ 1
+
+
+ true
+
+
+
+ -
+
+
+ 2
+
+
+
+ -
+
+
+ 3
+
+
+
+ -
+
+
+ 4
+
+
+
+ -
+
+
+ 5
+
+
+
+ -
+
+
+ 6
+
+
+
+
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.AEncoder
+
+
+
+ -
+
+
+ -
+
+
+ Basic.Settings.Output.Adv.FFmpeg.AEncoderSettings
+
+
+
+ -
+
+
- -
-
-
- Basic.Settings.Output.CustomMuxerSettings
+
-
+
+
+ Qt::Vertical
-
- advOutMuxCustom
+
+
+ 20
+ 40
+
-
-
- -
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Qt::RightToLeft
-
-
- Basic.Settings.Output.EnableSplitFile
-
-
-
- -
-
-
- false
-
-
-
-
- Basic.Settings.Output.SplitFile.TypeTime
-
-
- -
-
- Basic.Settings.Output.SplitFile.TypeSize
-
-
-
-
- -
-
-
- Basic.Settings.Output.SplitFile.Time
-
-
-
- -
-
-
- min
-
-
- 1
-
-
- 360
-
-
- 15
-
-
-
- -
-
-
- Basic.Settings.Output.SplitFile.Size
-
-
-
- -
-
-
- MB
-
-
- 20
-
-
- 8192
-
-
- 2048
-
-
-
- -
-
-
- Basic.Settings.Output.SplitFile.ResetTimestamps
-
-
- true
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 0
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- 1
-
-
-
- -
-
-
- 2
-
-
-
- -
-
-
- 3
-
-
-
- -
-
-
- 4
-
-
-
- -
-
-
- 5
-
-
-
- -
-
-
- 6
-
-
-
-
-
-
-
-
-
- 9
- 0
- 236
- 25
-
-
-
- -
-
-
- 1
-
-
-
- -
-
-
- 2
-
-
-
- -
-
-
- 3
-
-
-
- -
-
-
- 4
-
-
-
- -
-
-
- 5
-
-
-
- -
-
-
- 6
-
-
-
-
-
-
-
+
-
- -
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
+
+
+
+
+
+
+
+
+
+
+ Basic.Settings.Audio
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+
+
+ 8
+
+
-
+
+
+ QFrame::NoFrame
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+ QFrame::Plain
-
+
0
-
-
-
-
-
- 0
- 0
-
+
+ true
+
+
+
+
+ 0
+ 0
+ 790
+ 576
+
+
+
+
+ 6
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.Adv.FFmpeg.SavePathURL
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
+
0
-
-
-
- 0
- 0
-
-
-
-
- 3
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- true
-
-
-
- -
-
-
- Browse
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
- -
-
-
- true
-
-
-
-
-
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.Format
-
-
- advOutFFFormat
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.FormatDesc
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.Adv.FFmpeg.Type
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- advOutFFType
-
-
-
- -
-
-
-
-
- Basic.Settings.Output.Adv.FFmpeg.Type.RecordToFile
-
-
- -
-
- Basic.Settings.Output.Adv.FFmpeg.Type.URL
-
-
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.MuxerSettings
-
-
- advOutFFMCfg
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.NoSpaceFileName
-
-
- true
-
-
-
- -
-
-
- Basic.Settings.Output.VideoBitrate
-
-
- advOutFFVBitrate
-
-
-
- -
-
-
+
0
-
- 1000000000
+
+ 6
-
- 2500
+
+ 0
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.GOPSize
-
-
- advOutFFVGOPSize
-
-
-
- -
-
-
- 1000000000
-
-
- 250
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Qt::RightToLeft
-
-
- Basic.Settings.Output.Adv.Rescale
-
-
-
- -
-
-
- false
-
-
- true
-
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.IgnoreCodecCompat
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.VEncoder
-
-
- advOutFFVEncoder
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.VEncoderSettings
-
-
- advOutFFVCfg
-
-
-
- -
-
-
- 32
-
-
- 4096
-
-
- 16
-
-
- 128
-
-
-
- -
-
-
- Basic.Settings.Output.AudioBitrate
-
-
- advOutFFABitrate
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- 1
-
-
- true
-
-
-
- -
-
-
- 2
-
-
-
- -
-
-
- 3
-
-
-
- -
-
-
- 4
-
-
-
- -
-
-
- 5
-
-
-
- -
-
-
- 6
-
-
-
-
-
-
- -
-
-
- Basic.Settings.Output.Adv.AudioTrack
-
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.AEncoder
-
-
- advOutFFAEncoder
-
-
-
- -
-
-
- -
-
-
- Basic.Settings.Output.Adv.FFmpeg.AEncoderSettings
-
-
- advOutFFACfg
-
-
-
- -
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
-
-
-
-
-
-
- Basic.Settings.Audio
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Basic.Settings.Output.Adv.Audio.Track1
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
- 8
+
-
+
+
+
+ 0
+ 0
+
-
-
-
- 32
+
+ Basic.Settings.Output.Adv.Audio.Track1
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
-
- -
-
- 48
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
- -
-
- 64
+
+ 8
-
- -
-
- 80
+
+ 2
-
- -
-
- 96
+
+ 8
-
- -
-
- 112
+
+ 8
-
- -
-
- 128
-
-
- -
-
- 160
-
-
- -
-
- 192
-
-
- -
-
- 256
-
-
- -
-
- 320
-
-
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 8
+
+
-
+
+ 32
+
+
+ -
+
+ 48
+
+
+ -
+
+ 64
+
+
+ -
+
+ 80
+
+
+ -
+
+ 96
+
+
+ -
+
+ 112
+
+
+ -
+
+ 128
+
+
+ -
+
+ 160
+
+
+ -
+
+ 192
+
+
+ -
+
+ 256
+
+
+ -
+
+ 320
+
+
+
+
+ -
+
+
+ Name
+
+
+ advOutTrack1Name
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.AudioBitrate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ advOutTrack1Bitrate
+
+
+
+
- -
-
-
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Audio.Track2
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 2
+
+
+ 8
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.AudioBitrate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ advOutTrack2Bitrate
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 8
+
+
-
+
+ 32
+
+
+ -
+
+ 48
+
+
+ -
+
+ 64
+
+
+ -
+
+ 80
+
+
+ -
+
+ 96
+
+
+ -
+
+ 112
+
+
+ -
+
+ 128
+
+
+ -
+
+ 160
+
+
+ -
+
+ 192
+
+
+ -
+
+ 256
+
+
+ -
+
+ 320
+
+
+
+
+ -
+
+
+ Name
+
+
+ advOutTrack2Name
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Audio.Track3
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 2
+
+
+ 8
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.AudioBitrate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ advOutTrack3Bitrate
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 8
+
+
-
+
+ 32
+
+
+ -
+
+ 48
+
+
+ -
+
+ 64
+
+
+ -
+
+ 80
+
+
+ -
+
+ 96
+
+
+ -
+
+ 112
+
+
+ -
+
+ 128
+
+
+ -
+
+ 160
+
+
+ -
+
+ 192
+
+
+ -
+
+ 256
+
+
+ -
+
+ 320
+
+
+
+
+ -
+
+
+ Name
+
+
+ advOutTrack3Name
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Audio.Track4
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 2
+
+
+ 8
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.AudioBitrate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ advOutTrack4Bitrate
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 8
+
+
-
+
+ 32
+
+
+ -
+
+ 48
+
+
+ -
+
+ 64
+
+
+ -
+
+ 80
+
+
+ -
+
+ 96
+
+
+ -
+
+ 112
+
+
+ -
+
+ 128
+
+
+ -
+
+ 160
+
+
+ -
+
+ 192
+
+
+ -
+
+ 256
+
+
+ -
+
+ 320
+
+
+
+
+ -
+
+
+ Name
+
+
+ advOutTrack4Name
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Audio.Track5
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 2
+
+
+ 8
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.AudioBitrate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ advOutTrack5Bitrate
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 8
+
+
-
+
+ 32
+
+
+ -
+
+ 48
+
+
+ -
+
+ 64
+
+
+ -
+
+ 80
+
+
+ -
+
+ 96
+
+
+ -
+
+ 112
+
+
+ -
+
+ 128
+
+
+ -
+
+ 160
+
+
+ -
+
+ 192
+
+
+ -
+
+ 256
+
+
+ -
+
+ 320
+
+
+
+
+ -
+
+
+ Name
+
+
+ advOutTrack5Name
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Basic.Settings.Output.Adv.Audio.Track6
+
+
+
+ QFormLayout::AllNonFixedFieldsGrow
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 8
+
+
+ 2
+
+
+ 8
+
+
+ 8
+
+
-
+
+
+
+ 170
+ 0
+
+
+
+ Basic.Settings.Output.AudioBitrate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ advOutTrack6Bitrate
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 8
+
+
-
+
+ 32
+
+
+ -
+
+ 48
+
+
+ -
+
+ 64
+
+
+ -
+
+ 80
+
+
+ -
+
+ 96
+
+
+ -
+
+ 112
+
+
+ -
+
+ 128
+
+
+ -
+
+ 160
+
+
+ -
+
+ 192
+
+
+ -
+
+ 256
+
+
+ -
+
+ 320
+
+
+
+
+ -
+
+
+ Name
+
+
+ advOutTrack6Name
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Expanding
+
+
- 170
- 0
+ 10
+ 10
-
- Basic.Settings.Output.AudioBitrate
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- advOutTrack1Bitrate
-
-
-
- -
-
-
- Name
-
-
- advOutTrack1Name
-
-
-
- -
-
+
-
- -
-
-
-
- 0
- 0
-
-
-
- Basic.Settings.Output.Adv.Audio.Track2
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.AudioBitrate
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- advOutTrack2Bitrate
-
-
-
- -
-
-
- 8
-
-
-
-
- 32
-
-
- -
-
- 48
-
-
- -
-
- 64
-
-
- -
-
- 80
-
-
- -
-
- 96
-
-
- -
-
- 112
-
-
- -
-
- 128
-
-
- -
-
- 160
-
-
- -
-
- 192
-
-
- -
-
- 256
-
-
- -
-
- 320
-
-
-
-
- -
-
-
- Name
-
-
- advOutTrack2Name
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Basic.Settings.Output.Adv.Audio.Track3
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.AudioBitrate
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- advOutTrack3Bitrate
-
-
-
- -
-
-
- 8
-
-
-
-
- 32
-
-
- -
-
- 48
-
-
- -
-
- 64
-
-
- -
-
- 80
-
-
- -
-
- 96
-
-
- -
-
- 112
-
-
- -
-
- 128
-
-
- -
-
- 160
-
-
- -
-
- 192
-
-
- -
-
- 256
-
-
- -
-
- 320
-
-
-
-
- -
-
-
- Name
-
-
- advOutTrack3Name
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Basic.Settings.Output.Adv.Audio.Track4
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.AudioBitrate
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- advOutTrack4Bitrate
-
-
-
- -
-
-
- 8
-
-
-
-
- 32
-
-
- -
-
- 48
-
-
- -
-
- 64
-
-
- -
-
- 80
-
-
- -
-
- 96
-
-
- -
-
- 112
-
-
- -
-
- 128
-
-
- -
-
- 160
-
-
- -
-
- 192
-
-
- -
-
- 256
-
-
- -
-
- 320
-
-
-
-
- -
-
-
- Name
-
-
- advOutTrack4Name
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Basic.Settings.Output.Adv.Audio.Track5
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.AudioBitrate
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- advOutTrack5Bitrate
-
-
-
- -
-
-
- 8
-
-
-
-
- 32
-
-
- -
-
- 48
-
-
- -
-
- 64
-
-
- -
-
- 80
-
-
- -
-
- 96
-
-
- -
-
- 112
-
-
- -
-
- 128
-
-
- -
-
- 160
-
-
- -
-
- 192
-
-
- -
-
- 256
-
-
- -
-
- 320
-
-
-
-
- -
-
-
- Name
-
-
- advOutTrack5Name
-
-
-
- -
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Basic.Settings.Output.Adv.Audio.Track6
-
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
- 170
- 0
-
-
-
- Basic.Settings.Output.AudioBitrate
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- advOutTrack6Bitrate
-
-
-
- -
-
-
- 8
-
-
-
-
- 32
-
-
- -
-
- 48
-
-
- -
-
- 64
-
-
- -
-
- 80
-
-
- -
-
- 96
-
-
- -
-
- 112
-
-
- -
-
- 128
-
-
- -
-
- 160
-
-
- -
-
- 192
-
-
- -
-
- 256
-
-
- -
-
- 320
-
-
-
-
- -
-
-
- Name
-
-
- advOutTrack6Name
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- ReplayBuffer
-
-
- -
-
-
- Basic.Settings.Output.UseReplayBuffer
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- ReplayBuffer
-
-
- false
-
-
- false
-
-
-
-
-
-
- Basic.Settings.Output.ReplayBuffer.SecondsMax
-
-
-
- -
-
-
- s
-
-
- 5
-
-
- 21600
-
-
- 15
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- MB
-
-
- 20
-
-
- 8192
-
-
- 512
-
-
-
- -
-
-
- Basic.Settings.Output.ReplayBuffer.MegabytesMax
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+ ReplayBuffer
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ 0
+
+
+
+ 8
+
+
+ 8
+
+
+ 14
+
+
+ 8
+
+
-
+
+
+ Basic.Settings.Output.UseReplayBuffer
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 8
+
+
-
+
+
+ Basic.Settings.Output.ReplayBuffer.SecondsMax
+
+
+
+ -
+
+
+ s
+
+
+ 5
+
+
+ 21600
+
+
+ 15
+
+
+
+ -
+
+
+ MB
+
+
+ 20
+
+
+ 8192
+
+
+ 512
+
+
+
+ -
+
+
+ Basic.Settings.Output.ReplayBuffer.MegabytesMax
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
@@ -3980,8 +4642,8 @@
0
0
- 820
- 632
+ 561
+ 526
@@ -6998,7 +7660,6 @@
authUsername
authPw
authPwShow
- scrollArea_3
outputMode
simpleOutputVBitrate
simpleOutputABitrate
@@ -7029,52 +7690,19 @@
advOutRecType
advOutRecPath
advOutRecPathBrowse
- advOutNoSpace
advOutRecFormat
- flvTrack1
- flvTrack2
- flvTrack3
- flvTrack4
- flvTrack5
- flvTrack6
advOutRecTrack1
advOutRecTrack2
advOutRecTrack3
advOutRecTrack4
advOutRecTrack5
advOutRecTrack6
- advOutRecEncoder
- advOutRecUseRescale
advOutRecRescale
- advOutMuxCustom
advOutSplitFile
advOutSplitFileType
advOutSplitFileTime
advOutSplitFileSize
advOutSplitFileRstTS
- advOutFFType
- advOutFFRecPath
- advOutFFPathBrowse
- advOutFFNoSpace
- advOutFFFormat
- advOutFFMCfg
- advOutFFVBitrate
- advOutFFVGOPSize
- advOutFFUseRescale
- advOutFFRescale
- advOutFFIgnoreCompat
- advOutFFVEncoder
- advOutFFVCfg
- advOutFFABitrate
- advOutFFTrack1
- advOutFFTrack2
- advOutFFTrack3
- advOutFFTrack4
- advOutFFTrack5
- advOutFFTrack6
- advOutFFAEncoder
- advOutFFACfg
- advOutFFURL
advOutTrack1Bitrate
advOutTrack1Name
advOutTrack2Bitrate
@@ -7087,7 +7715,6 @@
advOutTrack5Name
advOutTrack6Bitrate
advOutTrack6Name
- advReplayBuf
advRBSecMax
advRBMegsMax
scrollArea_50
@@ -7235,86 +7862,6 @@
-
- advOutRecType
- currentIndexChanged(int)
- stackedWidget
- setCurrentIndex(int)
-
-
- 260
- 73
-
-
- 242
- 85
-
-
-
-
- advOutFFUseRescale
- toggled(bool)
- advOutFFRescale
- setEnabled(bool)
-
-
- 260
- 85
-
-
- 229
- 85
-
-
-
-
- advOutUseRescale
- toggled(bool)
- advOutRescale
- setEnabled(bool)
-
-
- 260
- 64
-
-
- 229
- 64
-
-
-
-
- advOutRecUseRescale
- toggled(bool)
- advOutRecRescale
- setEnabled(bool)
-
-
- 260
- 85
-
-
- 229
- 85
-
-
-
-
- advOutFFType
- currentIndexChanged(int)
- stackedWidget_2
- setCurrentIndex(int)
-
-
- 260
- 85
-
-
- 260
- 85
-
-
-
systemTrayEnabled
toggled(bool)
@@ -7571,5 +8118,85 @@
+
+ advOutUseRescale
+ toggled(bool)
+ advOutRescale
+ setEnabled(bool)
+
+
+ 269
+ 192
+
+
+ 656
+ 192
+
+
+
+
+ advOutRecType
+ currentIndexChanged(int)
+ stackedWidget
+ setCurrentIndex(int)
+
+
+ 663
+ 106
+
+
+ 560
+ 391
+
+
+
+
+ advOutRecUseRescale
+ toggled(bool)
+ advOutRecRescale
+ setEnabled(bool)
+
+
+ 289
+ 317
+
+
+ 662
+ 317
+
+
+
+
+ advOutFFUseRescale
+ toggled(bool)
+ advOutFFRescale
+ setEnabled(bool)
+
+
+ 334
+ 377
+
+
+ 685
+ 377
+
+
+
+
+ advOutFFType
+ currentIndexChanged(int)
+ stackedWidget_2
+ setCurrentIndex(int)
+
+
+ 685
+ 163
+
+
+ 685
+ 191
+
+
+
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
index bc75e9142..7d8e2eca1 100644
--- a/UI/window-basic-settings.cpp
+++ b/UI/window-basic-settings.cpp
@@ -1892,7 +1892,8 @@ OBSBasicSettings::CreateEncoderPropertyView(const char *encoder,
view = new OBSPropertiesView(
settings.Get(), encoder,
(PropertiesReloadCallback)obs_get_encoder_properties, 170);
- view->setFrameShape(QFrame::StyledPanel);
+ view->setFrameShape(QFrame::NoFrame);
+ view->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
view->setProperty("changed", QVariant(changed));
QObject::connect(view, SIGNAL(Changed()), this, SLOT(OutputsChanged()));
@@ -1907,7 +1908,9 @@ void OBSBasicSettings::LoadAdvOutputStreamingEncoderProperties()
delete streamEncoderProps;
streamEncoderProps =
CreateEncoderPropertyView(type, "streamEncoder.json");
- ui->advOutputStreamTab->layout()->addWidget(streamEncoderProps);
+ streamEncoderProps->setSizePolicy(QSizePolicy::Preferred,
+ QSizePolicy::Minimum);
+ ui->advOutEncoderLayout->addWidget(streamEncoderProps);
connect(streamEncoderProps, SIGNAL(Changed()), this,
SLOT(UpdateStreamDelayEstimate()));
@@ -2019,7 +2022,10 @@ void OBSBasicSettings::LoadAdvOutputRecordingEncoderProperties()
if (astrcmpi(type, "none") != 0) {
recordEncoderProps =
CreateEncoderPropertyView(type, "recordEncoder.json");
- ui->advOutRecStandard->layout()->addWidget(recordEncoderProps);
+ recordEncoderProps->setSizePolicy(QSizePolicy::Preferred,
+ QSizePolicy::Minimum);
+ ui->advOutRecEncoderProps->layout()->addWidget(
+ recordEncoderProps);
connect(recordEncoderProps, SIGNAL(Changed()), this,
SLOT(AdvReplayBufferChanged()));
}
@@ -3985,7 +3991,9 @@ void OBSBasicSettings::on_advOutEncoder_currentIndexChanged(int idx)
streamEncoderProps = CreateEncoderPropertyView(
QT_TO_UTF8(encoder),
loadSettings ? "streamEncoder.json" : nullptr, true);
- ui->advOutputStreamTab->layout()->addWidget(streamEncoderProps);
+ streamEncoderProps->setSizePolicy(QSizePolicy::Preferred,
+ QSizePolicy::Minimum);
+ ui->advOutEncoderLayout->addWidget(streamEncoderProps);
}
ui->advOutUseRescale->setVisible(true);
@@ -4005,6 +4013,7 @@ void OBSBasicSettings::on_advOutRecEncoder_currentIndexChanged(int idx)
ui->advOutRecUseRescale->setChecked(false);
ui->advOutRecUseRescale->setVisible(false);
ui->advOutRecRescaleContainer->setVisible(false);
+ ui->advOutRecEncoderProps->setVisible(false);
return;
}
@@ -4015,13 +4024,17 @@ void OBSBasicSettings::on_advOutRecEncoder_currentIndexChanged(int idx)
recordEncoderProps = CreateEncoderPropertyView(
QT_TO_UTF8(encoder),
loadSettings ? "recordEncoder.json" : nullptr, true);
- ui->advOutRecStandard->layout()->addWidget(recordEncoderProps);
+ recordEncoderProps->setSizePolicy(QSizePolicy::Preferred,
+ QSizePolicy::Minimum);
+ ui->advOutRecEncoderProps->layout()->addWidget(
+ recordEncoderProps);
connect(recordEncoderProps, SIGNAL(Changed()), this,
SLOT(AdvReplayBufferChanged()));
}
ui->advOutRecUseRescale->setVisible(true);
ui->advOutRecRescaleContainer->setVisible(true);
+ ui->advOutRecEncoderProps->setVisible(true);
}
void OBSBasicSettings::on_advOutFFIgnoreCompat_stateChanged(int)
@@ -5037,8 +5050,7 @@ void OBSBasicSettings::AdvReplayBufferChanged()
else
ui->advRBEstimate->setText(QTStr(ESTIMATE_UNKNOWN_STR));
- ui->advReplayBufferGroupBox->setVisible(!lossless &&
- replayBufferEnabled);
+ ui->advReplayBufferFrame->setEnabled(!lossless && replayBufferEnabled);
ui->advReplayBuf->setEnabled(!lossless);
UpdateAutomaticReplayBufferCheckboxes();