Commit Graph
11833 Commits
Author SHA1 Message Date
tytan652 a3d340f0be CI: Fix service validator
ubuntu-latest has been switched to 22.04. This CI requires 20.04 because
of the dependence on Python 3.9.
2022-11-01 14:20:25 +01:00
jp9000 808c8105cc libobs: Update version to 28.1.1 2022-11-01 00:51:42 -07:00
jp9000 a793748743 obs-ffmpeg: Check nvenc max bframe count
Checks to make sure that the bframe count is equal to or below the
maximum number of bframes that the encoder for the codec supports.

Fixes a bug where setting bframes higher than what the encoder supports
would cause the encoder to not start up properly.
2022-11-01 00:45:30 -07:00
Ryan Foster 1bd43220d5 UI: Migrate Simple Output NVENC preset 2022-10-31 22:51:24 -07:00
Ryan Foster c6fbeaaf6d UI: Refactor NVENC preset migration
Refactor the NVENC preset migration code to avoid having to maintain
more copies of the preset mappings.
2022-10-31 22:51:24 -07:00
jp9000 da6bf3ffba libobs: Update version to 28.1.0 2022-10-31 14:28:33 -07:00
jpark37 080095786f libobs: Force SRGB conversion for tonemapped video
Fixes case where video capture is darkened when both luma wipe and scale
filtering are set.
2022-10-31 14:05:04 -07:00
Ryan Foster 0ddba5d644 obs-ffmpeg: Split NVENC preset migrations by codec
This commit also modifies UI.
2022-10-31 17:02:51 -04:00
Ryan Foster a36427c0ab UI: Add NVENC preset migration for lossless 2022-10-31 17:02:51 -04:00
Ryan Foster 891e3b0f49 obs-ffmpeg: Align NVENC preset migrations to NVIDIA guidelines
Bring our NVENC preset migrations closer in line with NVIDIA guidelines.

https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-preset-migration-guide/

This commit also modifies UI.
2022-10-31 17:02:51 -04:00
Ryan Foster 254dc4081c obs-ffmpeg: Add NVENC preset mapping for old Default preset
The old NVENC preset "Default", labeled in OBS as "Performance", maps to
the new P3 preset when not using multipass. Since we previously only
enabled multipass/two-pass on "Max Quality", we can map this to P3 in
all cases.

This commit also modifies UI.
2022-10-31 17:02:51 -04:00
Ryan Foster 08f7a3778d obs-ffmpeg: Swap hq and mq preset order
This is for consistency with b2ff22a587.
Max Quality (mq) is "higher" than Quality (hq), and it's helpful for the
code order to reflect that.
2022-10-31 17:02:51 -04:00
cg2121 a1fb49ccd6 UI: Change adv audio background color
The color of the disabled sliders would be the same as the background
in the advanced audio dialog.
2022-10-31 17:38:55 -03:00
Jim 1fc6c50b62 UI/obs-frontend-api: Return allocated strings for new funcs
8dda8d3500 added a few functions to get the last
recording/replay/screenshot path, but it should return allocations
because it's possible for the data to be modified at a later point.
2022-10-30 20:35:36 -07:00
cg2121 8dda8d3500 obs-frontend-api: Add functions to get last saved files
Adds functions to the frontend api to get the last recording,
screenshot and replay buffer saved.
2022-10-30 19:53:11 -07:00
jpark37 3d985f7c60 libobs: Fix blend method in studio mode
Property was not being copied over.
2022-10-29 16:15:58 -07:00
Kurt Kartaltepe a9641940cb libobs: Add media key support for linux
Links up the xkb keysyms with the obs vk codes.

Fixes #7649
2022-10-29 16:08:16 -07:00
derrod ec3ea1f8a0 win-capture: Disable clang-format for assembly patterns 2022-10-29 16:06:24 -07:00
Vainock 5a1e93ef36 obs-filters: Fix typo in Upward.Compressor 2022-10-29 17:33:19 +02:00
derrod 85d561cad1 obs-ffmpeg: Fix Ubuntu 20.04 detection 2022-10-27 16:47:37 -07:00
Jim dd26fe4f8a obs-ffmpeg: Fix FFmpeg NVENC presets on Ubuntu 20.04
Ubuntu 20.04 and 22.04 both have the same FFmpeg versions, but FFmpeg on
20.04 was built with version 9 of NVENC headers, whereas 22.04 was built
with 11.

Unfortunately, that means we have to revert back to the old presets when
Ubuntu 20.04 is detected. The way this detection is done is a bit hacky,
but it's the only way to preserve startup performance. Otherwise we'd
have to write yet another startup subprocess test program to detect
whether the FFmpeg being used was built with older or newer NVENC, which
is both slow to start up and annoying to write. So instead, just get the
distro name/version strings and detect Ubuntu 20.04 that way.
2022-10-27 14:35:51 -07:00
Jim 4cc06ebdaa obs-filters: Fix comment typo 2022-10-27 00:49:32 -07:00
pkv 8d457718dc obs-filters: Add upward compressor filter
An upward compressor increases levels below a threshold, instead of
decreasing levels above it. This is closely related to an expander; the
upward compressor can be seen as an expander with ratio in the [0,1]
range. This can be used for example when the game audio is lowered
against a voice track but that one still wants to be able to hear very
low game sounds.

For more use cases:
https://www.izotope.com/en/learn/4-tips-for-using-upwards-compression-in-neutron.html

Signed-off-by: pkv <pkv@obsproject.com>
2022-10-27 00:44:59 -07:00
Jim 56cfaf792d obs-filters: Refactor expander filter expansion code
Things were a bit unoptimal and were squished together, making the code
much more difficult to work with. Instead, separate the code for
processing individual samples into its own function.
2022-10-27 00:44:59 -07:00
Jim 89006716b4 obs-filters: Use snake_case for expander variables 2022-10-27 00:44:59 -07:00
Translation Updater f065f20ce1 Update translations from Crowdin 2022-10-25 22:32:14 +00:00
Matt Gajownik b690ed0ad5 obs-browser: Update version to 2.18.6
d31b5fc - Include source name when printing console errors
d1fa35d - Add missing translation key for ERR_TIMED_OUT
2022-10-26 09:29:28 +11:00
Matt Gajownik 42770edd20 enc-amf: Minor compilation improvements 2022-10-26 09:24:54 +11:00
gxalpha 6f50aac941 UI: Use correct key for "Always on Top" with projectors 2022-10-24 20:47:47 +02:00
Mattias Landin 2a0f3d4c04 rtmp-services: Add Vindral service 2022-10-24 17:26:28 +02:00
derrod 1eedf4b50d UI: Fix placeholder element not being deleted 2022-10-23 14:35:30 +02:00
tytan652 82c734892c UI: Avoid showing service integration page on Wayland 2022-10-23 03:17:15 -07:00
cg2121 42ecdef938 obs-frontend-api: Add screenshot event
This adds a frontend event for when a screenshot is taken.
2022-10-23 11:06:30 +11:00
gxalpha 45ddd8c5ae UI: Set preset2 instead preset for simple mode NVENC 2022-10-22 16:48:53 -07:00
derrod e91f1f4003 UI: Hide --portable from help text if disallowed 2022-10-22 16:35:05 -07:00
derrod 602ad99581 UI: Hide donation CTA when running via Steam 2022-10-22 16:23:50 -07:00
derrod e8dc7d6b07 UI: Add --steam flag 2022-10-22 16:23:50 -07:00
Stefan Hoffmeister fca624ea4f linux-v4l2: Send STREAMON/STREAMOFF on vcam start/stop
This implements a suggestion made in
https://github.com/floe/backscrub/issues/133#issuecomment-1085598710 to
address what appears to be a problem in the v4l2loopback driver.
And better aligns OBS' usage to the v4l2 kernel interface.

fixes #4808
Co-authored-by: Norihiro Kamae <norihiro@nagater.net>
2022-10-20 18:35:35 -07:00
PatTheMav 89eeeb9c65 docs: Fix sphinx import error on Python 3.10+ 2022-10-20 21:26:52 +11:00
jp9000 556ef40529 obs-ffmpeg: Fix NVENC "mq" to use P6 rather than P4 2022-10-19 17:52:30 -07:00
jp9000 70c5f6c24a UI: Change "hq" to use P5 when upgrading NVENC 2022-10-19 17:51:07 -07:00
tytan652 15689fd4bd UI: Fix stats widget appearance on Yami themes
- QSS changes fix background color on the stats dialog.
- Making OBSBasicStats derive from QFrame fixes the background color
and round bottom corners on the stats dock.
2022-10-19 15:02:25 -04:00
tytan652 0a12d6728c UI: Fix stats widget status font size 2022-10-19 15:02:25 -04:00
tytan652 9bd34fe0cc UI: Fix theme if apply and cancel in settings
Cancel after apply in settings will set the old theme.
2022-10-19 15:01:37 -04:00
derrod 03490a4a12 CI: Fix Steam launching x86 version under Rosetta
Apparently Steam running the OBS launch script makes it run
inside Rosetta as well, so it ended up launching the x86 version
even on arm64 systems.

Explicitly detect Rosetta translation and set arm64 in those cases.
2022-10-19 11:26:06 -04:00
Ryan Foster beb649c06d Merge pull request #7581 from PatTheMav/virtualcam-fixes
mac-virtualcam: Fix crashes in apps loading virtual camera and performance fixes
2022-10-18 20:25:25 -04:00
PatTheMav 0b0ac1b958 mac-virtualcam: Remove unnecessary IOSurfaceLocks in Mach Server
IOSurface locks are only necessary when any processing with the data
contained in the surface is done and an explicit copy of data from GPU
memory back to CPU memory is needed.
2022-10-19 01:59:11 +02:00
PatTheMav 558c2a7074 mac-virtualcam: Remove unnecessary use of NSAppleEventDescriptor 2022-10-19 01:59:11 +02:00
PatTheMav a754cacc7f mac-virtualcam: Use IOSurfaceLock on Intel-based Macs only
Apple Silicon-based Macs have a unified memory architecture, as such
an IOSurface will always be available in memory accessible to the CPU
and GPU (and an off-load of the IOSurface will not take place).

eGPUs are not supported on Apple Silicon-based Macs either, so an
IOSurface lock to ensure data is copied back to CPU memory is not
necessary.
2022-10-19 01:59:11 +02:00
PatTheMavandSteven Michaud 36a86f5217 mac-virtualcam: Fix random crashes in applications loading VirtualCam
Without invalidating the mach port used for sharing the IOSurface
between OBS and the application displaying the virtual camera output,
IOKit seems to run into the issue of receiving "shared" mach ports,
possibly because of port exhaustion. IOKit requires a "new" port
however and crashes upon that error otherwise.

Co-authored-by: Steven Michaud <smichaud@pobox.com>
2022-10-19 01:59:11 +02:00