AOMediaCodec / av1-rtp-spec

Current draft (HTML): https://aomediacodec.github.io/av1-rtp-spec/
Other
63 stars 24 forks source link

is K-SVC implemented in libwebrtc? #210

Closed agouaillard-cosmo closed 3 years ago

agouaillard-cosmo commented 3 years ago

Is it supported by libwebrtc now? (i.e. sending 3 simulcast layers on av1 with 3 temporal layers each)

6.1 Simulcast |   | Both modes MUST be supported by implementations of this specification.

6.1 Simulcast |   | This mode of simulcast transport, which MUST be supported by SFMs, utilizes Session Description Protocol (SDP) signaling as described in I-D.ietf-mmusic-sdp-simulcast and I-D.ietf-mmusic-rid.

aboba commented 3 years ago

Sending 3 simulcast layers with 3 temporal layers each (3 simulcast RIDs, each with L1T3) is supported by libwebrtc for the VP8 and VP9 codecs. This is supported either with "plan B" or using "Unified Plan" and the experimental implementation of WebRTC-SVC (with VP8 or VP9).

K-SVC support in libwebrtc would require additional modes to be supported in WebRTC-SVC, beyond the L1T2 and L1T3 supported today.

agouaillard-cosmo commented 3 years ago

@murillo128 PTAL.

murillo128 commented 3 years ago

I think the title is wrong, k-svc is about sending simulcast within same ssrc, we are taking about normal simulcast with svc temporal only svc modes.

AFAIK the w3c API for svc only sets the temporal/espacial layers in chrome, nit the svc mode and it doesnt work in av1.

on libwebrtc the API is not per encoding and it is wired only for the first encoding.

StephenBotzko commented 3 years ago

K-SVC refers to a class of scalability modes, which include the following modes in the AV1 specification:

All of these modes are sent using a single SSRC. But none of these modes are simulcast. In particular, when key frames are sent, the upper spatial layers are predicted from the lower spatial layers. The specific prediction structures for the K-SVC modes listed above are found in Section 6.7.5 of the AV1 spec here: https://aomediacodec.github.io/av1-spec/

K-SVC isn't available in the current libwebrtc - but I am not sure if that really answers your question, since you seem to be thinking about pure simulcast modes, and not K-SVC at all.

StephenBotzko commented 3 years ago

Please open a new issue if this is still confusing.