3654 Commits

Author SHA1 Message Date
tytan652
d71878cd35 obs-ffmpeg: Add better error if SRT or RIST libraries are not found 2022-08-06 16:18:55 -07:00
columbarius
76e9c64f41 Revert "linux-capture: Fix Ubuntu 21.10 builds"
This reverts commit 0532a5c1f0296098a268dc43d889a08c932e1c48.

Ubuntu 21.10 is from OBS 28 onwards not longer supported and as such we
can raise the requirement of the PipeWire dependency to 0.3.33.
2022-08-06 09:28:58 -03:00
Vainock
e6a03be487 obs-ffmpeg, obs-transitions: Use property suffixes 2022-08-06 10:23:26 +10:00
gxalpha
9f370bd36e mac-capture: Show "hidden" checkbox for app capture on update as well 2022-08-04 00:44:29 +02:00
Paul Hindt
44acdd68b0 aja: Fix output of garbage video during preroll
Add additional logging of card frame counts/indices
2022-08-02 09:46:58 -07:00
davids
33081419e7 aja: Adjust delay when sending frames to card
The plugin will try to maintain a hardware queue depth of 4 frames,

adjusting video and audio delay dynamically.
2022-08-02 09:46:58 -07:00
tytan652
8989cf5caf rtmp-services: Remove useless supported codec field
We normally default to H264 onlt and AAC only if nothing is set.
2022-08-02 09:41:32 -07:00
tytan652
96eb14af47 rtmp-services: Add fallback to H264 if no supported codec found 2022-08-02 09:41:32 -07:00
tytan652
0283fd2c71 rtmp-services: Fix incompatible-pointer-types warnings 2022-08-02 09:41:32 -07:00
tt2468
d12836af51 obs-websocket: Update submodule
Fixes the plugin version string in submodule building.
2022-08-01 22:24:57 -07:00
Paul Hindt
fd7c23b200 aja: Remove unused code from output plugin 2022-08-01 13:34:56 -07:00
Richard Stanway
8ab6fffec4 obs-amf-test: Add 2.5 second timeout for AMF test process
If the test process freezes for whatever reason, OBS would block
indefinitely on reading the pipe. This commit adds a 2.5 second timeout
on the AMF test process after which it will self-terminate.
2022-08-01 13:34:27 -07:00
Richard Stanway
68415fa08f obs-ffmpeg: Throw on invalid amf_format 2022-08-01 13:34:27 -07:00
Richard Stanway
ac025b51ac obs-ffmpeg: Use get_buf function to ensure buffers_mutex is locked 2022-08-01 13:34:27 -07:00
Richard Stanway
2e8b8c5ae1 obs-ffmpeg: Fix typo in min_qp_p / max_qp_p options
Detected by PVS Studio.
2022-08-01 13:34:27 -07:00
Richard Stanway
00408b6b3b obs-ffmpeg: Don't load AMF DLL before amf-test
In the event that simply loading the AMF DLL causes initialization code
to run that might crash, don't load the DLL before the AMF test process
has succeeded. Instead, we load the DLL as data to see if it exists,
then run the AMF test, then load the DLL for real.
2022-08-01 13:34:27 -07:00
jpark37
3d18643088 obs-ffmpeg: Use new priority parsing for HLS
Parsing priority while serializing/discarding packet data is too gross.
2022-08-01 08:15:39 -07:00
tytan652
9d0c48af33 obs-ffmpeg: Fix incompatible-pointer-types warning 2022-07-31 21:48:13 -07:00
tytan652
4303e31268 obs-ffmpeg: Replace ftime on *nix platforms
ftime is deprecated on newer version of glibc.
2022-07-31 21:48:13 -07:00
jpark37
a34439aecc obs-ffmpeg: Make muxers respect ENABLE_HEVC
The encoded_video_codecs field doesn't seem to be used though.

Also update HDR luminance to match pattern.
2022-07-31 21:46:17 -07:00
jpark37
f7b58f6f6e win-wasapi: Don't log if reconnect fails 2022-07-31 21:45:37 -07:00
jpark37
2a1b047d33 obs-ffmpeg: Implement priority for HEVC over HLS 2022-07-31 17:42:53 -07:00
Translation Updater
81734be37c Update translations from Crowdin 2022-07-31 23:40:53 +00:00
PatTheMav
a001f97e3c mac-videotoolbox: Remove guard for hardware acceleration check 2022-07-31 12:21:35 +02:00
PatTheMav
f9cf458c11 mac-syphon: Remove all syphon-inject code
The injection feature is defunct in Mac OS X 10.15.
2022-07-31 12:21:35 +02:00
PatTheMav
43bdc627ea mac-capture: Remove display name code path for Mac OS X before 10.15 2022-07-31 12:21:35 +02:00
PatTheMav
290509f41d mac-capture: Remove guard for Mac OS X 10.10 2022-07-31 12:21:35 +02:00
PatTheMav
5b7879d9aa mac-capture: Remove codepath for discovering devices pre Mac OS X 10.15 2022-07-31 12:21:35 +02:00
PatTheMav
7acf785322 mac-capture: Remove presets for Mac OS X pre 10.15 2022-07-31 12:21:35 +02:00
jpark37
a4083c56b5 obs-ffmpeg: Use top-left chroma location for HDR
As specified in the HEVC spec. VLC now reports top-left instead of left.
2022-07-31 00:10:50 -07:00
jpark37
7ec6f0a66b obs-filters: Add HDR support to Scroll 2022-07-30 20:34:56 -07:00
jpark37
6a871d3f66 obs-transitions: Add HDR support to stinger
Regular SDR/HDR stingers, and SDR track matte should work. HDR track
matte might work, but would take a carefully crafted video that takes
the SDR white level into account, and this hasn't been tested.
2022-07-30 20:34:34 -07:00
Kurt Kartaltepe
8cb57aac1f obs-ffmpeg: Mark rist/srt required
When compiling with the new flag these are required, if we dont fail
here we instead get a more cryptic failure that the targets are
unassigned later in the file. This should make it easier to find the
flag to turn off or packages being searched for.
2022-07-30 20:33:54 -07:00
gxalpha
728d919bde mac-capture: Make background transparent in SCK App Capture on macOS 13+ 2022-07-31 11:22:48 +10:00
Matt Gajownik
92824b5e2e enc-amf: Add 2.5 second timeout for AMF test process 2022-07-31 10:56:11 +10:00
tytan652
1e1a21b7bf obs-websocket: Update submodule
- base: Add checks for submodules in CMake
- base: Add ENABLE_WEBSOCKET CMake option
- base: Clean up find_qt macro
2022-07-30 17:34:36 -07:00
tytan652
4ce3a729fd plugins: Make CMake fail if obs-websocket is not found 2022-07-30 17:34:36 -07:00
jpark37
2455753948 win-dshow: Compute HDR colorspace
Figure out colorspace from TRC and primaries if necessary.
2022-07-30 17:25:37 -07:00
pkv
a9a65a88d8 obs-filters: Reset RTX Greenscreen if parent is updated
This fixes a bug where an update of the parent source breaks the filter.
A signal handler is added to listen to updates of the parent.
This triggers a reset of the RTX FX.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-30 17:06:51 -07:00
Paul Hindt
7095f0dd70 aja: Only allow output formats matching OBS framerate 2022-07-30 16:39:20 -07:00
jpark37
c03dfd6dbc obs-filters: Add HDR support to Crop/Pad 2022-07-30 16:22:52 -07:00
jpark37
9fc797c745 obs-filters: Align scale filter to pattern
No functionality change.
2022-07-30 16:22:52 -07:00
jpark37
a65477bf06 obs-filters: Add HDR bypass for sharpen
Not sure how to implement controls for HDR, so skip unless SDR for now.
2022-07-30 16:22:37 -07:00
jpark37
ee2753961e obs-filters: Add HDR support to Render Delay 2022-07-30 16:22:23 -07:00
jpark37
2e6dcc7f17 obs-transitions: Simplify fade shaders 2022-07-30 16:19:08 -07:00
pkv
039d7347a3
obs-ffmpeg: Allow use of old mpegts output
By default, new mpegts output is used; but to allow CI on linux not
to be broken, we allow use of old mpegts output.
Up to ubuntu 22.04 there is no librist package available.
A manual compile is then required but the CI scripts would need to be
updated.
This also allows easy fallback in case of fatal bugs in new output.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-30 17:03:20 +02:00
pkv
e7d097cab8
obs-ffmpeg: Native SRT/RIST for mpegts output
Currently the ffmpeg_mpegts_muxer output is integrated with ffmpeg-mux.
Both use obs native encoders in contrast with obs-ffmpeg-output which
relies on avcodec library.
This allowed easy implementation of SRT, RIST & HLS protocols through
avformat library.
The main drawback is that obs-ffmpeg-mux exe doesn't allow for easy
debugging nor logging of the protocols.
It was written initially as a separate binary designed for recording so
that if obs fails for some reason, the recording can still terminate
gracefully.

In this commit the ffmpeg_mpegts_muxer is rewritten so that a pipe to
the ffmpeg-mux binary is not used any more.
The muxing to mpegts is still delegated to avformat.
But it can be traced more easily in all its steps.
Also the protocol part for SRT & RIST is implemented natively.
Custom avio_contexts for SRT & RIST are used to that end.
This allows to pass our own implementation of librist and libsrt
libraries instead of relying on avformat. This is very advantageous :
- this allows better logging.
- this allows better bug fixing and maintainance without having to rely
on hypothetical upstream fixes.

One immediate bonus of native implementation is that fixes bugs which
were not previously fixable.

Fixes: SRT & RIST auto-reconnect partly broken  #6749
Fixes: SRT: OBS unusable and uncloseable after starting stream to
invalid srt server #5791

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-30 17:03:10 +02:00
gxalpha
5f40084d25 mac-capture: Don't exclude desktop windows in SCK display capture
This fixes the desktop wallpaper missing on Display Capture on macOS 12
2022-07-30 15:24:35 +02:00
gxalpha
0207531910 mac-capture: Inline content_changed function 2022-07-30 15:24:35 +02:00
gxalpha
8fd2f164b7 obs-ffmpeg: Enable file splitting with obs_data directly
Also modifies UI accordingly.

This can enable file splitting even if no time or storage limit is set.
2022-07-30 15:21:08 +02:00