Is there WebRTC api to use H.264 spatial SVC ?

1,026 views
Skip to first unread message

Kushtrim Pacaj

unread,
Sep 21, 2018, 5:11:34 AM9/21/18
to discuss-webrtc
Hi,

As I understand, VP8 doesn't have SVC built in, but H.264 codec does ( as well as VP9 under a flag ).

But is there a WebRTC API to encode H.264 in SVC mode ( let's say two layers, 720p and 360p ), and to decode in other side either 720p or 360p ( for example to show on a grid ) ?

If not, are there plans to add this ?
 

Alexandre GOUAILLARD

unread,
Sep 21, 2018, 6:34:20 AM9/21/18
to discuss...@googlegroups.com
As I understand, VP8 doesn't have SVC built in, but H.264 codec does ( as well as VP9 under a flag ).

- VP8 has spatial scalability but not temporal. It is automatically turned on when you do simulcast.

- One extension of the H.264 standard (Annex G) defines H.264 SVC, and microsoft own version (H.264UC) also supports it, but AFAIK, it is not usable in webrtc today. Note that depending on the webrtc implementation the encoder, respectively decoder for H264 varies. Chrome uses ffmepg for decoding and OpenH264 for encoding, and AFAIK firefox uses openH264 for both. OpenH264 does not support SVC (see here)

But is there a WebRTC API to encode H.264 in SVC mode ( let's say two layers, 720p and 360p ), and to decode in other side either 720p or 360p ( for example to show on a grid ) ?

no. 

If not, are there plans to add this ?

none public, if any.

My guess is that VP9 SVC (or AV1 which is "SVC native") gather most of the focus today, and not Annex G which will turn 15 years old soon. 

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/641d8fd0-724a-437a-96c1-7bb3fdef2ddd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--
Alex. Gouaillard, PhD, PhD, MBA
------------------------------------------------------------------------------------
President - CoSMo Software Consulting, Singapore
------------------------------------------------------------------------------------

Kushtrim Pacaj

unread,
Sep 24, 2018, 4:26:06 AM9/24/18
to discuss-webrtc
Hi,
Thanks for the response.

About VP8 spatial scalability....
Simulcast in VP8 means manually creating different mediaStreams with different resolutions so you're sending multiple ( low/high res ) streams to the server, right? Cannot do something similar to H.264 SVC where there is just one stream but that can be 'parsed' in different resolutions?

Alexandre GOUAILLARD

unread,
Sep 24, 2018, 8:43:26 PM9/24/18
to discuss...@googlegroups.com
spatial scalability involve encoding several layers in one stream. It's exactly like SVC, but with only "one dimension" instead of two for SVC (spatial and temporal).

in webrtc, there is no direct API to trigger the use of spatial scalability in VP8, but to be thorough, I was pointing to the fact that it is enabled when you use the existing API for simulcast.


For more options, visit https://groups.google.com/d/optout.

Lorenzo Miniero

unread,
Sep 25, 2018, 5:18:28 AM9/25/18
to discuss-webrtc
Il giorno venerdì 21 settembre 2018 12:34:20 UTC+2, Alexandre GOUAILLARD ha scritto:
- VP8 has spatial scalability but not temporal. It is automatically turned on when you do simulcast.


I think there's a typo here: VP8 has temporal scalability (indeed automatically enabled when you do simulcast), but not spatial (it's different streams, and not spatial layers as with SVC).

Lorenzo

Alexandre GOUAILLARD

unread,
Sep 25, 2018, 1:04:44 PM9/25/18
to discuss...@googlegroups.com
my bad, you re right. I always mix them.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages