This message was deleted.
# helpdesk
s
This message was deleted.
p
hey @strong-kite-90563 to answer your questions: 1. explicitly unpublishing a track is not what we would generally recommend,
set*Enabled
effectively only mutes a track, so you won’t get
trackUnpublished
events. If you need to unpublish tracks you would do so by calling
localParticipant.unpublishTrack(track)
2. the recommended approach is to restrict this via the
token
grants. 3. that’s just an artifact of the fact that
LocalTrackPublication
inherits from
TrackPublication
. it does not consume any additional bandwidth. 4. That’s a good point, we’ll have some news this week about a new - more consistent - approach to this. 5. For remote tracks you can do so via
track.setVolume
(you can even do this on the
remoteParticipant.setVolume
. for local tracks it’s a bit more tricky and we haven’t exposed any APIs (yet) to make that happen out of the box 6. cc @acoustic-engineer-41666
s
Hi @polite-kilobyte-67570 1. What is the difference between
setEnable(false)
vs
unpublish(track)
? More importantly, for the first one, when muted, does it also transmit 0 bandwidth? 2. Got it. 3. Ok 4. Can't wait for it 🙂 5. Ok will wait for this feature to adjust volume from publisher side. More questions: 7. Say if I want to manually call
localParticipant.unpublishTrack(track)
, does it affect livekit features such as `adaptiveStream`/`dynacast`/`simulcast` 8. Is it possible to get the actual display resolution of a published video track? For example, the user might select 720p, but if the user does not have a camera with that quality, the actual displayed quality would be say 480p. It would then be useful to display this quality value to the publisher so that they know. 9. How to set/change device after creating/published track?
p
s
thanks! do checkout the bug when free tq
Hey how can I check if
adaptiveStream
,
dynacast
and
simulcast
are active? My setup is like this:
Copy code
useRoom({
      adaptiveStream: true,
      dynacast: true,
      publishDefaults: {
        simulcast: true,
      },
    });
For example when I check
localVideoTrack?.isSimulcast
it returns
false
event though I set it to
true
.
Also, `switchActiveDevice`only switches device for published video (on remote side) but not on localVideoTrack side. How to make it work for local as well?
p
switching devices on tracks themselves can be achieved with https://docs.livekit.io/client-sdk-js/classes/LocalVideoTrack.html#restartTrack. What publishing quality do you have on your tracks? there are certain browser restrictions around simulcast (e.g. a 320x180 video cannot have simulcast layers, only larger ones). For chrome these are defined here: https://chromium.googlesource.com/external/webrtc/+/branch-heads/51/webrtc/media/engine/simulcast.cc#39
s
1. I tried both
await room?.localParticipant.enableCameraAndMicrophone();
and manually
Copy code
const videoTrack = await createLocalVideoTrack({
              facingMode: "user",
              resolution: VideoPresets.h720,
            });
await room.localParticipant.publishTrack(videoTrack);
, both on chrome. and
isSimulcast
still returns false. Other than that, how can I check for
adaptiveStream
and
dynacast
as well?
2. How to get video quality from remote video track? I tried
RemoteTrackPublication.videoDimension
but its protected, I tried ``RemoteTrackPublication.videoQuality`` but its a single digit like
2
. Possible to get width+height like 1080p or 720p?
3. For livekit cloud, if I call server functions such as
list-rooms
or
list-participant
, does it count towards the API rate request limit? https://docs.livekit.io/cloud/quotas-and-limits/#api-rate-requests