Commit Graph
12490 Commits
Author SHA1 Message Date
Matt Gajownik 1af982fcfa rtmp-services: Fix formatting and indentation of services schema
Also define editorconfig for rtmp-services to match existing structure.
2023-03-21 20:58:05 +11:00
tytan652 070c2ec616 CI: Avoid installing recommended package on Ubuntu 2023-03-20 19:00:24 -04:00
tytan652 3f9b2d627e CI: Add nlohmann JSON, WebSocket++ and Asio on Linux
Those libraries will be kept in the Flatpak to allow plugins to use the
same versions of those headers-only libraries.
2023-03-20 19:00:24 -04:00
tytan652 8c11b0caad cmake: Add finders for Asio and WebSocket++
WebSocket++ does provide a CMake package, but version check is broken.
2023-03-20 19:00:24 -04:00
Ryan Foster b262eeab12 CI: Update deps to 2023-03-20 release
Notable changes:
 * deps.ffmpeg: Update libpng to 1.6.39
 * deps.ffmpeg: Update opus to 8cf872a186
 * deps.ffmpeg: Update libvpx to 1.13.0
 * deps.ffmpeg: Update SVT-AV1 to 1.4.1
 * deps.ffmpeg: Update aom to 3.6.0
 * deps.ffmpeg: Update x264 to r3106
 * deps.ffmpeg: Update mbedTLS to 3.3.0
 * deps.ffmpeg: Update nv-codec-headers to 12.0.16
 * deps.ffmpeg: Update FFmpeg to 6.0
 * deps.ffmpeg: Fix AOM target CPU arch
 * deps.macos: Update LuaJIT to 2.1 505e2c03de
 * deps.macos: Update libpng to 1.6.39
 * deps.macos: Update FreeType to 2.13.0
 * deps.windows: Update mbedTLS to 3.3.0
 * deps.windows: Update FreeType to 2.13.0
 * deps.windows: Update cmocka to 1.1.7
 * deps.windows: Update curl to 7.88.1
 * deps.windows: Update LuaJIT to 2.1 505e2c03de
 * deps.windows: Update Zstandard to 1.5.4
 * deps.qt: Backport macOS accessibility keyboard crash fix
 * deps.qt: Update Qt5 to 5.15.8 for Windows
 * deps.qt: Update Qt6 to 6.4.3 for Windows
 * deps.qt: Update Qt5 to 5.15.8 for macOS
 * deps.qt: Update Qt6 to 6.4.3 for macOS
2023-03-20 18:24:37 -04:00
Jim 1ea5917973 image-source: Add slide_changed signal
Allows a plugin or script to know when a slide has changed, and which
index/file it's switched to
2023-03-20 11:31:21 -07:00
derrod f96ae65d1b obs-ffmpeg: Pass correct audio codec to muxer subprocess 2023-03-20 17:01:47 +01:00
derrod 198debe945 ffmpeg-mux: Set experimental compliance for FFmpeg < 6.0
With 5fe417bce1 it became possible to use
Opus in local recordings, this could potentially have the user try to
record Opus in MP4.

FLAC in MP4 was marked as stable in FFmpeg 6.0
Opus in MP4 was marked as stable in FFmpeg 4.3

For Ubuntu 20.04 we still need the latter, for 22.04 (and potentially
other Linux distributions) the former.

While FLAC is not yet implemented, we may want to do that in the near
future so for simplicity just keep it at 6.0.
2023-03-20 17:01:47 +01:00
Jim e9ef38e3d3 Merge pull request #7978 from jpark37/dxgi-display-sdr-on-hdr
libobs-d3d11,win-capture: Add Force SDR for DXGI duplicator
2023-03-20 01:43:14 -07:00
Jim 0a9ed4569b Merge pull request #7814 from jpark37/decklink-preview-rescale
decklink: Move preview output rescaling to GPU
2023-03-20 01:42:36 -07:00
jpark37 c2afa58125 libobs: Enable fast clear on Windows always
NVIDIA driver 527.37 fixes flickering when multiple GPUs are installed.
2023-03-20 01:41:47 -07:00
tytan652 eef63cd188 UI: Enforce stream audio to Opus if service is FTL 2023-03-20 01:09:52 -07:00
tytan652 b2f25fb4b9 UI: Default advance record audio to AAC 2023-03-20 01:09:52 -07:00
Jim 48293629b6 Merge pull request #8095 from tytan652/service_get_info
RFC 45-6: Enable more connection info in Services API
2023-03-19 19:25:20 -07:00
tytan652 215426b65b UI: Use connect infos check in before stream check
Ask the service directly rather than checking the presence of a key and
a URL.
2023-03-19 18:27:44 +01:00
tytan652 d917ceafe8 rtmp-services: Add connect infos checks 2023-03-19 17:38:02 +01:00
tytan652 22ebed8d02 libobs,docs: Add connect infos check to the Services API
This new function allows to know if the service has all the info needed
to try to connect.
2023-03-19 17:38:02 +01:00
tytan652 5e4ed49a2d obs-outputs,obs-ffmpeg: Use connect infos in outputs 2023-03-19 17:38:02 +01:00
tytan652 258e339d2f rtmp-services: Add connect infos to services 2023-03-19 17:38:02 +01:00
tytan652 ea4ac2d08d libobs,docs: Add connect infos to the Services API
This replace and deprecate url, key, username and password functions.
2023-03-19 17:38:02 +01:00
tytan652 5fe417bce1 UI: Add audio codec selections 2023-03-19 17:27:43 +01:00
tytan652 b15684aa17 UI: Add Opus bitrate map and per encoder bitrate list
Also refactors AAC bitrate map too.
2023-03-19 17:27:43 +01:00
tytan652 b2d686e8f4 obs-ffmpeg: Allow opus for SRT and RIST 2023-03-19 17:27:43 +01:00
tytan652 cd83b94c7c plugins: Rename audio encoders 2023-03-19 17:27:43 +01:00
tytan652 1514f1597a plugins: Fix codec name on AAC encoders 2023-03-19 17:27:42 +01:00
tytan652 aeab6b8fc4 libobs,docs,rtmps-services: Add supported audio codecs
Also remove Opus-only "supported audio codecs" in the services JSON.
2023-03-19 17:27:42 +01:00
tytan652 ea2858705c UI: Select streaming output based on the protocol 2023-03-19 17:16:13 +01:00
tytan652 213eb613d3 rtmp-services: Remove output getter from rtmp_common 2023-03-19 17:16:13 +01:00
tytan652 1e0f4a6ebf libobs,docs: Add preferred output type to Service API 2023-03-19 17:16:13 +01:00
tytan652 e317c88f55 obs-ffmpeg: Remove AV1 from SRT/RIST supported codecs
MPEG-TS standard is not ready for AV1
2023-03-19 17:08:06 +01:00
tytan652 8d6cacc35b UI: Remove hardcoded stream codec list 2023-03-19 17:08:06 +01:00
tytan652 44ca002d02 UI: Use protocol to enable network options 2023-03-19 17:08:06 +01:00
tytan652 9d8d98b142 rtmp-services: Remove fallback to H264 if no codec found
The fallback in now inside the output.
2023-03-19 17:08:06 +01:00
tytan652 e00e2712cf UI: Use protocol to list compatible codecs 2023-03-19 17:08:06 +01:00
tytan652 5a409347d5 UI: Refactor Qt slots in stream settings page 2023-03-19 16:49:56 +01:00
tytan652 48dc6dde68 libobs,docs: Add supported codecs functions with output id 2023-03-19 16:49:56 +01:00
tytan652 fa58a38b24 rtmp-services: Add protocol getter to services 2023-03-19 16:31:05 +01:00
tytan652 56411eda8e libobs,docs: Add protocol enumeration functions 2023-03-19 16:31:05 +01:00
tytan652 813b3b2763 libobs,docs: Add protocol to Services API 2023-03-19 15:29:44 +01:00
tytan652 513c6bc489 rtmp-services: Add protocols to services JSON
If the server URL is not an RTMP(S) URL, the protocol field becomes
required.

The output field becomes required on non-RTMP(S) services to keep
backward compatibility.

Also skip service if the protocol is not available.
2023-03-19 15:29:03 +01:00
tytan652 855956f60e obs-outputs,obs-ffmpeg: Add protocol to service outputs 2023-03-19 15:29:03 +01:00
tytan652 201bcda051 libobs,docs: Add protocol in Outputs API 2023-03-19 15:29:03 +01:00
derrod f1c95b2bd0 win-capture: Fix compatibility info showing in any mode 2023-03-19 02:16:05 -07:00
Jim 6eace37e06 Merge pull request #8229 from derrod/hashed-tables
Hashtable Adventures
2023-03-19 00:34:44 -07:00
Kurt Kartaltepe b7f29ca767 libobs: Reduce synchronization limit for multiple audio tracks
Since 65eb3c0815 we tried to get as close
a sync between audio and video tracks as we could before starting to
send frames to the output.

But in be717dbb2c when multi-track audio
was considered for synchronization it continued to try and line ALL
audio packets up with one video packet. While audio and video packets
are similar size this will work out. But once video packets duration is
smaller than 1/2 audio packet duration this may fail forever. In
practice with AAC's 20-23ms frame duration we can often get tracks
producing frames 5-10ms out of phase. For 60fps video this mostly fine
as 16ms frame duration will cover the gap, but for framerates as low as
100 its possible to fail to synchronize. In practice this is ~50%
for 6 audio tracks and 120fps video on my system, or 100% at 240fps.
2023-03-18 18:40:12 -07:00
田七不甜 c3990e882a UI: Fix Dark and System themes select list height 2023-03-18 15:56:22 -07:00
Exeldro b9885f05db docs: Add view functions 2023-03-18 15:54:38 -07:00
Exeldro a5e9c94e4b libobs: Add obs_view_get_video_info 2023-03-18 15:54:38 -07:00
cg2121 b0fbf25e24 UI: Fix media controls shortcuts being global
The play, pause and restart shortcuts were being called as global
shortcuts, being triggered no matter what. This fixes this by calling
the shortcut actions only when the media controls widget has focus.
2023-03-18 15:51:05 -07:00
Jonathan Bennett 73dea7c475 libobs: Fix Pulseaudio audio monitoring listing sources
The Pulseaudio implementation of audio monitoring was actually listing audio sources.
This change corrects that, so all possible outputs are available.
2023-03-18 15:45:36 -07:00