steep-balloon-41261
09/28/2023, 5:55 PMfancy-wire-61616
09/28/2023, 6:01 PMboundless-salesclerk-13461
09/28/2023, 6:09 PMdry-elephant-14928
09/28/2023, 8:20 PMboundless-salesclerk-13461
09/29/2023, 6:27 AMfancy-wire-61616
09/29/2023, 6:28 AMboundless-salesclerk-13461
09/29/2023, 7:00 AM// LiveKit options
final bool _simulcast = true;
final bool _adaptiveStream = true;
final bool _dynacast = true;
final bool _fastConnect = true;
final bool _e2ee = false;
// Video Quality
final VideoDimensions _videoDimensions = VideoDimensionsPresets.h1080_169;
final VideoParameters _videoParameters = VideoParametersPresets.h1080_169;
final TLKVideoCodec _videoCodec = TLKVideoCodec.vp9;
final int _videoMbps = 2;
final int _maxVideoFramerate = 30;
final int _maxScreenShareFramerate = 15;
// Camera capture options
CameraCaptureOptions cco = CameraCaptureOptions(
maxFrameRate: _maxVideoFramerate.toDouble(),
cameraPosition: CameraPosition.front,
params: VideoParameters(
dimensions: _videoDimensions,
encoding: VideoEncoding(
maxBitrate: _videoMbps * 1000 * 1000,
maxFramerate: _maxVideoFramerate,
),
),
);
// Video publishing options
VideoPublishOptions vpo = VideoPublishOptions(
videoEncoding: _videoParameters.encoding,
simulcast: _simulcast,
videoCodec: _videoCodec.toString(),
videoSimulcastLayers: [
VideoParametersPresets.h180_169,
VideoParametersPresets.h360_169,
VideoParametersPresets.h720_169,
],
);fancy-wire-61616
09/29/2023, 7:03 AMboundless-salesclerk-13461
09/29/2023, 7:04 AMfancy-wire-61616
09/29/2023, 7:18 AMfancy-wire-61616
09/29/2023, 1:23 PMPOOR. I think that is a known issue , i. e. libwebrtc does not do multiple spatial resolutions when using VP9 with screen share. @early-gigabyte-44411 recently added a change in JS SDK to limit it to L1T3. I think we need to ensure
a. Do the limitation in other SDKs (BTW, this is using VP9 which TPF has enabled for his project).
b. Ensure AddTrack adjusts for that even if the application is asking for more layers. Otherwise, quality scorer on server side will have a mismatch, i. e. scorer will expect up to three layers, but will ever see only one.
2. Seems like screen share audio track does not unpublish properly. So, it is causing scorer to declare POOR quality five seconds after track end as scorer will see no data when the track is still active from server's point of view.boundless-salesclerk-13461
10/16/2023, 1:12 PMfancy-wire-61616
10/16/2023, 1:18 PMclass TLKSessionConfig {
String serverUri = '';
String sharedKey = '';
// Video config
int videoMbps = 2;
TLKVideoCodec videoCodec = TLKVideoCodec.vp8;
int maxVideoFramerate = 30;
VideoDimensions videoDimensions = VideoDimensionsPresets.h1080_169;
List<VideoParameters> simulcastLayers = [VideoParametersPresets.h540_169];
// Screenshare config
VideoParameters videoParameters = VideoParametersPresets.h1080_169;
int maxScreenShareFramerate = 30;
List<VideoParameters> screenshareSimulcastLayers = [];
// Stream prefs
bool adaptiveStream = true;
bool dynacast = true;
bool e2ee = false;
// Simulcast
bool simulcast = true;
// UI Prefs
bool fastConnect = true;
bool showDebugControls = false;
bool showStats = false;
}
Yet, the published screen share is simulcast. Can you suggest the correct settings for disabling simulcast of screen share track?freezing-lifeguard-43174
10/16/2023, 1:28 PMvar screenTrack = await LocalVideoTrack.createScreenShareTrack(...);
await localParticipant.publishVideoTrack(screenTrack, const VideoPublishOptions(simulcast: false));boundless-salesclerk-13461
10/16/2023, 5:59 PMvar videoPublishOptions = room.roomOptions.defaultVideoPublishOptions.copyWith(
screenShareSimulcastLayers: [],
simulcast: false,
);
LocalVideoTrack track = await LocalVideoTrack.createScreenShareTrack(options);
await participant!.publishVideoTrack(track, publishOptions: videoPublishOptions);
# livekit_client: ^1.5.1
livekit_client:
git:
url: <https://github.com/livekit/client-sdk-flutter.git>
ref: main
Will report with results soonboundless-salesclerk-13461
10/16/2023, 6:28 PMboundless-salesclerk-13461
10/16/2023, 6:35 PMboundless-salesclerk-13461
10/17/2023, 5:49 AMfancy-wire-61616
10/17/2023, 6:37 AMboundless-salesclerk-13461
10/17/2023, 9:44 AMHardware.instance.selectedVideoInput?.deviceId;
In room.dart:750 :
/// Get current video input device.
String? get selectedVideoInputDeviceId =>
roomOptions.defaultCameraCaptureOptions.deviceId ??
Hardware.instance.selectedVideoInput?.deviceId;
This is in the git referenced client-sdk-flutter
Running on web in Chrome on Sonomaboundless-salesclerk-13461
10/17/2023, 9:44 AMfancy-wire-61616
10/17/2023, 11:34 AM