OBS Studio 22.0.0

General Changes
---------------

* Major improvements to the browser source:

  - Added hardware acceleration to the browser source on Windows for greatly improved performance, reduced resources, and allowing advanced rendering functionality such as WebGL.  This reduces CPU usage, reduces RAM usage, and even reduces GPU usage.  This option is enabled by default; it can be disabled in the advanced section of settings if needed if there are any unexpected issues.
  - Refactored the entire plugin and pruned approximately 13,000 lines of code (very satisfying for me in particular)
  - The browser source now has accurate frame synchronization on Windows
  - Fixed all memory leaks of the browser source
  - Added the ability to use web browsers as widgets (which isn't currently exposed much, but will allow a lot more custom functionality later)

* Added source grouping, allowing the ability to group multiple sources together as a single transformable group:

  - To add a group, you can either select a few sources and then right-click and choose "Group Selected Items", or you can create an empty group in the Add menu
  - You can seamlessly drag and drop items in and out of groups
  - You can ungroup a group without affecting the group in other scenes by right-clicking the group and choosing "Ungroup"
  - Groups show their list of sources as a sub-list within the main scene list, which can be collapsed and hidden if desired
  - Groups can be referenced (shared) between multiple scenes like any other source
  - Groups can have their own effect filters applied to them

* Added the ability to set a custom background color to items within the source list to color-code them for improved organization:

  - To set the item's background color, right-click the source item within the source list, and go to "Set Color"
  - You can use a preset selection of colors within the menu, you can choose a custom color, or you can reset it to default

* Added a "Vertical Layout" option to the mixer's right-click context menu to make the mixer display vertically rather than horizontally (#1257)
* The multiview can now be configured to show up to 24 scenes at once in general settings if desired (#1260)
* Added an option to audio settings to allow the user to change the audio meter type: "Sample Peak" and "True Peak" (#1189)
* Added secure streaming (RTMPS) support for services that support it, such as Facebook (#1360)
* It is now possible to use more than one Intel QSV encoder at once (#1341)
* It is now possible to use alt-cropping even on sources that are set to a bounding box transform.  This fixes the issue where, for example, alt-cropping would not work after you pressed Ctrl-F on a source.  Note that in that case, the rectangle's size will not change, but the contents will realign to the rectangle.  (01ac60c)
* Windowed projectors are now saved and loaded on shutdown/startup (#1195)
* Audio sources within the mixer now always displayed alphabetically (#1242)
* Significantly reduced GPU usage when the program is idle (I.E. when the program is not streaming or recording) (45b5291)
* Added a confirmation dialog when the user has not added video sources to any scenes, warning them that they are about to stream a blank screen.  This ensures that new users do not inadvertently stream without at least first adding some sources.  (310c98e)
* The program will now default to the NVIDIA GPU when on laptops that have both NVIDIA and Intel integrated adapters.  This can still be overridden in the NVIDIA control panel if desired

Bug Fixes
---------

* Fixed a bug where videos recorded with certain formats would report that they were 1000 FPS in their metadata when they actually weren't (1f592d1)
* Fixed a bug where the active monitoring device wouldn't properly change when switching between profiles (#1258)
* Fixed a bug where pasting filters without a destination source selected would cause a crash (b0cd7fe)
* Fixed a bug where projectors would close whenever "Always On Top" was toggled (#1207)
* Fixed a bug where the recording option "Generate file without space" was not working with the replay buffer (#1276)
* Fixed a bug size where certain cursors would appear the incorrect size in Game/Window/Display captures on Windows (#1284)
* Fixed a bug where in-program hyperlinks would show up with a bad contrast (dark blue) even in dark themes (e1ab9a0)
* Fixed a bug where stream output would stop if a stinger transition had a very late transition point assigned to it (an invalid floating point calculation would be put in to the audio data, which would in turn cause the audio encoder to fail and stop encoding, and thus stream output to stop) (0bd2e23)
* Fixed a bug on macOS where VLC would not be found for the VLC source despite VLC being installed (ec366cf)
* Fixed a bug on macOS where audio monitoring devices would not show up correctly, and fixed a few minor issues with audio monitoring on macOS (#1318, #1345)
* Fixed a bug where Mixer's FTL service would cause a crash on macOS (#1374)
* Fixed a bug where the color property (when showing the properties of sources/filters) would not show the actual color the user had set it to (#1305)
* Fixed a bug where hotkey labels would not update when sources and transitions are renamed, and could cause the hotkey to not be saved correctly (#1310)
* Fixed a bug where creating a new profile with advanced output mode active would not enforce the service's settings (such as keyframe interval) (310c98e)
* Fixed a bug where hotkeys for start streaming and stop streaming would disappear when going in/out of studio mode (caceb62)
* Fixed a few minor memory leaks (#1287, #1292)
