Commit Graph

13 Commits

Author SHA1 Message Date
Alex Luccisano
af77628900 frontend: Fix null settings and DBR for custom configs
When using custom RTMP output with a JSON config that omits
encoder settings, settings.dump() produces "null" which
obs_data_create_from_json cannot parse. Fall back to
obs_data_create() for null/non-object settings so encoders
use their defaults.

Additionally, when bitrate_interpolation_points is absent,
the code unconditionally set interpolation_table_data as
empty arrays. This caused build_dbr_interpolation_table to
wipe the default linear table, leaving DBR enabled but
unable to adjust bitrates during congestion. Only set the
interpolation data when all encoders provide it, otherwise
fall back to the default linear 0-to-max interpolation.
2026-06-05 14:11:55 -04:00
Ruwen Hahn
cd95b3bf49 frontend: Add dynamic bitrate support to multitrack video
The bitrate interpolation points are sent in JSON configuration and
need to be forwarded to `create_video_encoders()`. Also remove the
`HandleIncompatibleSettings()` handler because there are no longer any
incompatible settings.
2026-06-05 14:11:55 -04:00
PatTheMav
e35b16cba9 frontend: Enable multitrack RTMP option for custom RTMP services
This removes the need to provide an undocumented launch argument to
enable custom RTMP service configurations to use multitrack encoding
and also provide a custom configuration.
2025-09-26 01:48:39 -04:00
Dennis Sädtler
e474a3723b frontend: Allow 5 multitrack reconnect attempts before re-running GCC 2025-05-07 15:46:50 -04:00
Dennis Sädtler
0552062390 frontend: Allow selecting additional canvases for multitrack 2025-05-05 17:17:20 -04:00
Ruwen Hahn
9bba6e52ff frontend: Allow Network Optimizations with multitrack video
"Enable network optimizations" in the Advanced Settings is referred to
as `NewSocketLoop` in the code. This feature was incompatible with
multitrack video but now works properly. Remove it from the
incompatible settings check.
2025-04-30 12:27:03 -04:00
Alex Luccisano
6bb9019aff frontend: Allow Stream Delay with multitrack video
Remove Stream Delay from the incompatible settings list for multitrack
video as it works properly now.
2025-04-29 13:50:57 -04:00
Alex Luccisano
b41522b4fd frontend: Convert "profile" to an integer for VAAPI encoders
VAAPI encoders deviate from other encoders (e.g. AMF, NVENC) with
the "profile" setting being an integer instead of a string. With
enhanced broadcasting, "profile" is signalled as a string. Convert
the string-based profile to the appropriate integer-based profile
for VAAPI encoders as a workaround, until VAAPI supports string-based
"profile" (if ever).
2025-04-01 23:18:15 -04:00
Dennis Sädtler
7a11db8949 frontend: Add reconnect callback for multitrack video 2025-03-17 13:30:58 -04:00
Dennis Sädtler
b131f59e7f frontend: Support preferred video format/space/range in GoLiveApi
Also sets Rec. 709/limited defaults for multitrack output.
2025-01-29 15:01:19 -05:00
Dennis Sädtler
7e24a6093c frontend: Restart multitrack output if stream key has become invalid 2025-01-29 13:16:47 -05:00
Dennis Sädtler
d026c871e0 frontend: Remove multitrack deactivate handlers
With the encoder reference counting fixups this is no longer required.
2025-01-29 13:16:47 -05:00
PatTheMav
d846b0ba0a frontend: Add renamed UI utility classes and functions 2025-01-08 17:33:12 +01:00