0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00
Commit Graph

4679 Commits

Author SHA1 Message Date
Sean DuBois
512db59c44 obs-webrtc: Do not use curl_easy_nextheader
API not available in Ubuntu 22.04 which ships 7.81 this API was first
available in 7.83
2024-06-07 15:36:36 -04:00
tt2468
9d610316cb obs-websocket: Update version to 5.5.0
See commit obsproject/obs-studio@2055104 for the changelog
2024-06-07 03:23:21 -07:00
Translation Updater
8999d9fef9 Update translations from Crowdin 2024-06-07 09:47:58 +00:00
Ryan Foster
5d05d7084e obs-browser: Update version to 2.23.5
b4f724a - cmake: Set minimum CEF version to 95
2024-06-06 15:21:25 -04:00
Ruwen Hahn
09afd185aa rtmp-services: Add Amazon IVS service 2024-06-06 14:44:48 -04:00
tytan652
e4ae149278 linux-capture: Fix module prefix with CMake 3 2024-06-06 14:23:15 -04:00
Sean DuBois
4aa41ec854 obs-webrtc: Add Link Header support
WHIP/WHEP allows ICE Servers to be specified via Link Headers[0]

[0] https://www.ietf.org/archive/id/draft-ietf-wish-whip-13.html#name-stun-turn-server-configurat

Co-authored-by: Takeru Ohta <phjgt308@gmail.com>
2024-06-05 19:28:33 -04:00
Exeldro
97a20c478c obs-filters: Do not load NVVFX on OpenGL 2024-06-05 19:27:00 -04:00
Sean DuBois
b9de99a103 obs-webrtc: Increase RtcpNackResponder size
Before we used the default value set by libdatachannel. At
higher bitrates the cache would be undersized. Because of the undersized
cache we wouldn't have enough NACK history to fix the stream.
2024-06-04 14:37:44 -04:00
derrod
acd4854ced obs-outputs: Add native mp4 output to legacy cmake 2024-06-03 12:34:49 -04:00
derrod
7a870fd923 obs-qsv11: Fix QSV failing on multi-vendor multi-GPU systems
Adds index correction present in QSV test binary to Windows encoder
initialization as well. This is necessary when the adapter index of the
Intel GPU is not the same as the "implementation" index in MFX.
2024-06-01 19:40:33 -04:00
Kurt Kartaltepe
fc1ab5fcbc obs-ffmpeg: Check correct VA-API codec support
Previously, we just checked for H264 regardless of which codec was
selected. This mostly worked, but on Fedora they ship AV1 without H264
or HEVC. In that case users wont see AV1 as an option.
2024-06-01 19:14:46 -04:00
KOU_CHANG
e92010cc11 rtmp-services: Add sheeta 2024-05-29 12:22:24 -04:00
derrod
df2a75fe4b obs-outputs: Add native MP4 muxer 2024-05-26 23:11:48 +02:00
gxalpha
a92852f96b mac-avcapture: Improve av_capture_sync_info formatting 2024-05-25 17:14:24 -07:00
Ruwen Hahn
52660beae2 obs-outputs: Remove FLV byte array style multitrack audio support 2024-05-24 16:22:16 -04:00
Ruwen Hahn
36d3290879 obs-outputs: Remove special handling for audio encoders 1 and 2 2024-05-24 16:22:16 -04:00
Ruwen Hahn
98ab3663d6 obs-outputs: Add eRTMP multitrack audio support 2024-05-24 16:22:16 -04:00
Ruwen Hahn
82193970f4 obs-outputs: Add eFLV multitrack audio support 2024-05-24 16:22:16 -04:00
Ruwen Hahn
c419465137 librtmp: Fix incorrect usage of type 3 chunks
Per [1] type 3 chunks/RTMP_PACKET_SIZE_MINIMUM always use
the previously sent (delta) timestamp as their _delta_ timestamp,
so we need to inspect whatever was previously sent, rather than just
looking at the previous packet's absolute timestamp. I.e., type 3
chunks are only permissible in this case if the previously encoded
(delta) timestamp equals the current delta timestamp.

[1] https://rtmp.veriskope.com/docs/spec/#53124-type-3
2024-05-24 16:22:16 -04:00
Jeremy Woertink
e79fea301d rtmp-services: Update Joystick.TV servers and recommended settings 2024-05-22 12:27:07 -04:00
derrod
c815d6ad61 coreaudio-encoder: Fix pts/dts not including encoder delay 2024-05-18 16:32:38 -07:00
derrod
7cd72781c8 obs-outputs: Adjust HEVCDecoderConfigurationRecord for hvc1 tag
We mux HEVC with the hvc1 tag, which requires the parameter sets'
array_completeness to be set to 1.
2024-05-18 16:17:37 -07:00
Ryan Foster
842d249cb9 rtmp-services: Bump package version
e92accf136 updated services.json, but
didn't bump the package version.
2024-05-17 15:16:38 -04:00
cg2121
f60d6bcfe2 rnnoise: Fix compilation not working on latest gcc
The latest gcc spits out an error about calloc parameters that are
in the wrong order.
2024-05-16 18:29:06 -04:00
tytan652
7824e164b1 mac-capture: Replace pragmas with availability markers
Also changes clang-format SeparateDefinitionBlocks to Leave on ObjC
files, which avoid having an empty new line after API_AVAIABLE and the
declaration.
2024-05-16 15:25:53 -04:00
moocowsheep
ce4c99be4e plugins/win-dshow: Add CUDA decoder 2024-05-11 20:29:43 -07:00
tt2468
09be4f9aed obs-webrtc: Only advertise relevant codecs for a or v-only outputs
A video-only output should not advertise any audio codecs.
2024-05-11 20:09:00 -04:00
tt2468
5802077f78 obs-webrtc: Correctly guard HEVC in output using ifdefs
If an output does not support HEVC, it should not advertise it. For
services, however, a service primarily defines the codecs which are
supported for the protocol spec itself/destination platform, so HEVC
can be advertised still.
2024-05-11 20:09:00 -04:00
tt2468
dff302364c obs-webrtc: Fix comment capitalization 2024-05-11 20:09:00 -04:00
tytan652
dfef65c30f linux-pipewire: Unify ScreenCast sources as Screen Capture
Allow to select both main type of ScreenCast (monitor, window)
with only one source type rather than adding a source type per
ScreenCast type.

This change is made as a new Screen Capture source type which
obsoletes the use of the previous Screen Capture (monitor-only)
and Window Capture.
2024-05-09 14:55:18 -03:00
pkv
06e2b31001 obs-ffmpeg: Fix 7.1 ALAC encoding
Commit [1] added ALAC & PCM support.
But 7.1 ALAC encoding fails.
This fixes the issue by assigning the correct 7.1 layout supported by
FFmpeg ALAC encoder (7.1(wide)).

[1] 3ae98511d0

Signed-off-by: pkv <pkv@obsproject.com>
2024-05-09 10:27:20 -04:00
tt2468
5b51d202b5 obs-webrtc: Remove duplicate initialize calls
`obs_output_initialize_encoders()` and can_begin_data_capture are
already being called in the `Start()` function, so these duplicate
calls serve no function.

I'm assuming they were introduced accidentally during a previous
refactor.
2024-05-07 22:40:16 -07:00
Ruwen Hahn
e92accf136 rtmp-services: Populate Twitch specific multitrack video settings 2024-05-07 21:56:53 -04:00
Ruwen Hahn
d0b35261af rtmp-services: Add Multitrack Video disclaimer 2024-05-07 21:56:53 -04:00
Ruwen Hahn
103ef76e5e rtmp-services: Allow loading Multitrack Video config from JSON
Add support for loading Multitrack Video configuration data from
services.json.
2024-05-07 21:56:53 -04:00
Ruwen Hahn
1959f6852e rtmp-services: Always copy service info to settings 2024-05-07 21:56:53 -04:00
Ruwen Hahn
4029ff2ac1 rtmp-services: Extract common json->settings logic 2024-05-07 21:56:53 -04:00
tytan652
832ac4bfa8 linux-capture: Rename Screen Capture as Display Capture 2024-05-04 16:15:38 -07:00
John Bradley
627308bd53 obs-webrtc: Add null terminator to codec array
This fixes an issue where, when the MAX_CODECS length was equal to the
amount of supported codecs (3), it would leave the list without a null
terminator and crash when iterating over the elements.
2024-05-03 22:52:30 -07:00
Ruwen Hahn
64caf0401d obs-outputs: Add video_id_t value for 0
This will be initialized to 0 in various cases, so let's make that
a valid enum value (even if it's not valid in rtmp?)
2024-05-03 13:06:50 -04:00
John Bradley
fab8f0f80e obs-outputs: Add eRTMP/eFLV support for FLV 2024-05-03 13:06:50 -04:00
John Bradley
c5ef7beda8 obs-outputs: Add initial eRTMP multitrack implementation 2024-05-03 13:06:50 -04:00
Ruwen Hahn
7f82426dc4 obs-outputs: Always define CODEC_HEVC 2024-05-03 13:06:50 -04:00
Kurt Kartaltepe
01b61fafbf obs-ffmpeg: Release encode texture early
During high graphics thread pressure it can take a significant time to
acquire the graphics lock. This change releases the OpenGL texture after
rendering to avoid the 2nd lock after sending the frame to FFmpeg. This
improves 99%-tile/100%-tile and median encode in a near encoder overload
scenario, and modestly raises the ceiling before encoder overload in my
test scene.

Master:
min=0 ms, median=4.29 ms, max=33.072 ms, 99th percentile=8.877 ms
min=0 ms, median=4.438 ms, max=77.157 ms, 99th percentile=9.853 ms
min=0 ms, median=4.527 ms, max=57.292 ms, 99th percentile=9.282 ms

This commit:
min=0.97 ms, median=3.009 ms, max=13.215 ms, 99th percentile=5.899 ms
min=1.181 ms, median=2.91 ms, max=9.854 ms, 99th percentile=5.56 ms
min=0.461 ms, median=3.013 ms, max=10.693 ms, 99th percentile=5.871 ms
2024-05-02 18:15:01 -04:00
Paul Hindt
182410cf6c aja: Prepare plugins for new libajantv2 repo
Support building AJA plugins with either the new libajantv2 library, or
the deprecated ntv2 library.

Finder scripts updated to search for libajantv2 and fall back to ntv2 if
not found. This allows this PR to be merged without requiring a
corresponding update to the pre-built obs-deps packages.
2024-05-02 14:31:16 -04:00
Ryan Foster
e693f644ae win-dshow: Fix compiling with FFmpeg 7.0 2024-04-30 11:17:40 -04:00
derrod
14f588f318 obs-ffmpeg: Fix output path logging 2024-04-24 16:03:14 -04:00
tt2468
065d4533ee obs-webrtc: Add support for audio-only and video-only outputs
Adds the `whip_output_audio` and `whip_output_video` output kinds,
which selectively advertise only video or only audio support.

To use these types, it is effectively the same as with the AV
version. Just create the output, assign your video or audio encoder,
and you're good.

libobs does not have support for "optional" outputs. With an AV output,
if you only assign a video or audio encoder, start will fail.
2024-04-22 01:04:55 -07:00
Kurt Kartaltepe
cfb10ece79 text-freetype2: Use a shader uniform instead of vertex attributes
We used to swap in a buffer with (0,0,0,1) for all vertex colors for
drop shadows and outlines. However, this vertex buffer couldn't be
uploaded separately from the vertex data in OBS, so we were reuploading
the text vertices every frame.

Instead, let's use a uniform for this uniform data and save 500us (or
more when handles are visible), a significant portion of my test scenes
render time.
2024-04-22 01:01:47 -07:00