Temporal layers are ignored

hey everyone,

I am using simulcast and I can control how many spatial layers I produce by specifying different encodings, exactly how it is documented and done in mediasoup demo, i.e.:

const WEBCAM_SIMULCAST_ENCODINGS = [
  { scaleResolutionDownBy: 4, maxBitrate: 500000 },
  { scaleResolutionDownBy: 2, maxBitrate: 1000000 },
  { scaleResolutionDownBy: 1, maxBitrate: 5000000 }
];

With this setup on consumer side I get scalability mode S3T3.

If I remove one encoding I get S2T3.

But I can’t control how many temporal layers are there, it is always 3.

I tried this setup:

const WEBCAM_SIMULCAST_ENCODINGS = [
  { scaleResolutionDownBy: 4, maxBitrate: 500000, scalabilityMode: 'S1T1' },
  { scaleResolutionDownBy: 2, maxBitrate: 1000000, scalabilityMode: 'S1T1' },
  { scaleResolutionDownBy: 1, maxBitrate: 5000000, scalabilityMode: 'S1T1' }
];

But it comes to consumer as S3T3 anyway.

Is there anyway to controls number of temporal layers?

I guess there is no actual real stream for temporal layers if we just drop frames, but still.
Or is it?

Thanks!

You don’t have actual control over number of temporal layers it in the browser, so it is what browser wants it to be (mediasoup-client assumes it is 3, but it can’t know for sure).

1 Like

Oh, I see. thanks!