26
Testing the WebRTC stack Get Source Patch / Modify Source Compile Test Package / Distribut e Send to Dashboard

Testing and packaging WebRTC Stack

Embed Size (px)

Citation preview

Page 1: Testing and packaging WebRTC Stack

Testing the WebRTC stack

Get SourcePatch / Modify Source

Compile Test Package / Distribute

Send to Dashboard

Page 2: Testing and packaging WebRTC Stack

自己紹介

Dr. “Alex” Gouaillard(アレックス )

2014 webRTC Pioneer Award2013 ~ 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

Page 3: Testing and packaging WebRTC Stack

写真と今の顔は。。。ちょっと。。。

Dr. “Alex” Gouaillard(アレックス )

Dr. “Alex” Gouaillard(アレックス )“Incognito Mode”

( シークレット モード )

Page 4: Testing and packaging WebRTC Stack

写真と今の顔は。。。ちょっと。。。

Dr. “Alex” Gouaillard(アレックス )

Dr. “Alex” Gouaillard(アレックス )“Incognito Mode”

( シークレット モード )

Japanese Mode( ライオンハー

ト )

Page 5: Testing and packaging WebRTC Stack

写真と今の顔は。。。ちょっと。。。

Dr. “Alex” Gouaillard(アレックス )

Dr. “Alex” Gouaillard(アレックス )“Incognito Mode”

( シークレット モード )

Japanese Mode( ライオンハー

ト )

American Mode( ハングオー

バー )

Page 6: Testing and packaging WebRTC Stack

自己紹介

Dr. “Alex” Gouaillard(アレックス )

2014 webRTC Pioneer Award2013 ~ 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”( シークレット モー

ド )

Page 7: Testing and packaging WebRTC Stack

全体像 : クライアントサイド ( ウェブ )

ウェブアプリ

前端 JS API 後端 API

WebRTC ブラウザ ORTC ブラウザ

webRTC shim

他の ブラウザ

webRTC plugin

W3C の webRTC JS API

internet( メヂアサーバか P2P) && ( ICE サーバー ) シグナリングサーバー

IETF の rtcweb

Page 8: Testing and packaging WebRTC Stack

全体像 : クライアントサイド ( ネイティブ )

ネイティブ Android か IOS アプリ

前端 API

SDK

internetIETF’s rtcweb

後端 API

( メヂアサーバか P2P) && ( ICE サーバー ) シグナリングサーバー

Page 9: Testing and packaging WebRTC Stack

全体像ウェブアプリ

前端  JS API 後端 API

WebRTC ブラウザ

他のブラウザ

webRTC plugin

インターネット

ネイティブ Android アプリ

Android前端 API 後端 API

Android SDK

ネイティブ iOS アプリ

iOS 前端API 後端 API

iOSSDK

ネイティブデスクトップアプリ

デスクトップ前端 API 後端 API

デスクトップ SDK

ロードバランシング… セッションとセキュリティ

シグナルサーバー

ICEサーバー

APIサーバー

課金サーバー

ストアサーバー

メディアサーバー

相互運用性サーバー 統計

C F O

ロードテスト

WEB ー ウェブ MOBILE  ー モビルDESKTOP

&IoT

INFRASTRUCTURE  ー インフラ

Page 10: Testing and packaging WebRTC Stack

全体像ウェブアプリ

前端  JS API 後端 API

WebRTC ブラウザ

他のブラウザ

webRTC plugin

インターネット

ネイティブ Android アプリ

Android前端 API 後端 API

Android SDK

ネイティブ iOS アプリ

iOS 前端API 後端 API

iOSSDK

ネイティブデスクトップアプリ

デスクトップ前端 API 後端 API

デスクトップ SDK

ロードバランシング… セッションとセキュリティ

シグナルサーバー

ICEサーバー

APIサーバー

課金サーバー

ストアサーバー

メディアサーバー

相互運用性サーバー 統計

C F O

ロードテスト

Page 11: Testing and packaging WebRTC Stack

全体像 – webrtc.orgウェブアプリ

前端  JS API 後端 API

WebRTC ブラウザ

他のブラウザ

webRTC plugin

インターネット

ネイティブ Android アプリ

Android前端 API 後端 API

Android SDK

ネイティブ iOS アプリ

iOS 前端API 後端 API

iOSSDK

ネイティブデスクトップアプリ

デスクトップ前端 API 後端 API

デスクトップ SDK

ロードバランシング… セッションとセキュリティ

シグナルサーバー

ICEサーバー

APIサーバー

課金サーバー

ストアサーバー

メディアサーバー

相互運用性サーバー 統計

C F O

ロードテスト

Page 12: Testing and packaging WebRTC Stack

What do I want?

Get SourcePatch / 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

Page 13: Testing and packaging WebRTC Stack

What do I get today?

Get SourcePatch / Modify Source

Compile Test Package / Distribute

Webrtc.org

Send to Waterfall

Page 14: Testing and packaging WebRTC Stack

What do I get today?

Get SourcePatch / 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

Page 15: Testing and packaging WebRTC Stack

What do I get today?

• Vicken Simonian’s Automatically compiled libs (win, mac, android)• https://github.com/vsimon/webrtcbuilds/wiki

Get SourcePatch / Modify Source

Compile Test Package / Distribute

Send to Dashboard

Page 17: Testing and packaging WebRTC Stack

Compiling is not enoughcommit b933667a7f97697d6390d1eee5f378cedd9ca208Author: Bjorn Terelius <[email protected]>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= [email protected] Review URL: https://codereview.webrtc.org/1250383003 . Cr-Commit-Position: refs/heads/master@{#9660}

Page 18: Testing and packaging WebRTC Stack

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.

Page 19: Testing and packaging WebRTC Stack

webrtc.org : Unit tests

http://webrtcbydralex.com/index.php/2015/07/23/how-to-test-libwebrtc/

Webrtc includes unit tests that arebuilt 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 useWARNING #3: You have to reverse engineer the waterfall for extra parameters, and for which tests to run.

Get SourcePatch / Modify Source

Compile Test Package / Distribute

Send to Dashboard

Page 20: Testing and packaging WebRTC Stack

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 SourcePatch / Modify Source

Compile Test Package / Distribute

Page 21: Testing and packaging WebRTC Stack

webrtc.org : Dashboard

http://webrtcbydralex.com/index.php/2015/07/23/how-to-test-libwebrtc/

Report to a central, public or private dashboard.

Get SourcePatch / Modify Source

Compile Test Package / Distribute

Send to Dashboard

Page 22: Testing and packaging WebRTC Stack

webrtc.org : InstallersGet Source

Patch / Modify Source

Compile Test Package / Distribute

Send to Dashboard

Page 23: Testing and packaging WebRTC Stack

webrtc.org : stable versionsGet Source

Patch / Modify Source

Compile Test Package / Distribute

Send to Dashboard

http://webrtcbydralex.com/index.php/tools/

Page 24: Testing and packaging WebRTC Stack

Make and distribute your ownGet Source

Patch / Modify Source

Compile Test Package / Distribute

Send to Dashboard

• H264/265 support• HTTP Proxy support• Screensharing support• AVFoundation support• Whatever you want

Page 25: Testing and packaging WebRTC Stack

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!

Page 26: Testing and packaging WebRTC Stack

終わりです。

Dr. “Alex” Gouaillard(アレックス )

“Incognito Mode”( シークレット モー

ド )

Thanks

Webrtcbydralex.com