Skip to content

[1.3.3] VideoRoom: H.265 simulcast from browser is detected but not relayed (PLI loop, no video delivered) #3619

@pmlejnek

Description

@pmlejnek

What version of Janus is this happening on?
Janus 1303 (1.3.3), built from latest master.

Have you tested a more recent version of Janus too?
Yes, tested on latest master as well. Behavior is identical.

Was this working before?
Not sure. This does not look like a regression.
This is more a question about current behavior/design rather than something that previously worked.

Is there a gdb or libasan trace of the issue?
Not applicable (no crash or memory issue).
This is about RTP simulcast/layer selection behavior only.

Additional context

We are experimenting with H265/HEVC in VideoRoom.

When Chrome publishes H265 with simulcast enabled, multiple SSRCs are sent.
Example from the offer:

a=ssrc-group:SIM 2962795760 2719491959 2339202009

Janus correctly detects simulcast:

Publisher stream is going to do simulcasting (#1, 1)

However, during runtime Janus repeatedly logs:

We need a PLI for the simulcast context

and never seems to switch to higher layers. In practice only the first SSRC
(lowest resolution) is forwarded.

Because Chrome starts simulcast layers progressively (low → mid → high),
this results in Janus effectively locking onto the lowest quality layer.

For VP8/VP9 this is usually fine, but for H265 this makes quality unusable.

There is no crash or malfunction — this looks like missing layer selection logic
rather than a bug.

Questions:

  • Is H265 simulcast officially supported in VideoRoom?
  • Is layer selection/switching for H265 planned?
  • Or is the expected usage single-stream only for H265?

We can work around this by stripping simulcast in our signaling layer,
but wanted to confirm the intended design direction first.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions