Experimental VP9 SVC support

754 views
Skip to first unread message

Lorenzo Miniero

unread,
Jun 15, 2017, 12:22:14 PM6/15/17
to meetecho-janus
Hi guys,

as part of a joint effort with Cosmo software, I just published an experimental PR that provides VP9 SVC support in the VideoRoom plugin:


Feedback welcome!
Lorenzo

Ju Ju

unread,
Jun 15, 2017, 2:47:36 PM6/15/17
to meetecho-janus
you can count on me ;)

I think the most important is to look VP9 impact on device CPU

Ju Ju

unread,
Jun 15, 2017, 3:25:52 PM6/15/17
to meetecho-janus
Just read your PR, just to be sure I have well understood

You now support the 3 layer types ? :

spatial -> ok
temporal -> ok
quality (different encoding qualities) ? it seems to me the anwser is "yes" but just to be sure

J-

Ju Ju

unread,
Jun 15, 2017, 3:35:41 PM6/15/17
to meetecho-janus
Found my answer

With the above setting, the VP9 encoder will produce 2 spatial layers (with size and size/2) and 3 temporal layers (at FPS, FPS/2 and FPS/4) and no quality layers.

--
You received this message because you are subscribed to a topic in the Google Groups "meetecho-janus" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/meetecho-janus/F0oUVAoVdiA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to meetecho-janu...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Lorenzo Miniero

unread,
Jun 15, 2017, 4:37:34 PM6/15/17
to Julien Godier, meetecho-janus
The webrtchacks link explains how it all works better than I can do.

L.

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

Ju Ju

unread,
Jun 15, 2017, 5:15:57 PM6/15/17
to Lorenzo Miniero, meetecho-janus
Actually I can’t find any information about support of quality layer (SNR)  in VP9 (possible/not possible, planned or not) ?

Too bad as it is the most important layer IMHO for scaling.

The major issues with VP9 are :

VP9 asked a lot of CPU to run (even more to encode !)

VP9 is not supported by many devices even for decoding (like my testing Samsung ACE) 

It will takes a lot of time before you could use it without asking you how many customers would be able to compatible.

IMHO the next best layer behind the quality one is the spatial layer.

I’m sure you are aware H264 (I know you are not a big fan :-) )  is already able of scaling using spatial layer (as VP8 is able to use temporal layer) but need some work on SFU side to support this feature.

It would be really great to have this feature while VP9 is not widely support by all the device, which could be not before several years.

J-

Lorenzo Miniero

unread,
Jun 15, 2017, 5:52:32 PM6/15/17
to meetecho-janus, lmin...@gmail.com
That may be, but no browser does that. VP9 SVC is the only experiment right now.

L.

Lorenzo Miniero

unread,
Jun 16, 2017, 4:52:41 AM6/16/17
to meetecho-janus, lmin...@gmail.com

Lorenzo Miniero

unread,
Jul 28, 2017, 5:56:07 AM7/28/17
to meetecho-janus, lmin...@gmail.com
After merging the VP8 simulcast branch, I decided to merge the VP9 SVC branch as well. Apparently that's the only way to force people to look at something and play with it ;-)

Lorenzo

Ju Ju

unread,
Sep 12, 2017, 5:40:36 AM9/12/17
to meetecho-janus
For whom who want to test it using un mac :

start chrome using the terminal like this :

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --force-fieldtrials=WebRTC-SupportVP9SVC/EnabledByFlag_2SL3TL/


It works pretty well with all the layer but it seems FPS drop hard after few minutes


My MBP is at 40% CPU and I m using wired gigabit connection, so I can't explain the FPS drop


J-

Victor Duvanenko

unread,
Nov 17, 2017, 9:16:23 AM11/17/17
to meetecho-janus
I tried to get VP9 SVC Janus Demo going, launching Chrome browser with "--force-fieldtrials=WebRTC-SupportVP9SVC/EnabledByFlag_2SL3TL/" but the UI element to select the layers didn't show up.
Is there something else that needs to be done, or is there something else that needs to be done to get the SVC Demo going?

Thanks,
-Victor

Lorenzo Miniero

unread,
Nov 18, 2017, 9:26:32 AM11/18/17
to meetecho-janus
Are you using the VP9 demo page and not the regular VideoRoom demo?

L.

Victor Duvanenko

unread,
Nov 20, 2017, 10:47:17 AM11/20/17
to meetecho-janus
Yes, I'm using the VP9 SVC Demo room (https://janus.conf.meetecho.com/vp9svctest.html)

Lorenzo Miniero

unread,
Nov 22, 2017, 1:51:25 AM11/22/17
to meetecho-janus
Then you probably did something wrong launching the browser, or maybe you had another instance of Chrome already running. Either close all Chrome instances before launching with those flags, or pass the fags to a new Chrome profile.

L.

Mirko Brankovic

unread,
Jan 16, 2019, 5:01:41 AM1/16/19
to meetecho-janus
I also can't get the layers, but I can't remember when this PR appeared i remember I maybe could...
I think that SVC vp9 was removed from WebRTC 1.0 and will be added in NV version so maybe that is the reason why this happens?

lmin...@gmail.com

unread,
Jan 16, 2019, 5:13:35 AM1/16/19
to meetecho-janus
It seems to still be working for me. Make sure you're launching Chrome with the right flag, as it's disabled by default.

L.

Mirko Brankovic

unread,
Jan 16, 2019, 5:29:17 AM1/16/19
to meetecho-janus
I do start it with:
~ $ google-chrome-stable --force-fieldtrials=WebRTC-SupportVP9SVC/EnabledByFlag_2SL3TL/
killed all previous browsers opened but I guess i'm doing something wrong.
Tried both Chromium and Chrome.
Out of curiosity, which Chrome version are you on?
Mine is: Version 69.0.3497.81 (Official Build) (64-bit)


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

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


--
Regards,
Mirko

lmin...@gmail.com

unread,
Jan 16, 2019, 6:00:22 AM1/16/19
to meetecho-janus
Il giorno mercoledì 16 gennaio 2019 11:29:17 UTC+1, Mirko Brankovic ha scritto:
I do start it with:
~ $ google-chrome-stable --force-fieldtrials=WebRTC-SupportVP9SVC/EnabledByFlag_2SL3TL/
killed all previous browsers opened but I guess i'm doing something wrong.
Tried both Chromium and Chrome.
Out of curiosity, which Chrome version are you on?
Mine is: Version 69.0.3497.81 (Official Build) (64-bit)


73.0.3642.0, I'm always on Canary.

L.

 

To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janus+unsubscribe@googlegroups.com.

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


--
Regards,
Mirko

Mirko Brankovic

unread,
Jan 17, 2019, 3:53:52 AM1/17/19
to meetecho-janus
oh thx, let me try canary

To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janu...@googlegroups.com.

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


--
Regards,
Mirko

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

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


--
Regards,
Mirko

Mirko Brankovic

unread,
Jan 17, 2019, 3:55:00 AM1/17/19
to meetecho-janus
oh no i need  windows :D
--
Regards,
Mirko

lmin...@gmail.com

unread,
Jan 17, 2019, 5:39:58 AM1/17/19
to meetecho-janus
Windows? No, I'm on Fedora and it works for me.

L.
To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janus+unsubscribe@googlegroups.com.

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


--
Regards,
Mirko

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

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


--
Regards,
Mirko


--
Regards,
Mirko

Mirko Brankovic

unread,
Jan 17, 2019, 8:05:37 AM1/17/19
to meetecho-janus
So on canary download site i get not suppoerted for Linux, so I guess i need to build it from source maybe.
and google-chrome-beta is Version 72.0.3626.64 (Official Build) beta (64-bit)

To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janu...@googlegroups.com.

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


--
Regards,
Mirko

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

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


--
Regards,
Mirko


--
Regards,
Mirko

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

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


--
Regards,
Mirko
hmm.png

lmin...@gmail.com

unread,
Jan 17, 2019, 8:24:01 AM1/17/19
to meetecho-janus
Ah, I wouldn't know about that. I didn't install it manually, I have all the Chrome versions available in a repo through dnf/yum.

L.

To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janus+unsubscribe@googlegroups.com.

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


--
Regards,
Mirko

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

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


--
Regards,
Mirko


--
Regards,
Mirko

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

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


--
Regards,
Mirko

Mirko Brankovic

unread,
Jan 17, 2019, 9:23:38 AM1/17/19
to meetecho-janus
hehe nice but how :D i can't :cry:

To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janu...@googlegroups.com.

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


--
Regards,
Mirko

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

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


--
Regards,
Mirko


--
Regards,
Mirko

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

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


--
Regards,
Mirko

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

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


--
Regards,
Mirko

Alessandro Amirante

unread,
Jan 17, 2019, 11:10:37 AM1/17/19
to Mirko Brankovic, meetecho-janus
What's your distribution? If you use apt and have the google-chrome.list, Canary is called google-chrome-unstable.

A.

Mirko Brankovic

unread,
Jan 17, 2019, 11:16:23 AM1/17/19
to meetecho-janus
Also on fedora dnf but was adding google repo manually 

Mirko Brankovic

unread,
Jan 22, 2019, 3:38:29 AM1/22/19
to meetecho-janus
===========================================================================================================================================
 Package                                                          Arch                                             Version                                                 Repository                                                    Size
===========================================================================================================================================
Installing:
 google-chrome-unstable                                           x86_64                                           73.0.3673.0-1                                           google-chrome-beta                                            56 M
===========================================================================================================================================

So
rry for my noobishness :D now i see the package that provided me with 73 :)

Thanks Alessandro and Lorenzo 

Mirko Brankovic

unread,
Jan 22, 2019, 3:42:11 AM1/22/19
to meetecho-janus
But still on the VP9 demo i still don't see anything special, so not sure how SVC demo should look like, I suspect I should see buttons like on ?simulcast=true demo
I did start 73 with this flags:
google-chrome-unstable --force-fieldtrials=WebRTC-SupportVP9SVC/EnabledByFlag_2SL3TL/

lmin...@gmail.com

unread,
Jan 22, 2019, 4:39:27 AM1/22/19
to meetecho-janus
Mh not sure, it definitely works for me. Yes, you should see something like this: https://www.meetecho.com/blog/wp-content/uploads/2017/06/janus-vp9svc.jpg
Make sure all Chrome instances are closed before launching it with the flags, though, otherwise they will be ignored.

L.

Mirko Brankovic

unread,
Jan 22, 2019, 5:25:50 AM1/22/19
to meetecho-janus
aaaah silly me, I was using my older version of janus :D
I just tried it on https://janus.conf.meetecho.com/vp9svctest.html and works perfectly.
Thanks
Reply all
Reply to author
Forward
0 new messages