Commit Graph

4941 Commits

Author SHA1 Message Date
pkv
ffd3a2a34e obs-filters: Remove unused NVIDIA effect
The greenscreen effect was moved to nv-filters project.
But this file failed to be removed.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
cf6eb3fd89 nv-filters: Add chair removal option to background removal
This adds the following new options for background removal effect,
namely the ability to remove the chair or leave it with the talking
head.
Requires sdk >= 0.7.6.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
b9f13cc360 nv-filters: Add voice optimization for audio filters
This adds a new property for the audio filters: VAD (Voice Audio Data).
When it is toggled, the effect will be optimized for voice processing.
Noise suppression will "remove low-volume noise and all non-speech data"
in the words of the SDK.
Requires SDK >= 1.6.0.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
5c57cb1d8b nv-filters: Enable new logger function for audio effects
This enables a new logger function introduced in SDK >= 1.6.0, which
gives much more details about what is going on during the effect
processing.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
a8b8abe691 nv-filters: Enable new logger function for Video Effects
This enables a new logger function introduced in SDK >= 0.7.5, which
gives much more details about what is going on during the effect
processing.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
5e60e19de3 nv-filters: Disable audio filter instead of destroying in case of issues
The audio filters are now disabled if an issue is detected;
the filter is no longer destroyed.
This avoids a call to destroy function within the filter.
Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
Dennis Sädtler
c1a65901f5 obs-ffmpeg: Correct P-frame packet priority in AMF encoder 2025-08-21 14:12:20 -04:00
Dennis Sädtler
8279094885 obs-nvenc: Set packet priority 2025-08-21 14:12:20 -04:00
PatTheMav
813c95f4ca libobs: Update sharpness effect to enable compilation for Metal
A boolean comparison that involves at least one vector type will
result in a boolean vector (not a boolean scalar) for Direct3D and
Metal, whereas OpenGL returns a scalar boolean.

To avoid unnecessary code complexity, use the "distance" function
instead, which treats the color values as vectors and returns a
non-zero value if they are any different, achieving the same result.
2025-08-20 17:01:09 -04:00
PatTheMav
95ea65136f plugins: Update plugins to use default draw effect for Metal 2025-08-20 17:01:09 -04:00
derrod
966f086c96 obs-outputs: Use packet time callback for frame-accurate chapter markers 2025-08-20 16:07:51 -04:00
Huts, Roman
345700b199 obs-ffmpeg: Add Pre-Analysis checkbox for AMD encoder 2025-08-20 15:15:08 -04:00
Huts, Roman
4fb20ee9ad obs-ffmpeg: Update default AMD encoding settings 2025-08-20 15:15:08 -04:00
Exeldro
033c740d13 obs-transitions: Fix stinger showing count for update during transition 2025-08-20 13:34:57 -04:00
derrod
91e90817d2 obs-outputs: Fix tkhd/mvhd box version with 64-bit timestamps 2025-08-19 23:37:02 -04:00
jcm
4e7152bd70 mac-capture: Set minimum frame interval in capture initialization 2025-08-19 22:52:20 -04:00
Sebastian Beckmann
28b0ca5187 mac-avcapture: Remove unneeded macOS SDK ifdef
We require the macOS 15 SDK since 8f1bcc1, so this check is unneeded.
2025-08-19 18:17:56 -04:00
tytan652
24597a7b8e Revert "linux-pipewire: Fix 10- and 16-bit captures"
This reverts commit 4dfd0b31e4.

Also adds a FIXME comment.
2025-07-25 15:30:52 -04:00
Ivan Molodetskikh
fb09098fd7 linux-pipewire: Ensure the release point is always signaled
Since video rendering happens on a separate thread from PipeWire buffer
ingestion, it may happen that two buffers are ingested in quick
succession without the rendering thread ever getting to them. Since,
prior to this commit, the release sync point is only "primed" (set to
signal in the future) only on the video rendering thread, this results
in the buffer being returned to PipeWire's pool without anything ever
signaling the release point, effectively blocking it from ever getting
reused in the future. This quickly clogs up the buffer pool and leaves
only one buffer to circulate between the screencast source and OBS.

This commit adds a flag tracking whether the release point had been
primed. If, when ingesting a new PW buffer, the old buffer's release
point hadn't been primed, that means the video rendering thread never
got to that buffer, so the release point is immediately signaled,
marking the buffer reusable by the screencast source.
2025-07-25 13:55:31 -04:00
Ivan Molodetskikh
a7de3f4bde linux-pipewire: Dup syncobj fds
PipeWire format renegotiation runs in parallel with video rendering.

When the stream format is renegotiated, PipeWire removes the existing
buffers and closes the syncobj file descriptors. At the same time, the
video rendering thread may try to import the (already closed) syncobj
acquire fd, and hang on waiting for the fence to become available.

This is not a problem for the dmabuf fd because it's imported into a
texture right away, which doesn't disappear when PipeWire closes the fd.

This commit adds duping to the syncobj fds so that they too remain open
as long as the rendering thread may access them.
2025-07-25 13:55:31 -04:00
Ivan Molodetskikh
7092bc17db linux-pipewire: Require Gio 2.76
Subsequent commits use g_clear_fd() added in GLib 2.76.
2025-07-25 13:55:31 -04:00
JiangXsong
bd6c4713bb linux-v4l2: Avoid stopping capture on AVERROR(EAGAIN)
v4l2-decoder: continue sending frame to codec
if avcodec_receive_frame() returns AVERROR(EAGAIN)
2025-07-18 16:08:24 -04:00
Ryan Foster
ec5c2f3f34 obs-browser: Update version to 2.25.3
82092ce - Require extra info for Linux hardware accel
bdabf83 - Update version to 2.25.3
2025-07-11 18:35:49 -04:00
Ryan Foster
d91ccdefd2 obs-websocket: Update version to 5.6.2
Changes:
- Update translations
2025-07-04 13:52:56 -04:00
Ryan Foster
5f64568312 obs-browser: Update version to 2.25.2
033a23b - Update version to 2.25.2
2025-07-04 13:52:56 -04:00
Gol-D-Ace
9a4632ecb4 win-capture: Add Wuthering Waves to compatibility list 2025-07-02 13:30:49 -04:00
Gol-D-Ace
d92cb156fc win-capture: Add Roblox to compatibility list 2025-07-01 15:04:20 -04:00
Matt Gajownik
70c85f9875 Update translations from Crowdin 2025-07-01 13:34:08 -04:00
jcm
6134923fe7 mac-virtualcam: Resolve deprecation warnings to reflect 12.0 target 2025-06-30 14:50:14 -04:00
jcm
9dc9d67fd0 mac-avcapture: Resolve deprecation warnings to reflect 12.0 target 2025-06-30 14:50:14 -04:00
Ryan Foster
5e7804c137 obs-websocket: Update version to 5.6.1
Changes:
- Update translations

Other Notes:
This diff effectively reverts an accidental submodule commit rollback
that occurred in ffef7504ac.
As a result, the submodule diff is larger than intended. However, the
only net changes between 31.1.0-beta2 and this commit are the updated
translations.
2025-06-13 18:23:21 -04:00
Ryan Foster
b9bbde2e42 obs-browser: Update to 2.25.1
788cc61 - Update translations from Crowdin
6987eab - Allow vertical scrolling of error pages
9ffe382 - Update version to 2.25.1
2025-06-13 18:23:21 -04:00
Matt Gajownik
ffef7504ac Update translations from Crowdin 2025-06-09 14:55:50 -04:00
Huts, Roman
48feb2c593 obs-ffmpeg: Add B-frame CQP support for AMD AV1 encoder 2025-06-05 14:37:20 -04:00
PancakeTAS
f614064eb4 linux-pipewire: Fix render technique in captures 2025-05-27 14:14:26 -04:00
Ryan Foster
47a81b1c69 obs-websocket: Update version to 5.6.0
New Features:
- Added `obsStudioVersion` field to Identify message [tt2468]
- Added `inputKindCaps` field to input list array [tt2468]
- Added `inputKindCaps` to `CreateInput` event [tt2468]
- Added input deinterlace mode/field order requests [tt2468]

Enhancements:
- Added nlohmann type converters for source deinterlacing [tt2468]

Bug Fixes:
- Avoided unnecessary volumemeters object copy [tt2468]

Other Notes:
- Updated documentation
2025-05-23 18:18:55 -04:00
Ryan Foster
8bf9ec6945 win-capture: Fix crash if cursor size is zero 2025-05-23 13:49:52 -04:00
Matt Gajownik
de61fd5756 CI: Add CEF & enable obs-browser for Windows on ARM 2025-05-20 12:50:41 -04:00
Dennis Sädtler
8e129b171d obs-outputs: Correct FLV composition time offset calculations
The conversion to milliseconds rounds down. Rounding down DTS and CT
values independently results in a cumulative error that results in the
PTS (DTS + CT) being incorrect (off-by-one).
2025-05-19 15:32:11 -04:00
JiangXsong
4510b93bcb linux-v4l2: Skip decode H264/MJPEG frames during capture 2025-05-15 16:06:27 -04:00
Ryan Foster
8b0e9748da obs-browser: Update to 2.25.0
c5a2092 - Add hardware accel support under Linux
be8e590 - Add workaround for hardware accel under X11
00b920f - Blacklist NVIDIA driver for hardware accel under Linux
a0a0edc - Fix support for building with CEF 5060
a54e7c4 - Enable building with CEF 6834
99f9940 - Enable building with CEF 6943
55071a1 - Expand panel shutdown loop to all platforms
0fb70b6 - Add workaround for browser dock hanging
0b13eb9 - Replace Glad usage with newer libobs graphics API
f617868 - Prevent Windows 11 timer resolution throttling to fix audio distortion
5ee8056 - Update version to 2.25.0
2025-05-13 14:02:55 -04:00
tfo
000437ff7e decklink: Fix incorrect HDR min mastering luminance value
Update value for
bmdDeckLinkFrameMetadataHDRMinDisplayMasteringLuminance from 0.00001
to 0.0001 to match the documented minimum in the DeckLink SDK Manual.
2025-05-09 14:16:54 -04:00
Service Checker
c96366eafb rtmp-services: Remove defunct servers/services 2025-05-06 14:03:33 -04:00
Ryan Foster
c86de0587a win-capture: Fix crash if no display is available
If no displays are available, numPath or numMode can be 0, which will
result in a bmalloc(0) call and OBS will crash.
2025-05-05 19:23:36 -04:00
Ryan Foster
720f37046f Revert "obs-ffmpeg: New default AMD encoding settings"
This reverts commit 5a1f622ac1.
2025-05-05 18:52:29 -04:00
Ryan Foster
a96de1e5dc Revert "obs-ffmpeg: Add Pre-Analysis checkbox for AMD encoder"
This reverts commit c518f69c84.
2025-05-05 18:52:29 -04:00
Huts, Roman
c518f69c84 obs-ffmpeg: Add Pre-Analysis checkbox for AMD encoder 2025-05-05 17:43:00 -04:00
Huts, Roman
5a1f622ac1 obs-ffmpeg: New default AMD encoding settings
# Conflicts:
#	plugins/obs-ffmpeg/texture-amf.cpp
2025-05-05 17:43:00 -04:00
jeiea
a1c6bae601 nv-filters: Fix warnings with Visual Studio 2022 17.14
Following error occurs with Visual Studio 2022 v17.14 Preview 4.0 and
Windows 11 SDK 10.0.26100.0

nvidia-videofx-filter.c(133,9): error C2220: the following warning is
treated as an error
nvidia-videofx-filter.c(133,9): warning C5287: operands are different
enum types 'nvvfx_fx_id' and 'nvvfx_filter_id'; use an explicit cast to
silence this warning

The warning is reasonable, so change mismatched enum type.
2025-05-02 16:59:57 -04:00
jeiea
55673966cf win-capture: Fix warnings with Visual Studio 2022 17.14
Following error occurs with Visual Studio 2022 v17.14 Preview 4.0 and
Windows 11 SDK 10.0.26100.0.

duplicator-monitor-capture.c(766,35): error C2220: the following warning
is treated as an error
duplicator-monitor-capture.c(766,35): warning C5287: operands are
different enum types
'window_capture_method' and 'display_capture_method'; use an explicit
cast to silence this warning

The warning is reasonable, so change mismatched enum type.
2025-05-02 16:59:57 -04:00