Skip to content

Conversation

@pkviet
Copy link
Member

@pkviet pkviet commented Jul 23, 2022

Description

This adds support for multiple audio tracks in Simple Output for recordings. This is enabled for all quality presets (including "Lossless") except "Same as Stream".
This is also enabled for the Replay Buffer.
An exception is made for flv recording format since it only allows a single audio track.
The recorded track (and streaming track) is then Track 1 as before.

Screenshots
lossless preset:
obs64_2022-07-23_20-08-47

encoded presets:
obs64_2022-07-23_20-08-27

flv:
obs64_2023-02-27_12-51-12

same as stream preset:
obs64_2023-02-27_12-51-35

Motivation and Context

Members of obs support team report that regularly people switch from Simple to Advanced output just to be able to record multi track audio.
It would be better though for many to stick to Simple output, since it is ... simpler.

How Has This Been Tested?

Recordings made with three tracks in Simple output for:

  • lossless preset,
  • encoded presets (except flv).
    Checked that flv & "same as stream" preset record track 1.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@RytoEX RytoEX added the Enhancement Improvement to existing functionality label Jul 23, 2022
@Fenrirthviti Fenrirthviti added the UI/UX Anything to do with changes or additions to UI/UX elements. label Jul 23, 2022
@WizardCM
Copy link
Member

WizardCM commented Jul 24, 2022

Note to self: test Advanced Audio Properties.

@Fenrirthviti
Copy link
Member

From internal discussions about this: Disappearing items is something we no longer want to present in OBS, so this will need to find a permanent location to live. Disabling the checkboxes might be a solution here, but we will probably need to have a larger discussion on how best to approach this from a UI/UX standpoint for the various options.

Having this PR open should push those conversations forward as a high priority (at least, for myself) for post-v28 features.

CrxckedDest0y3r

This comment was marked as spam.

@Warchamp7
Copy link
Member

Warchamp7 commented Feb 26, 2023

Can we get a radio group selection for flv (and any other formats that don't support multiple audio tracks) instead of removing the checkboxes?

If we are hardcoded to track 1 for single track formats, I'd still like a radio group and simply have it disabled.

@pkviet pkviet added the Seeking Testers Build artifacts on CI label Feb 27, 2023
@pkviet
Copy link
Member Author

pkviet commented Feb 27, 2023

Updated the PR to implement @Fenrirthviti & @Warchamp7 suggestions.
When a preset / container which is not compatible with multiple tracks is picked, radio buttons are greyed out (track 1 is displayed as selected since it's the default for Simple Output; capability to pick the track for flv is beyond the purview of this PR.)
See the updated screen captures in first post of the PR.

@pkviet pkviet force-pushed the simplemultitrack branch 2 times, most recently from 1d29a5b to 8270532 Compare March 23, 2023 11:30
@pkviet
Copy link
Member Author

pkviet commented Mar 23, 2023

PR Updated

  • Due to RFC 45 being merged, there's been conflicts which I fixed and also some rewriting had to be done to accommodate
    the new opus encoders.

@pkviet pkviet force-pushed the simplemultitrack branch from 8270532 to d91b4cd Compare March 23, 2023 15:03
@pkviet pkviet force-pushed the simplemultitrack branch 3 times, most recently from 99811c1 to 1594e13 Compare March 23, 2023 19:14
@pkviet
Copy link
Member Author

pkviet commented Mar 23, 2023

Update

@pkviet pkviet force-pushed the simplemultitrack branch 2 times, most recently from 675c7b1 to 1786074 Compare March 24, 2023 17:21
Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks okay at a glance.

@Warchamp7
Copy link
Member

Approved on my end

pkviet added 2 commits March 25, 2023 21:07
This adds support for multiple audio tracks in Simple Output for
recordings.
This is enabled for all quality presets (including "Lossless") except
"Same as Stream".
This is also enabled for the Replay Buffer.
An exception is made for flv recording format since it only allows a
single audio track.
The recorded track (and streaming track) is then Track 1 as before.

Signed-off-by: pkv <pkv@obsproject.com>
Per request of our UI design chief, the tracks from Standard Recording
(Advanced Output) are moved below the audio encoder field.
Additionally, for consistency with Simple output, the video encoder
field is moved above the audio encoder (suggestion from Rodney).

Signed-off-by: pkv <pkv@obsproject.com>
@pkviet pkviet force-pushed the simplemultitrack branch from 1786074 to c5173d1 Compare March 25, 2023 20:27
@pkviet
Copy link
Member Author

pkviet commented Mar 25, 2023

Update

  • discovered today that this Qt bug is fixed: https://bugreports.qt.io/browse/QTBUG-6864
  • this allows now the use of a QtStackedWidgets, which makes for less code and cleaner. So I've switched to that.
  • also added one commit to move the tracks in Advanced Output > Standard Recording per request of @Warchamp7 .
  • also moved the video encoder field above that of audio encoder in Advanced Output > Standard Recording per request of @derrod
    obs64_2023-03-25_21-30-19

Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine at a glance.

@RytoEX RytoEX merged commit d57d09e into obsproject:master Mar 26, 2023
@RytoEX RytoEX added this to the OBS Studio 29.1 milestone Mar 26, 2023
@RytoEX RytoEX mentioned this pull request Mar 26, 2023
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement Improvement to existing functionality Seeking Testers Build artifacts on CI UI/UX Anything to do with changes or additions to UI/UX elements.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants