add h264 specific presets and use them as simlucast layers

This commit is contained in:
fkwp
2025-06-18 20:32:57 +02:00
parent 8b3af0017a
commit 717bd1c02c

View File

@@ -11,10 +11,17 @@ import {
type RoomOptions, type RoomOptions,
ScreenSharePresets, ScreenSharePresets,
type TrackPublishDefaults, type TrackPublishDefaults,
type VideoPreset, VideoPreset,
VideoPresets, VideoPresets,
} from "livekit-client"; } from "livekit-client";
const VideoPresetsH264 = {
h144: new VideoPreset(256, 144, 120_000, 20),
h176: new VideoPreset(320, 176, 160_000, 20),
h288: new VideoPreset(512, 288, 180_000, 20),
h360: VideoPresets.h360,
} as const;
const defaultLiveKitPublishOptions: TrackPublishDefaults = { const defaultLiveKitPublishOptions: TrackPublishDefaults = {
audioPreset: AudioPresets.music, audioPreset: AudioPresets.music,
dtx: true, dtx: true,
@@ -23,7 +30,10 @@ const defaultLiveKitPublishOptions: TrackPublishDefaults = {
red: false, red: false,
forceStereo: false, forceStereo: false,
simulcast: true, simulcast: true,
videoSimulcastLayers: [VideoPresets.h180, VideoPresets.h360] as VideoPreset[], videoSimulcastLayers: [
VideoPresetsH264.h176,
VideoPresetsH264.h360,
] as VideoPreset[],
screenShareEncoding: ScreenSharePresets.h1080fps30.encoding, screenShareEncoding: ScreenSharePresets.h1080fps30.encoding,
stopMicTrackOnMute: false, stopMicTrackOnMute: false,
videoCodec: "h264", videoCodec: "h264",