This message was deleted.
# helpdesk
s
This message was deleted.
f
@boundless-salesclerk-13461 Nothing new on the server side has happened recently. There is an issue with VP9 + simulcast for screen sharing. That is not supported by libwebrtc. JS SDK has a change to force the mode that works. I think the Flutter SDK does not have the change yet. cc: @freezing-lifeguard-43174 Can you try screen share without simulcast as a check of this? When the fix is done in Flutter SDK, there will only be one spatial resolution that will be used for screen share. Does your use case need multiple layers?
JS SDK PR related to this.
👀 1
b
Ok, I've switched to vp8, simulcast is still on. This session doesn't even show a
TRACK_PUBLISH_REQUESTED
despite the client reporting:
Copy code
flutter: INFO: TLKRoomView: LocalTrackPublishedEvent: LocalTrackPublishedEvent(participant: LocalParticipant(sid: PA_<>, identity: <>), publication: LocalTrackPublication<LocalVideoTrack>(sid: TR_VSE2zhsM8APV76, source: TrackSource.screenShareVideo))
Ok, it looks like this was likely the cause ^^ With the following configuration, screen share is succeeding with
TRACK_PUBLISHED
Copy code
class TLiveKitConstants {
  static const String serverUri = '<wss://PROJECT_NAME.livekit.cloud>';
  static const String sharedKey = '<key>';

  // Video config
  static const int videoMbps = 2;
  static const TLKVideoCodec videoCodec = TLKVideoCodec.vp8;
  static const int maxVideoFramerate = 30;
  static const VideoDimensions videoDimensions = VideoDimensionsPresets.h1080_169;

  // Screen share config
  static const VideoParameters videoParameters = VideoParametersPresets.h1080_169;
  static const int maxScreenShareFramerate = 15;

  // Stream prefs
  static const bool adaptiveStream = true;
  static const bool dynacast = true;
  static const bool e2ee = false;

  // Simulcast
  static const bool simulcast = true;
  static const List<VideoParameters> simulcastLayers = [VideoParametersPresets.h540_169];

  // UI Prefs
  static const bool fastConnect = true;
  static const bool showDebugControls = false;
  static const bool showStats = false;
}
The biggest challenge I had here was the silent failure on the client side and having a minimal summary of the server-side logs available on the dashboard.
f
Thank you @boundless-salesclerk-13461 for confirming. Will take feedback to the team about error notifications.
d
bug filed here.
b
Thanks @fancy-wire-61616 & @dry-elephant-14928 🙏 Let me know if I can be helpful with a real-world test of vp9 w/screenshare in the future. My app will be on vp8 until this is addressed because screenshare is required is essentially every lesson my teachers give. I'll keep an eye on issue 385 ^^
🙇🏽 1
🙇 1
d
@boundless-salesclerk-13461 this should be fixed. we'll get it into the next release. Just in case you are interested in giving the bleeding edge a try 🙂
b
@dry-elephant-14928 thanks, would I need to do anything other than pull latest main branch into my project? (currently using the release via pub.dev)
f
hey @boundless-salesclerk-13461, Can you try using git dependencies in your project to verify this modification?
Copy code
dependencies:
  livekit_client:
    git:
      url: <https://github.com/livekit/client-sdk-flutter.git>
      ref: main
b
@freezing-lifeguard-43174 making this change now, will report back
🙏 1