Changes between Version 8 and Version 9 of 104hackathon/webrtc


Ignore:
Timestamp:
Mar 23, 2019, 5:33:05 AM (9 months ago)
Author:
agouaillard@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 104hackathon/webrtc

    v8 v9  
    1 == WebRTC Interop (KITE) and Compliance (WPT) testing ==
     1= WebRTC Interop (KITE) and Compliance (WPT) testing =
     2
     3== Overview ==
    24
    35* Goals
     
    2931  * fix SFUs, rince repeat
    3032
     33We plan to extend and complete this document (below) over the hackathon with each and every new tests the SFU vendors will propose, or modified browsers the browsers vendor will provide:
     34https://docs.google.com/spreadsheets/d/1F5iJ1Qs8AgVTlgdC1ZRhSVHRvTM46AW3r1_9oQhZiMc/edit#gid=0
     35
     36== KITE Test Bed for all ==
     37
    3138Specifically for this event, we created a gitHub repository with two automated kite interoperability tests. https://github.com/ManuCosmo/KITE-Hackathon
    3239
    3340One test is a "typical" SFU test: KITE-Janus-Test is provided, which can be easily adapted to test any SFU, and should be the starting point for SFU developers wanting to automatically test against all the browser configuration CoSMo will provide for testing that week end.
    3441
     42CoSMo's Manu, KITE tech lead, is at disposal to help people install KITE on their laptop, and run the first local tests.
     43
     44== SFU Tests ==
     45
     46=== CoSMo's Meedoze - The reference implementation to test Simulcast Again ===
     47
     48https://github.com/ManuCosmo/KITE-Hackathon
     49
    3550One test, "KITE-Simulcast-Test", was specifically developed to test browser compliance. An app which sends simulcast to a special SFU based on meedoze, and receives back a given stream back depending on interaction with the UI is provided. It allows to test in loopback mode with a single browser (since simulcast is only sender side anyway), and all stream selection logic is made through UI button which makes it easily instrumented through KITE. The different simulcast features are not tested directly but indirectly (if I can select and receive a stream at a specific configuration it means the SFU receives them well and can differentiate them). The medooze simulcast loopback page, used by e.g. Apple for testing  is hosted here: https://playground.cosmosoftware.io/index.html
    3651
     52=== Meetecho's Janus ===
     53
    3754To test Janus, a couple of servers are available:
    38 * https://d10.conf.meetecho.com/ietf104/ (deployed in the NOC)
    39 * https://31.133.136.74/ietf104/ (on my laptop)
    40 The easier way to test simulcasting is the EchoTest, which will allow you to choose which layers to send back. A couple of query strings are available to enable simulcast and force a specific codec: simulcast=true will enable old-style simulcasting (SDP munging for Chrome and Safari, rid-based for Firefox), while simulcast2=true will enable the new rid-based simulcasting on Chrome M74 and M75; vcodec=X forces a specific codec (e.g., vcodec=h264). Here's a couple of examples:
     55* https://d10.conf.meetecho.com/ietf104/ (deployed locally in the IETF NOC)
     56* https://31.133.136.74/ietf104/ (on Lorenzo laptop, accessible locally for anybody on the "ietf" network)
     57
     58The easier way to test simulcasting is to use the "EchoTest" plugin, which will allow you to choose which layers to send back.
     59A couple of query strings are available to enable simulcast and force a specific codec:
     60* simulcast=true will enable old-style simulcasting (SDP munging for Chrome and Safari, rid-based for Firefox),
     61* simulcast2=true will enable the new rid-based simulcasting on Chrome M74 and M75;
     62* vcodec=X forces a specific codec (e.g., vcodec=h264).
     63
     64Here's a couple more examples:
    4165* https://d10.conf.meetecho.com/ietf104/echotest.html?simulcast=true
    4266* https://d10.conf.meetecho.com/ietf104/echotest.html?simulcast2=true
    4367* https://d10.conf.meetecho.com/ietf104/echotest.html?simulcast2=true&vcodec=h264
    44 The videoconferencing demo can be used as well: visit the videoroomtest.html page instead. The same query strings for simulcast apply; there's no changing the video codec though (defaults to VP8, we can add a new room for other codecs).
    4568
    46 To test Mediasoup (Iñaki's directions:) we can use https://v3demo.mediasoup.org
     69The videoconferencing demo can be used as well: visit the videoroomtest.html page instead.
     70The same query strings to enable simulcast than before apply, with the exception to the video codec selection.
     71There's no changing the video codec, which defaults to VP8. If need be, a new room can be added to support for other codecs.
     72
     73== MediaSoup ==
     74
     75Even if not attending, Inaki, tech lead of media soup, prepared some test for us.
     76
     77To test Mediasoup, one can use https://v3demo.mediasoup.org
     78
    4779Some global variables in the browser console for debugging:
    4880* PC1: the PeerConnection that sends mic/webcam.
     
    5284* __recvSdps(): prints the local and remote SDP of the sending PeerConnection (PC2).
    5385
    54 We plan to extend and complete this document over the hackathon with each and every new tests the SFU vendors will propose, or modified browsers the browsers vendor will provide:
    55 https://docs.google.com/spreadsheets/d/1F5iJ1Qs8AgVTlgdC1ZRhSVHRvTM46AW3r1_9oQhZiMc/edit#gid=0
    56 
    57 Interesting links and prerequisite reading:
     86== Interesting links and prerequisite reading ==
    5887* KITE: https://github.com/webrtc/KITE
    5988* Web Platform Tests: https://github.com/web-platform-tests/wpt