steep-balloon-41261
08/07/2023, 1:12 PMenough-zebra-80131
08/07/2023, 1:12 PMlet video_track = new LocalVideoTrack(mediaStreamTrack, undefined, true);
video_track.source = Track.Source.ScreenShare;
this.screenshareVideoTrack = video_track;
this.room.localParticipant.publishTrack(video_track, {
name: this.screenshareStreamUUID,
videoCodec: "vp9"
});
enough-zebra-80131
08/07/2023, 1:14 PMenough-zebra-80131
08/07/2023, 1:20 PMlivekit-client
1.12.3enough-zebra-80131
08/07/2023, 1:21 PMenough-zebra-80131
08/07/2023, 1:22 PMawait this.room.localParticipant.setCameraEnabled(true, undefined, {
name: this.webcamStreamUUID,
});
enough-zebra-80131
08/07/2023, 1:24 PMvp8
or h264
enough-zebra-80131
08/07/2023, 1:28 PMthis.room.localParticipant.setScreenShareEnabled(true, undefined, {
name: this.screenshareStreamUUID,
videoCodec: "vp9"
});
enough-zebra-80131
08/07/2023, 2:09 PMsetCameraEnabled
call doesn't specify a codec because it's specified in the room settings:
this.room = new Room({
adaptiveStream: false,
dynacast: true,
videoCaptureDefaults: {
resolution: VideoPresets.h1080.resolution,
},
publishDefaults: {
videoCodec: "vp9",
videoEncoding: {
maxBitrate: 10_000_000,
maxFramerate: 30,
},
backupCodec: {
codec: "vp9",
encoding: {
maxBitrate: 10_000_000,
maxFramerate: 30,
},
},
},
});
boundless-energy-78552
08/08/2023, 6:51 PMrtc_libvpx_build_vp9=true
is enabled inside the libwebrtc build scripts
2. We use custom encoders/decoders implementation, so you will need to add the default VP9 impl inside it
With 1 & 2, simulcast VP9 should directly work.
If you want SVC support, you can take a look at how the client-sdk-js is doing it (requires to edit the Rust LiveKit implementation)enough-zebra-80131
08/08/2023, 6:56 PMenough-zebra-80131
08/08/2023, 6:57 PMenough-zebra-80131
08/08/2023, 6:58 PMboundless-energy-78552
08/08/2023, 8:38 PM