Testing the WebRTC stack
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
自己紹介
Dr. “Alex” Gouaillard
(アレックス )
2014 webRTC Pioneer Award
2013 ~ Contributor to webrtc.org (唯一の8社はwebrtc.orgに貢献)
2012 ~ webRTC WG, ORTC CG
2012 ~ rtcweb, mmusic, payload, ….
2015~ CoSMo Software Consulting (webrtcbydralex.com)
2015~ Webrtc in Webkit Initiative (webrtcinwebkit.com)
2014 WebRTC Expo - Best Tool Award: Puppet Master
2013 WebRTC Expo - Best Conferencing Award
2013 WebRTC Expo - Visionary Award
写真と今の顔は。。。ちょっと。。。
Dr. “Alex” Gouaillard
(アレックス )
Dr. “Alex” Gouaillard
(アレックス )
“Incognito Mode”
(シークレット モード)
写真と今の顔は。。。ちょっと。。。
Dr. “Alex” Gouaillard
(アレックス )
Dr. “Alex” Gouaillard
(アレックス )
“Incognito Mode”
(シークレット モード)
Japanese Mode
(ライオンハート)
写真と今の顔は。。。ちょっと。。。
Dr. “Alex” Gouaillard
(アレックス )
Dr. “Alex” Gouaillard
(アレックス )
“Incognito Mode”
(シークレット モード)
Japanese Mode
(ライオンハート)
American Mode
(ハングオーバー)
自己紹介
Dr. “Alex” Gouaillard
(アレックス )
2014 webRTC Pioneer Award
2013 ~ Contributor to webrtc.org (唯一の8社はwebrtc.orgに貢献)
2012 ~ webRTC WG, ORTC CG
2012 ~ rtcweb, mmusic, payload, ….
2015~ CoSMo Software Consulting (webrtcbydralex.com)
2015~ Webrtc in Webkit Initiative (webrtcinwebkit.com)
2014 WebRTC Expo - Best Tool Award: Puppet Master
2013 WebRTC Expo - Best Conferencing Award
2013 WebRTC Expo - Visionary Award
“Incognito Mode”
(シークレット モード)
全体像:クライアントサイド(ウェブ)
ウェブアプリ
前端JS API 後端API
WebRTC ブラウザ ORTC ブラウザ
webRTC shim
他の ブラウザ
webRTC plugin
W3Cの webRTC JS API
internet
( メヂアサーバかP2P) && ( ICEサーバー) シグナリングサーバー
IETFの rtcweb
全体像:クライアントサイド(ネイティブ)
ネイティブAndroidかIOSアプリ
前端API
SDK
internet
IETF’s rtcweb
後端API
( メヂアサーバかP2P) && ( ICEサーバー) シグナリングサーバー
全体像
ウェブアプリ
前端 JS API 後端 API
WebRTC ブラウザ
他のブラウザ
webRTC plugin
インターネット
ネイティブAndroidアプリ
Android
前端API
後端API
Android
SDK
ネイティブiOSアプリ
iOS 前端
API
後端 API
iOS
SDK
ネイティブデスクトップアプリ
デスクトップ
前端API
後端 API
デスクトップ
SDK
ロードバランシング… セッションとセキュリティ
シグナル
サーバー
ICE
サーバー
API
サーバー
課金
サーバー
ストア
サーバー
メディア
サーバー
相互運用性
サーバー
統計
C F O
ロード
テスト
WEB ー ウェブ MOBILE ー モビル
DESKTOP
&
IoT
INFRASTRUCTURE ー インフラ
全体像
ウェブアプリ
前端 JS API 後端 API
WebRTC ブラウザ
他のブラウザ
webRTC plugin
インターネット
ネイティブAndroidアプリ
Android
前端API
後端API
Android
SDK
ネイティブiOSアプリ
iOS 前端
API
後端 API
iOS
SDK
ネイティブデスクトップアプリ
デスクトップ
前端API
後端 API
デスクトップ
SDK
ロードバランシング… セッションとセキュリティ
シグナル
サーバー
ICE
サーバー
API
サーバー
課金
サーバー
ストア
サーバー
メディア
サーバー
相互運用性
サーバー
統計
C F O
ロード
テスト
全体像 – webrtc.org
ウェブアプリ
前端 JS API 後端 API
WebRTC ブラウザ
他のブラウザ
webRTC plugin
インターネット
ネイティブAndroidアプリ
Android
前端API
後端API
Android
SDK
ネイティブiOSアプリ
iOS 前端
API
後端 API
iOS
SDK
ネイティブデスクトップアプリ
デスクトップ
前端API
後端 API
デスクトップ
SDK
ロードバランシング… セッションとセキュリティ
シグナル
サーバー
ICE
サーバー
API
サーバー
課金
サーバー
ストア
サーバー
メディア
サーバー
相互運用性
サーバー
統計
C F O
ロード
テスト
What do I want?
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Add my Feature
(codec)
Send to
Dashboard
Common public dashboard for
anyone to send failed build /
test results to ease bug reports
What do I get today?
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Webrtc.org
Send to
Waterfall
What do I get today?
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
• Pristine.io build scripts (android, iOS)
• https://github.com/pristineio/webrtc-build-scripts
• eFace2Face’s Cordova webRTC plugin (iOS)
• https://github.com/eface2face/cordova-plugin-iosrtc
Send to
Dashboard
What do I get today?
• Vicken Simonian’s Automatically compiled libs (win, mac, android)
• https://github.com/vsimon/webrtcbuilds/wiki
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
What do I get today?
• Dr Alex build scripts (win, mac, linux)
• http://webrtcbydralex.com/index.php/2015/07/18/the-
chromium-webrtc-build-system/
• http://webrtcbydralex.com/index.php/2015/07/22/automating-
libwebrtc-build-with-cmake/
• https://github.com/agouaillard/libwebrtc-cmake
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
Compiling is not enough
commit b933667a7f97697d6390d1eee5f378cedd9ca208
Author: Bjorn Terelius <terelius@google.com>
Date: Thu Jul 30 12:05:08 2015 +0200
Revert "Renamed the ACMDump to RtcEventLog and moved it to webrtc/video, ...
This reverts commit c159b046d7a0086e45ae0f79c00a462f3fafd207.
BUG=
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1250383003 .
Cr-Commit-Position: refs/heads/master@{#9660}
webrtc.org : arbitrarily broken
(*) git log --since=1.week --pretty=oneline | grep Revert | wc -l
Last week only(*), 2 reverts ….
Last month, 7 reverts ….
Since Jan., 107 reverts ….
You cannot blindly use it! You need to test and validate the lib.
webrtc.org : Unit tests
http://webrtcbydralex.com/index.php/2015/07/23/how-to-test-libwebrtc/
Webrtc includes unit tests that are
built by default.
WARNING #1: You have to run them from the location
they’re build in! (paths to input files are hardcoded).
WARNING #2: You have to reverse engineer the .isolate file
to know which parameters to use
WARNING #3: You have to reverse engineer the waterfall
for extra parameters, and for which tests to run.
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
webrtc.org : Unit tests
http://webrtcbydralex.com/index.php/2015/07/23/how-to-test-libwebrtc/
Webrtc includes unit tests
that are built by default.
Using the scripts on the
blog, or the corresponding
code on github, you can run
them automatically, locally
or remotely.
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
webrtc.org : Dashboard
http://webrtcbydralex.com/index.php/2015/07/23/how-to-test-libwebrtc/
Report to a central, public or private dashboard.
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
webrtc.org : Installers
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
webrtc.org : stable versions
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
http://webrtcbydralex.com/index.php/tools/
Make and distribute your own
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
• H264/265 support
• HTTP Proxy support
• Screensharing support
• AVFoundation support
• Whatever you want
Integrate in your SDK / Plugin / …
Get Source
Patch /
Modify
Source
Compile Test
Package /
Distribute
Send to
Dashboard
• Shield your devs from libwebrtc problems.
• Have a consistent install / layout policy
• Packaging already done!
終わりです。
Dr. “Alex” Gouaillard
(アレックス )
“Incognito Mode”
(シークレット モード)
Thanks
Webrtcbydralex.com

Testing and packaging WebRTC Stack

  • 1.
    Testing the WebRTCstack Get Source Patch / Modify Source Compile Test Package / Distribute Send to Dashboard
  • 2.
    自己紹介 Dr. “Alex” Gouaillard (アレックス) 2014 webRTC Pioneer Award 2013 ~ Contributor to webrtc.org (唯一の8社はwebrtc.orgに貢献) 2012 ~ webRTC WG, ORTC CG 2012 ~ rtcweb, mmusic, payload, …. 2015~ CoSMo Software Consulting (webrtcbydralex.com) 2015~ Webrtc in Webkit Initiative (webrtcinwebkit.com) 2014 WebRTC Expo - Best Tool Award: Puppet Master 2013 WebRTC Expo - Best Conferencing Award 2013 WebRTC Expo - Visionary Award
  • 3.
    写真と今の顔は。。。ちょっと。。。 Dr. “Alex” Gouaillard (アレックス) Dr. “Alex” Gouaillard (アレックス ) “Incognito Mode” (シークレット モード)
  • 4.
    写真と今の顔は。。。ちょっと。。。 Dr. “Alex” Gouaillard (アレックス) Dr. “Alex” Gouaillard (アレックス ) “Incognito Mode” (シークレット モード) Japanese Mode (ライオンハート)
  • 5.
    写真と今の顔は。。。ちょっと。。。 Dr. “Alex” Gouaillard (アレックス) Dr. “Alex” Gouaillard (アレックス ) “Incognito Mode” (シークレット モード) Japanese Mode (ライオンハート) American Mode (ハングオーバー)
  • 6.
    自己紹介 Dr. “Alex” Gouaillard (アレックス) 2014 webRTC Pioneer Award 2013 ~ Contributor to webrtc.org (唯一の8社はwebrtc.orgに貢献) 2012 ~ webRTC WG, ORTC CG 2012 ~ rtcweb, mmusic, payload, …. 2015~ CoSMo Software Consulting (webrtcbydralex.com) 2015~ Webrtc in Webkit Initiative (webrtcinwebkit.com) 2014 WebRTC Expo - Best Tool Award: Puppet Master 2013 WebRTC Expo - Best Conferencing Award 2013 WebRTC Expo - Visionary Award “Incognito Mode” (シークレット モード)
  • 7.
    全体像:クライアントサイド(ウェブ) ウェブアプリ 前端JS API 後端API WebRTCブラウザ ORTC ブラウザ webRTC shim 他の ブラウザ webRTC plugin W3Cの webRTC JS API internet ( メヂアサーバかP2P) && ( ICEサーバー) シグナリングサーバー IETFの rtcweb
  • 8.
  • 9.
    全体像 ウェブアプリ 前端 JS API後端 API WebRTC ブラウザ 他のブラウザ webRTC plugin インターネット ネイティブAndroidアプリ Android 前端API 後端API Android SDK ネイティブiOSアプリ iOS 前端 API 後端 API iOS SDK ネイティブデスクトップアプリ デスクトップ 前端API 後端 API デスクトップ SDK ロードバランシング… セッションとセキュリティ シグナル サーバー ICE サーバー API サーバー 課金 サーバー ストア サーバー メディア サーバー 相互運用性 サーバー 統計 C F O ロード テスト WEB ー ウェブ MOBILE ー モビル DESKTOP & IoT INFRASTRUCTURE ー インフラ
  • 10.
    全体像 ウェブアプリ 前端 JS API後端 API WebRTC ブラウザ 他のブラウザ webRTC plugin インターネット ネイティブAndroidアプリ Android 前端API 後端API Android SDK ネイティブiOSアプリ iOS 前端 API 後端 API iOS SDK ネイティブデスクトップアプリ デスクトップ 前端API 後端 API デスクトップ SDK ロードバランシング… セッションとセキュリティ シグナル サーバー ICE サーバー API サーバー 課金 サーバー ストア サーバー メディア サーバー 相互運用性 サーバー 統計 C F O ロード テスト
  • 11.
    全体像 – webrtc.org ウェブアプリ 前端JS API 後端 API WebRTC ブラウザ 他のブラウザ webRTC plugin インターネット ネイティブAndroidアプリ Android 前端API 後端API Android SDK ネイティブiOSアプリ iOS 前端 API 後端 API iOS SDK ネイティブデスクトップアプリ デスクトップ 前端API 後端 API デスクトップ SDK ロードバランシング… セッションとセキュリティ シグナル サーバー ICE サーバー API サーバー 課金 サーバー ストア サーバー メディア サーバー 相互運用性 サーバー 統計 C F O ロード テスト
  • 12.
    What do Iwant? Get Source Patch / Modify Source Compile Test Package / Distribute Add my Feature (codec) Send to Dashboard Common public dashboard for anyone to send failed build / test results to ease bug reports
  • 13.
    What do Iget today? Get Source Patch / Modify Source Compile Test Package / Distribute Webrtc.org Send to Waterfall
  • 14.
    What do Iget today? Get Source Patch / Modify Source Compile Test Package / Distribute • Pristine.io build scripts (android, iOS) • https://github.com/pristineio/webrtc-build-scripts • eFace2Face’s Cordova webRTC plugin (iOS) • https://github.com/eface2face/cordova-plugin-iosrtc Send to Dashboard
  • 15.
    What do Iget today? • Vicken Simonian’s Automatically compiled libs (win, mac, android) • https://github.com/vsimon/webrtcbuilds/wiki Get Source Patch / Modify Source Compile Test Package / Distribute Send to Dashboard
  • 16.
    What do Iget today? • Dr Alex build scripts (win, mac, linux) • http://webrtcbydralex.com/index.php/2015/07/18/the- chromium-webrtc-build-system/ • http://webrtcbydralex.com/index.php/2015/07/22/automating- libwebrtc-build-with-cmake/ • https://github.com/agouaillard/libwebrtc-cmake Get Source Patch / Modify Source Compile Test Package / Distribute Send to Dashboard
  • 17.
    Compiling is notenough commit b933667a7f97697d6390d1eee5f378cedd9ca208 Author: Bjorn Terelius <terelius@google.com> Date: Thu Jul 30 12:05:08 2015 +0200 Revert "Renamed the ACMDump to RtcEventLog and moved it to webrtc/video, ... This reverts commit c159b046d7a0086e45ae0f79c00a462f3fafd207. BUG= R=stefan@webrtc.org Review URL: https://codereview.webrtc.org/1250383003 . Cr-Commit-Position: refs/heads/master@{#9660}
  • 18.
    webrtc.org : arbitrarilybroken (*) git log --since=1.week --pretty=oneline | grep Revert | wc -l Last week only(*), 2 reverts …. Last month, 7 reverts …. Since Jan., 107 reverts …. You cannot blindly use it! You need to test and validate the lib.
  • 19.
    webrtc.org : Unittests http://webrtcbydralex.com/index.php/2015/07/23/how-to-test-libwebrtc/ Webrtc includes unit tests that are built by default. WARNING #1: You have to run them from the location they’re build in! (paths to input files are hardcoded). WARNING #2: You have to reverse engineer the .isolate file to know which parameters to use WARNING #3: You have to reverse engineer the waterfall for extra parameters, and for which tests to run. Get Source Patch / Modify Source Compile Test Package / Distribute Send to Dashboard
  • 20.
    webrtc.org : Unittests http://webrtcbydralex.com/index.php/2015/07/23/how-to-test-libwebrtc/ Webrtc includes unit tests that are built by default. Using the scripts on the blog, or the corresponding code on github, you can run them automatically, locally or remotely. Get Source Patch / Modify Source Compile Test Package / Distribute
  • 21.
    webrtc.org : Dashboard http://webrtcbydralex.com/index.php/2015/07/23/how-to-test-libwebrtc/ Reportto a central, public or private dashboard. Get Source Patch / Modify Source Compile Test Package / Distribute Send to Dashboard
  • 22.
    webrtc.org : Installers GetSource Patch / Modify Source Compile Test Package / Distribute Send to Dashboard
  • 23.
    webrtc.org : stableversions Get Source Patch / Modify Source Compile Test Package / Distribute Send to Dashboard http://webrtcbydralex.com/index.php/tools/
  • 24.
    Make and distributeyour own Get Source Patch / Modify Source Compile Test Package / Distribute Send to Dashboard • H264/265 support • HTTP Proxy support • Screensharing support • AVFoundation support • Whatever you want
  • 25.
    Integrate in yourSDK / Plugin / … Get Source Patch / Modify Source Compile Test Package / Distribute Send to Dashboard • Shield your devs from libwebrtc problems. • Have a consistent install / layout policy • Packaging already done!
  • 26.
    終わりです。 Dr. “Alex” Gouaillard (アレックス) “Incognito Mode” (シークレット モード) Thanks Webrtcbydralex.com

Editor's Notes

  • #3 Only eight companies contribute to webrtc.org 唯一の8社はwebrtc.orgに貢献 Yuiitsu no 8-sha wa webrtc. Orugu ni kōken
  • #7 Only eight companies contribute to webrtc.org 唯一の8社はwebrtc.orgに貢献 Yuiitsu no 8-sha wa webrtc. Orugu ni kōken
  • #9 全体像 zentaizou
  • #10 全体像 zentaizou
  • #11 全体像 zentaizou
  • #12 全体像 zentaizou
  • #13 全体像 zentaizou
  • #14 全体像 zentaizou
  • #15 全体像 zentaizou
  • #16 全体像 zentaizou
  • #17 全体像 zentaizou
  • #18 全体像 zentaizou
  • #19 全体像 zentaizou
  • #20 全体像 zentaizou
  • #21 全体像 zentaizou
  • #22 全体像 zentaizou
  • #23 全体像 zentaizou
  • #24 全体像 zentaizou
  • #25 全体像 zentaizou
  • #26 全体像 zentaizou