Commit Graph

4981 Commits

Author SHA1 Message Date
Amin.MasterkinG
4d4fb003db rtmp-services: Update MasterStream.iR ingest 2025-09-08 15:55:58 -04:00
Service Checker
1eb6bdee59 rtmp-services: Remove defunct servers/services 2025-09-03 20:47:36 -04:00
pkv
e33eab7f2a nv-filters: Guard function introduced in sdk >= 1.6.0
I forgot to guard NvAFX_UninitializeLogger() called in Destroy function.

Signed-off-by: pkv <pkv@obsproject.com>
2025-09-03 16:43:18 -04:00
PatTheMav
8e79dcfc8c plugins: Ensure that graphics device type checks use graphics context 2025-09-03 13:34:51 -04:00
Sebastian Beckmann
ef93ef6950 obs-ffmpeg: Null-check url query parameters
Fixes a crash if someone streams to a URL that does not have any query
parameters.

Amends 55c4ca9e63.
2025-09-02 17:13:46 -04:00
Brahmajit Das
69162b12ec obs-ffmpeg: Fix build with FFMPEG 8 and above
With commit https://github.com/FFmpeg/FFmpeg/commit/822432769868 FFMPEG
has removed almost all of the FF_API_FF_PROFILE_LEVEL related defines.
They were deprecated since 2023-09-06. This results in build failures.

This is first found on Gentoo with FFMPEG pre-release version.

Downstream-bug: https://bugs.gentoo.org/961699
Signed-off-by: Brahmajit Das <listout@listout.xyz>
2025-08-28 16:31:37 -04:00
derrod
3f393faa3c obs-outputs: Reset start time and remove unnecessary timestamp adjustments 2025-08-25 20:04:08 -04:00
Ryan Foster
2cb17dbc04 obs-browser: Update version to 2.26.0
obsproject/obs-browser@e5f0dbf - Add check for Metal in render function
obsproject/obs-browser@0e38358 - Fix stack smash crashes on Linux
obsproject/obs-browser@a9848f6 - Remove support for CEF 3770 and older
obsproject/obs-browser@0cc2b21 - Remove support for CEF versions older than 4103
obsproject/obs-browser@e1f1cb7 - Remove support for CEF versions older than 4183
obsproject/obs-browser@d1368fb - Remove support for CEF versions older than 4430
obsproject/obs-browser@93e3d1e - Remove ENABLE_WASHIDDEN
obsproject/obs-browser@963e2eb - Remove support for CEF versions older than 4472
obsproject/obs-browser@78008fc - Remove support for CEF versions older than 4638
obsproject/obs-browser@8fe72cc - Remove support for CEF versions as old as 4638
obsproject/obs-browser@0dde9f9 - Use v2 of obs_properties_add_button
obsproject/obs-browser@53d9a09 - Update clang-format to 19.1.1
obsproject/obs-browser@5306c61 - build-aux: Update run-format script to current obs-studio state
obsproject/obs-browser@c3b1e81 - Update version to 2.26.0
2025-08-25 19:38:30 -04:00
Sebastian Beckmann
b9c25ad94c win-dshow: Temporarily tolerate deprecated autoselect functions
These usages should be removed! On Clang or GCC this would throw a
warning now, but unfortunately on MSVC (the only compiler this plugin is
built with) PRAGMA_WARN_DEPRECATION disables the warning completely.

The only reason the usages here are tolerated is that removing them is
not completely trivial and I cannot test it.
2025-08-25 19:13:25 -04:00
Sebastian Beckmann
a92464d421 mac-avcapture/legacy: Remove autoselect feedback 2025-08-25 19:13:25 -04:00
Service Checker
31574b416f rtmp-services: Remove defunct servers/services 2025-08-22 23:33:47 -04:00
Sean DuBois
e4322bac68 obs-webrtc: Add version IFDEFs for 0.23.0
SenderReports are automatically sent. Disabling them via IFDEF so they
don't fail the build.
2025-08-22 21:55:56 -04:00
pkv
55c4ca9e63 obs-ffmpeg: Fix crash when using a pkt_size != 1316
This fixes a crash when using a pkt_size which is not the UDP default of
1316 Bytes ( 7 * 188 ).

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv
67b0b44fec obs-ffmpeg: Log SRT listener waiting for a connection
Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv
1407398e7f obs-ffmpeg: Change OBS-OUTPUT-XXX returns for RIST protocol
This updates a few OBS-OUTPUT-XXX to better reflect the output failures
for the RIST protocol.
Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv
467967eab6 obs-ffmpeg: Fix a crash with invalid URL
This fixes a crash when an invalid URL is used.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv
651544a487 obs-ffmpeg: Reimplement reconnection logic in mpegts muxer
This reimplements the reconnect logic in mpegts muxer.
Taking cues from the WHIP output, a start and stop thread is used,
controlled by a mutex, ensuring the start and stop pipelines can never
be run concurrently.
Fixes bugs #11885, #11721, #11620, #11062, #12133.
For better readibility, this commits also breaks the big set_config
function into smaller units.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv
8d9bd44179 obs-ffmpeg: Fix reconnection for SRT protocol
This is the first part of a fix for reconnection issues with SRT
protocol.
This part implements the logic on the side of the protocol.
The fixes are as follows:
- a cleanup of return values of the various functions used. The main
libsrt_open function returns OBS_OUTPUT_XXX enum members. But the other
functions return now only AVERROR(xxx).
- an explicit check of the socket state before returning
OBS_OUTPUT_SUCCESS. This fixes an issue due to relying on socket
non-blocking mode; in caller mode, the srt_connect function will return
a success even before a connection has succeeded since it relies on
notifications by srt_epoll_wait. This would prompt obs UI to display a
successful reconnection in spite of a failure.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
pkv
3ae9d6a106 obs-ffmpeg: Cleanup for mpegts muxer
The do_log function defined for the muxer expects that the struct is
named stream rather than output. So rename output to stream.
This also avoids confusion with stream->output which is an obs_output_t
pointer.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-22 19:07:21 -04:00
derrod
2eabfdad55 obs-outputs: Allow enabling BPM for Hybrid MP4 output 2025-08-22 17:35:16 -04:00
tytan652
2fe0385d13 linux-pipewire: Add aspect ratio to video capture format name 2025-08-22 14:34:28 -04:00
tytan652
3cce28a1d3 linux-pipewire: Add framerates to video capture format name 2025-08-22 14:34:28 -04:00
tytan652
c11253bb08 linux-pipewire: Use list-based format selector for video capture
Negotiation is now made with the user selected format.

Also fixes a typo in the name of a structure.
2025-08-22 14:34:28 -04:00
derrod
86f98beaf1 obs-nvenc: Add SDK 13.0 features 2025-08-21 18:35:35 -04:00
derrod
c6650e212c obs-nvenc-test: Add SDK 13.0 features and Blackwell 2025-08-21 18:35:35 -04:00
derrod
fd757d6edd obs-nvenc-test: Add error message for session limit being hit 2025-08-21 18:35:35 -04:00
derrod
43e8d02117 obs-nvenc-test: Query device info even if NVENC fails 2025-08-21 18:35:35 -04:00
derrod
666b2c7141 obs-nvenc-test: Add device architecture to device info 2025-08-21 18:35:35 -04:00
derrod
5f2a4e976f obs-outputs: Add support for Hybrid MOV 2025-08-21 18:14:33 -04:00
derrod
3e82c919e5 obs-outputs: Remove FFmpeg-style timebase adjustment
Since OBS enforces a constant frame rate and monotonic timestamps
this is not necessary for us.
2025-08-21 18:14:33 -04:00
Huts, Roman
ef4c542850 obs-ffmpeg: Add missing color range property setting for AMD AV1 encoder 2025-08-21 17:16:06 -04:00
pkv
164c921006 nv-filters: Remove from video fx header redundant define
These defines were defined twice ... due to a botched rebase.
Formatting fixes too.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
50b0943cec obs-filters: Purge NVIDIA Noise suppression
This completely removes what remained in obs-filters of NVIDIA FX, which
have been moved to their own project.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
8ae76937e0 nv-filters: Premultiply correctly for Blur FX
Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
f3ebb86396 nv-filters: Fix for size changes with video fx
The && should be a || when sizes are changed.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
3baf0456ba nv-filters: For Blur FX, do not set mask image
It is not necessary to set the mask parameter for Blur FX.
Setting it to NULL, will apply the blur to the whole image.
This is not documented in the SDK but is returned when info about the
FX is requested by the plugin to the SDK library.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
ea96f87ca1 nv-filters: Fix load of video FX during reset
The video FX must be reloaded whenever any of its settings have changed,
including its the temporal state.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
ab55bb46ea nv-filters: Set NvVFX_Run to SYNC mode
The NvVFX_Run function can be run in SYNC or ASYNC mode; the SDK sample
uses SYNC. This defines the magic numbers in an enum and sets the
NvVFX_Run function to SYNC.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
94752762c7 nv-filters: Process Background Blur FX on same CudaStream as Background Removal FX
The SDK samples uses the same CudaStream for both FX. Do likewise which
simplifies the code. (The Background Blur calls the Background Removal.)

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
pkv
2ad236740f nv-filters: Change Background Blur to perf mode
In order to alleviate the demands on GPU, the Background Blur is now set
to Perf mode.

Signed-off-by: pkv <pkv@obsproject.com>
2025-08-21 16:52:14 -04:00
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