Commit Graph
5129 Commits
Author SHA1 Message Date
Ryan Foster 1d4d119382 obs-browser: Update version to 2.27.5
obsproject/obs-browser@1cfae9e Initialize dock later to bypass startup crash
obsproject/obs-browser@4053278 Correctly set CEF log path on non-Windows platforms
obsproject/obs-browser@7962467 Queue navigation in browser dock to fix deadlock
obsproject/obs-browser@be39477 Resize panel container after context is created
obsproject/obs-browser@d4db73e Update version to 2.27.5
2026-10-28 16:54:58 -04:00
Dennis Sädtler 7fc60ea381 rtmp-services: Update Twitch/IVS Ingests
Replace legacy ingest URLs with current ones as the old ones may be
disabled in the future.
2026-10-22 10:31:39 -07:00
Ryan Foster 95d5223b66 obs-browser: Update version to 2.27.4
obsproject/obs-browser@23075aa Disable Chromium function to de-elevate main process
2026-10-20 17:15:49 -04:00
Ryan Foster f1c0a11644 obs-browser: Update version to 2.27.3
obsproject/obs-browser@6b6d456 Additional restrictions on custom scheme handler
obsproject/obs-browser@4d341a6 Fix handling of filepaths in migration
2026-10-16 18:05:42 -04:00
PatTheMav 1b38b75338 cmake: Fix regression when disabling core modules
To create a build system that only produces the core libraries required
for plugin development (libobs and obs-frontend-api), developers could
use the "ENABLE_PLUGINS" cache variable.

This variable was removed and replaced with "ENABLE_CORE_MODULES"
for the plugin manager feature, but disabling building of core modules
made it impossible to build libobs (as the required files were not
generated).

This commit adds temporary support for the deprecated "ENABLE_PLUGINS"
variable (with a deprecation warning) and also ensures that libobs can
be built successfully without any core modules enabled.
2026-10-16 15:12:08 -04:00
Service Checker 1ad6110186 rtmp-services: Remove defunct servers/services 2026-10-14 19:58:57 -04:00
Joel Bethke b92a28ffdf win-dshow: Update virtualcam installer scripts
Remove the registry key check for the virtual camera module installer.
The regsvr32 will perform this check itself, so we don't need to if the
registration is already present. However, if we want to update the path,
simply checking that the key exists will prevent us from being able to
update the path in the future, and as necessary for OBS v33+. This also
corrects the incorrect file paths to the modules in the new core plugin
structure.
2026-10-14 13:46:43 -04:00
Ryan Foster 7d98bebe11 obs-websocket: Update version to 5.7.6
Changes:
 - Update translations from Crowdin
2026-10-08 16:03:49 -04:00
Ryan Foster 3ac7ff8cc0 obs-browser: Update version to 2.27.2
obsproject/obs-browser@058c30f Temporarily recreate implied Localhost permissions
2026-10-08 14:21:11 -04:00
Matt Gajownik e7f0b0d43c Update translations from Crowdin 2026-10-07 22:04:29 -04:00
Ryan Foster 39c2de975b obs-browser: Update version to 2.27.1
Fixed:
 * Fixed audio monitoring on browser sources briefly being enabled
 * Fixed browser sources appearing blank on refresh

obsproject/obs-browser@9124be1 Update translations from Crowdin
obsproject/obs-browser@ae92c43 Don't override error page for an aborted page load
obsproject/obs-browser@810c52e Clear page rather than redirect on failed page load
obsproject/obs-browser@de7e68f Restore audio mute on navigation
obsproject/obs-browser@24b5c8d CI: Update clang-format to 22.1.3
obsproject/obs-browser@5b50328 clang-format: Format files
obsproject/obs-browser@8349dee CI: Update and pin actions/checkout to v7.0.1
obsproject/obs-browser@a82b017 cmake: Update require CMake version to match obs-studio
obsproject/obs-browser@d7260a6 cmake: Format with gersemi 0.25.0
obsproject/obs-browser@1e313ae Update version to 2.27.1
2026-10-07 19:25:57 -04:00
Ryan Foster cffa83ba55 obs-websocket: Update version to 5.7.5
Changes:
 - forms: Remove Qt<6.10 code
 - base: Don't start WebSocket server in Safe Mode
2026-10-02 18:23:43 -04:00
Ryan Foster ff5c7fc5d6 linux-v4l2: Remove support for FFmpeg<8.0
Remove compatibility code for FFmpeg<8.0 that targets:
* libavcodec < 62
2026-10-02 15:52:04 -04:00
Ryan Foster a677505514 obs-ffmpeg: Remove support for FFmpeg<8.0
Remove compatibility code for FFmpeg<8.0 that targets:
* libavcodec < 62
* libavformat < 62
2026-10-02 15:52:04 -04:00
Ryan Foster 4b7854b920 win-dshow Set minimum FFmpeg version to 8.0 2026-10-02 15:52:04 -04:00
Alfred Wingate a93fae1cce decklink: Include previously implicit header for Linux
Libcxx-23 is removing transitive includes. This caused build failures
related to headers that were already included for Windows. Just
inherit them unconditionally.

See-Also: https://discourse.llvm.org/t/rfc-remove-unused-transitive-includes-from-the-libc-headers/90157
Signed-off-by: Alfred Wingate <parona@protonmail.com>
2026-10-02 15:25:30 -04:00
Ryan Foster 6377af46bb frontend-tools: Update clock Lua script for new gs_image_file_ex
Follow-up to c3046ec172.

That commit completely replaced the various gs_image_file* structs and
functions, but this script was not updated. Use the new structs and
functions to fix the script.
2026-10-01 18:00:12 -04:00
Warchamp7 ef5814431c win-capture: Fix data directory path 2026-10-01 17:37:35 -04:00
FiniteSingularity 851826340f frontend-tools: Turn off scripting in Safe Mode
This commit modifies the frontend-tools core module to disable scripting
when OBS is launched in Safe Mode. With the new plugin manager, the
frontend-tools module is loaded even in Safe Mode, but since scripts are
potentially unsafe, this commit checks at plugin load and disables
scripting if Safe Mode is active. The rest of the module will still
function properly.
2026-09-24 12:56:57 -04:00
FiniteSingularityandPatTheMav 4ab64d00d0 cmake: Change name of core module output directory
Moves first-party runtime modules into the "core" directory rather than
the "obs-plugins" directory to better differentiate them from legacy
plugins as well as existing 3rd-party plugins.

This change also requires the existing plugin directory to be explicitly
added as a possible module search path by application logic, as libobs's
internal logic will not add this path anymore and thus third-party
plugins would not be discovered anymore.

Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com>
2026-09-23 18:53:19 -04:00
FiniteSingularityandPatTheMav cca82c7156 cmake: Add concept of "core" modules
Core modules are main OBS Studio functionality implemented as runtime
modules, but are conceptually considered mandatory and the application
is incomplete without them.

This change also introduces a configure-time dependency of core modules
on "libobs" (already a generation-time dependency) and produces a
library target with the names of all core modules available at build
system generation.

Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com>
2026-09-23 18:53:19 -04:00
FiniteSingularityandPatTheMav db8d9071b2 cmake: Add explicit target_enable function
This provides the counterpart to the existing "target_disable" function,
which also allows the functionality to be factored out of existing
helper code that might run this implicitly.

Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com>
2026-09-23 18:53:19 -04:00
tt2468 1c315c33f8 rtmp-services: Update IRLToolkit ingest list
- `ewr` is now `iad`
- Added `ord` and `icn`
2026-09-23 15:41:31 -04:00
Ramjivan Jangid 978fc690d8 rtmp-services: Update Streamway primary ingest
Update Streamway's primary ingest endpoint to secure RTMPS.
2026-09-23 14:47:42 -04:00
rch850 d654632c0f rtmp-services: Update Whowatch
Use Amazon IVS Realtime RTMP Ingest
2026-09-22 17:07:09 -04:00
R0teandRyan Foster 0820d804bc linux-alsa: Fix use-after-free crash when USB mic not plugged in
Co-authored-by: Ryan Foster <ryan@obsproject.com>
2026-09-22 15:02:52 -04:00
Myeong Gyu Lee ea7536c49c rtmp-services: Add multitrack_video option to PandaTV | 팬더티비 Service 2026-09-21 19:13:24 -04:00
tom b31833b1ae rtmp-services: Add Spoon RTMP service 2026-09-21 17:18:01 -04:00
Matt Gajownik cba17c1d81 obs-browser: Update to 2.27.0
obsproject/obs-browser@5d2aadb Update to C++20
obsproject/obs-browser@d7065f9 cmake: Update Info.plist generation for macOS
obsproject/obs-browser@bb9b32e Enable support for CEF 6613+ and Chrome Runtime
obsproject/obs-browser@77bad77 Use constexpr for disabled command line features
obsproject/obs-browser@1d24808 Disable global shortcuts portal integration
obsproject/obs-browser@f555da0 Update version to 2.27.0
obsproject/obs-browser@a162443 Allow WebSocket requests over the network
2026-09-17 13:05:56 -04:00
pkv 0e742b3ad7 nv-filters: Remove CUDA from audio loader
CUDA is no longer used in Audio FX, so we remove everything related to
it in the nvafx loader.

Signed-off-by: pkv <pkv@obsproject.com>
2026-09-10 14:12:37 -04:00
pkv 06e3fbcf73 nv-filters: Enable Video FX SDK 1.3.0 for ARM
This updates the video FX SDK to 1.3.0, which enables arm64 support.
Backwards compatibility with SDK 0.7.6 has been kept.

Signed-off-by: pkv <pkv@obsproject.com>
2026-09-10 14:12:37 -04:00
pkv 9a91114907 nv-filters: Do not display VAD for dereverb
Voice Activated Detection (VAD) does not work with the room echo removal
(dereverb) FX.
So we remove it from Properties.

Signed-off-by: pkv <pkv@obsproject.com>
2026-09-10 14:12:37 -04:00
pkv 250dd2ab47 nv-filters: Enable audio FX SDK 3.0.0 for ARM
SDK 3.0.0 brings compatibility with arm64. The DLL loading sequence has
been adjusted since the FX are now loaded in their own child DLL.
The DLL loader has been also cleaned up by removing unused symbols. This
allowed us to dodge a few ABI breaks from NVIDIA...

Signed-off-by: pkv <pkv@obsproject.com>
2026-09-10 14:12:37 -04:00
Service Checker ed9b3cc19f rtmp-services: Remove defunct servers/services 2026-09-09 18:11:27 -04:00
tytan652 6b3e550729 cmake: Remove MbedTLS custom finder
The CMake package provided by upstream was preferred but macOS build
were without it until recently.
2026-09-04 16:59:23 -04:00
Gol-D-Ace 42ea39628c win-capture: Add Roblox window class auto switch to WGC mode 2026-09-02 12:54:43 -04:00
kangunnie_soop a2400fe980 rtmp-services: Update SOOP ingests
- Update streaming URL
- Consolidate SOOP Korea and SOOP Global service entries
2026-09-01 22:48:27 -04:00
Penwywern eee6a81ddc frontend: Register the replay buffer save hotkey in the frontend
Existing registering of the save hotkey in obs-ffmpeg makes it
impossible for it to trigger a frontend event, and is inconsistent with
other existing output hotkeys.

This registers the save hotkey in the frontend and removes the
registration in obs-ffmpeg, and adds a "due to hotkey" log message,
like other output hotkeys.
2026-09-01 15:44:00 -04:00
Penwywern d1244016fc obs-ffmpeg: Add replay buffer saving output signal 2026-09-01 15:44:00 -04:00
Ryan Foster 291298ed08 obs-nvenc: Enable NVENC on Arm64 2026-09-01 12:59:03 -04:00
Pablo bcd53e2914 win-capture: Add Construct 3 window class to WGC match
Construct 3 games register a top-level window class named
"WindowsWebview2Wrapper" which does not contain "Chrome" or "Mozilla",
causing OBS automatic mode to use BitBlt instead of WGC, which results
in a black screen for Construct 3 games.

Add "WindowsWebview2Wrapper" to wgc_whole_match_classes and add
compatibility entries for window capture BitBlt and game capture
warnings.

Closes #13359
2026-08-24 16:16:27 -04:00
Warchamp7 646836a311 libobs, frontend: Deprecate source monitoring_type 2026-08-24 14:55:40 -04:00
Alex Luccisano 0969e43a83 obs-ffmpeg: Fix B-frame offset calculation in AMF
AVC and AV1 encoders in AMF that support B-frames were incrementing
`dts_offset` even when B-frames were set to 0. For AVC, adjust the
`dts_offset` only when B-frames are supported and are greater than 0,
and clamp to maximum supported.

For AV1, remove the dts_offset code completely because it is being
ignored anyway. AV1 handles B-frames and offsets differently; refer
to [1] for details.

[1]: https://github.com/obsproject/obs-studio/pull/10996
2026-08-24 14:22:25 -04:00
Kira-NT 7e22ed2d48 win-capture: Improve fullscreen window detection
It's not that uncommon for apps on Windows to use a hacky method of
extending their windows 1-2px past the supported monitor resolution
to preserve "true" windowed fullscreen and circumvent some exclusive
fullscreen-related issues presented by their graphics library,
Windows itself, or both.

Therefore, the fullscreen detection technique has been relaxed
to properly identify windows slightly larger than the monitor's
viewport as fullscreen.

Windows also does something similar, evident by the fact that
the taskbar disappears, as it always does for fullscreen windows,
even when a window stretches slightly beyond the defined viewport.
2026-08-22 16:02:45 -04:00
Lain c3046ec172 libobs/graphics: Break image file API to prevent ABI issues 2026-08-21 15:43:20 -04:00
tytan652 71ef44f06e cmake: Require MbedTLS 3 and exclude 4 or later
Until the codebase is updated to support it, CMake will explicitly search
for version 3 that is supported by the codebase.
2026-08-21 15:00:09 -04:00
derrod f89ad4bee5 obs-outputs: Fix file splitting overshooting when b-frames are used
I discovered while testing that the first split would always be one GOP
too long (e.g. 1m2s instead of 1m) due to the fact that b-frames and
negative start DTSes were not accounted for.

This is now fixed by setting the start_time to the nonzero negative DTS
produced for the first packet. Additionally, a small tolerance of 1 ms
was also added to account for rounding issues present in the first GOP.
2026-08-21 14:33:06 -04:00
derrod 575c77f19d obs-outputs: Do not drop last packet when flushing Hybrid file
Originally, before file splitting was introduced, I made the choice to
simply ignore the last frame in the packet queue of the muxer, because
frame N+1 is required to properly determine the duration and I figured
nobody would notice if their recording is one frame short.

However, when using frame splitting this would result in the last frame
before the split being dropped. To fix this, we can simply reuse the
previous sample's duration for the final sample in a file. Since OBS
only does CFR, they should all be identical anyway.
2026-08-21 14:33:06 -04:00
jcm 6c6adac9c9 mac-capture: Use 64RGBAHalf pixel format for screen capture when available 2026-08-21 13:58:36 -04:00
tytan652 c568ee4969 linux-pipewire: Forbid screencast source duplication
Each instance holds a unique session with a unique restore token.
Which both can not be duplicated.
2026-08-20 23:13:55 -04:00