Fixed a crash when using YouTube browser docks [Warchamp7]
Fixed an issue causing RTMPS streams to fail in some cases [RytoEX]
Fixed an issue causing Media Sources ingesting SRT streams to fail in some cases [RytoEX]
Fixed an issue causing Browser Source hardware acceleration to fail on Linux [reitowo/tytan652]
31.1 New Features
Added support for Windows on Arm (WoA) [thirumalai-qcom/PatTheMav/RytoEX]
Builds for WoA are not fully featured and should be considered experimental
For more information, see: https://obsproject.com/kb/windows-on-arm
Added new UI appearance options, font size and density (padding/spacing) [Warchamp7]
Added preview zoom controls [cg2121/Warchamp7]
Added support for Multitrack Video to macOS (Apple Silicon) [dsaedtler]
Added support for Multitrack Video to Linux [lexano-ivs]
Added support for additional canvases for Multitrack Video output [dsaedtler]
Added AV1 B-frame support for AMF [rhutsAMD]
Added support for color format/space/range GPU conversion [dsaedtler]
Added support for network optimizations and TCP Pacing to Multitrack Video [lexano-ivs]
Added support for Stream Delay to Multitrack Video [lexano-ivs]
Added Spatial AQ option for VideoToolbox encoders on macOS 15+ [dsaedtler]
Added QVBR rate control for VA-API [nowrep]
Added explicit sync support for PipeWire Screen Capture [dkorkmazturk]
Added support for V4L2 virtual camera on non-Linux environments (e.g., BSD) [yurivict]
Added support for hardware accelerated browser source to Linux [tytan652]
The feature is disabled on NVIDIA GPUs due to feature-support inconsistencies across model series and driver series
31.1 Changes
Updated game capture hook signatures on Windows [derrod]
This update fixes game capture with games from Riot Games that use Vanguard
Added logging for streaming service recommended settings [prgmitchell]
Adjusted appearance of Scene Collection importer [Warchamp7]
Adjusted appearance of Sources list [Warchamp7]
Adjusted appearance of dock toolbars [Warchamp7]
Adjusted Missing Files dialog [Warchamp7]
Added support for recursive directory searches up to two levels deep
Adjusted the size, layout, and other UI aspects of the dialog
Fixed a bug when locating only a single file that caused the additional files prompt to appear twice
Reorganized Preview/Source context menu [Warchamp7]
Unified appearance of menus [Warchamp7]
Improved preview draw performance [Lain-B]
Increased maximum crash report size to 200 KB [WizardCM]
Adjusted Multitrack Video reconnection behavior [dsaedtler]
Changed hotkeys on macOS to require Input Monitoring permission instead of Accessibility [gxalpha]
Updated Video Capture Devices and Capture Card Devices on macOS to a unified list-based format selector when not using a preset [jcm93/PatTheMav/Warchamp7]
Removed the Exit button from the Controls dock [Warchamp7]
31.1 Bug Fixes
Fixed a crash with Media Sources with no video frame size, such as audio files [RytoEX/jeiea]
Fixed a crash on Windows with Display Capture if no display is available [RytoEX]
Fixed a crash on Windows with Vulkan Direct Display if OBS Studio is installed [mbechard]
Fixed a crash on Windows when importing a profile with a Unicode path [PatTheMav]
Fixed a crash on macOS 13 or older when a Browser Source or Browser Dock was added or loaded [jcm93/PatTheMav/RytoEX]
Fixed a race condition that caused subsequent recordings to fail/hang after an encoder timeout [derrod]
Fixed a freeze if an item was cropped further than its original dimensions [Lain-B]
Fixed a possible crash in Multitrack Video output [lexano-ivs]
Fixed a possible crash when reordering scene items [zavitax]
Fixed a possible crash when adding a procedure handler [norihiro]
Fixed a possible crash on shutdown from browser panels on Windows and macOS [WizardCM]
Fixed a possible race condition when loading sources [Lain-B]
Fixed a possible deadlock on Linux when checking if plugins were built against Qt5 [norihiro]
Fixed an issue with Rescale Output allowing invalid resolutions [flaeri]
Fixed an issue with browser source audio distortion on Windows [xtfo]
Fixed a possible packet loss issue with WebRTC output [Sean-Der]
Fixed R10L format output having bad RGB values [jpark37]
Fixed lookahead depth value logging for NVENC [DeeDeeG]
Fixed manifest commit hash comparison in updater [dsaedtler]
Fixed CBR spike when using QSV with Intel Battlemage GPUs [thyintel]
Fixed encoder throughput checks in AMF for older AMD drivers [rhutsAMD]
Fixed 10-bit and 16-bit PipeWire captures [PancakeTAS]
Fixed text input field in name dialogs (New/Rename/Duplicate) not being focused by default [Warchamp7]
Fixed some buttons not being readable by VoiceOver on macOS [gxalpha]
Fixed V4L2 virtual camera start failure on Linux [stephematician]
Fixed an issue with AMF where the encoder level was incorrectly set too high [lexano-ivs]
Fixed an issue with VA-API on AMD in Flatpak builds where the frame height was set incorrectly [lexano-ivs]
Fixed an issue where the game capture hook could incorrectly report that it was still hooked [EZ64cool]
Fixed an issue on Linux and macOS where POSIX pipes could fail silently [franga2000]
Fixed an issue with V4L2 devices where corrupted frames would terminate capture [JiangXsong]
Fixed an issue where settings could become corrupted when updating them in the AJA plugin [norihiro]
Fixed an issue with Multitrack Video where a stream would disconnect after 48 hours and fail to reconnect [dsaedtler]
Fixed an issue on Linux where hotkeys could stop working [norihiro]
Fixed an issue where FLV/RTMP timestamps were incorrect when b-frames are used [dsaedtler]
Fixed an issue where obs-browser cookie folder names could start with spaces [RytoEX]
Fixed an issue where browser error pages could not scroll [WizardCM]
Fixed an issue on macOS where menu items would launch unintended actions when OBS was set to certain languages [gxalpha]