Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
C-LIS CO., LTD.
M100でWebRTCアプリ
開発
Vuzix Developer Conference
有限会社シーリス 有山 圭二
WebRTCとは
3
Web Real-Time Communication
World Wide Web Consortium(W3C)が提唱するリアルタイムコミュニケーシ
ョン用のAPIの定義で、プラグイン無しでウェブブラウザ間のボイスチャ...
WebRTCとぼく
4
Google社主催のWebRTCハッカソンに参加。
当時はまだChromeにExperimentalとして実装されていた
ボスが来た
WebRTC構成
6
Peer 2 Peer
音声・ビデオ
WebRTC構成
Peer 2 Peer
Signaling Server
7
音声・ビデオ
WebRTC構成(ICE: Interactive Connectivity Estblishment)
Peer 2 Peer
Signaling Server
STUN(Session Traversal Utilities for NAT...
WebRTC構成
Signaling Server
TURN(Traversal Using Relay around NAT) Server
音声・ビデオ
9
WebRTCとは
10
Web Real-Time Communication
World Wide Web Consortium(W3C)が提唱するリアルタイムコミュニケーシ
ョン用のAPIの定義で、プラグイン無しでウェブブラウザ間のボイスチ...
WebRTCとブラウザ
11
バージョン 対応状況
Chrome 47 ○
Firefox 42 ○
Safari 9 ×(プラグイン)
Internet
Explorer 11 ×(プラグイン)
Microsoft
Edge 25.10586...
Safari(Webkit)もようやく……
12
https://webkit.org/status/?utm_content=bufferd7cfd&utm_medium=social&utm_source=twitter.com&utm_c...
M100でWebRTC
13
ブラウザ?
ネイティブ?
M100 の OS
14
Android 5系未満なので
ブラウザによる
WebRTC対応無し
OpenWebRTC by EricssonResearch
15
https://github.com/EricssonResearch/openwebrtc
OpenWebRTC
16
http://www.openwebrtc.org/
• H.264とVP8コーデックに対応
(GStreamerベース)
• クロスプラットフォーム
• 2条項BSDライセンス
デモ
STUN Server
stun.l.google.com:19302
18
Signaling Server
http://demo.openwebrtc.org:38080
19
WebRTC構成(ICE: Interactive Connectivity Estblishment)
Peer 2 Peer
Signaling Server
STUN(Session Traversal Utilities for NAT...
ハマったところ
ライブラリの追加
22
https://github.com/EricssonResearch/openwebrtc-examples/wiki/Developing-Android-apps
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'io.openwebrtc:ope...
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'io.openwebrtc:ope...
ビルドエラー
25
SDKのAndroidManifest.xmlに
プロパティが設定されているのが原因
<manifest
package="com.vuzix.samplewebrtc.android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools=...
AndroidHttpClient is deprecated
ビルドはできるけど、あまり気持ちよいものではない
HttpUrlConnectionに置き換えた
27
/**
* Shutdown the process as a workaround until cleanup has been fully implemented.
*/
@Override
protected void onStop() ...
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.ericsson.research.owr.example...
対応アーキテクチャがARMのみ!
30
https://github.com/EricssonResearch/openwebrtc
Intel CPUには非対応(M300は……?)
https://www.vuzix.com/Products/m300-smart-glasses
31
M300はAndroid 6がベース
https://www.vuzix.com/Products/m300-smart-glasses
32
WebRTCサンプルコード(M100向け)は、
GitHubで公開予定
https://github.com/vuzixtokyo
33
C-LIS CO., LTD.
各製品名・ブランド名、会社名などは、一般に各社の商標または登録商標です。
本資料中では、©、®、™を割愛しています。
本資料は、有限会社シーリスの著作物であり、
クリエイティブコモンズの表示-非営利-継承 3.0...
Upcoming SlideShare
Loading in …5
×

Vuzix Developer Conference

834 views

Published on

Vuzix Developer Conferenceの資料です。

Published in: Technology
  • Be the first to comment

Vuzix Developer Conference

  1. 1. C-LIS CO., LTD.
  2. 2. M100でWebRTCアプリ 開発 Vuzix Developer Conference 有限会社シーリス 有山 圭二
  3. 3. WebRTCとは 3 Web Real-Time Communication World Wide Web Consortium(W3C)が提唱するリアルタイムコミュニケーシ ョン用のAPIの定義で、プラグイン無しでウェブブラウザ間のボイスチャッ ト、ビデオチャット、ファイル共有ができる。 (Wikipedia https://ja.wikipedia.org/wiki/WebRTC)
  4. 4. WebRTCとぼく 4 Google社主催のWebRTCハッカソンに参加。 当時はまだChromeにExperimentalとして実装されていた
  5. 5. ボスが来た
  6. 6. WebRTC構成 6 Peer 2 Peer 音声・ビデオ
  7. 7. WebRTC構成 Peer 2 Peer Signaling Server 7 音声・ビデオ
  8. 8. WebRTC構成(ICE: Interactive Connectivity Estblishment) Peer 2 Peer Signaling Server STUN(Session Traversal Utilities for NAT) Server 8 音声・ビデオ
  9. 9. WebRTC構成 Signaling Server TURN(Traversal Using Relay around NAT) Server 音声・ビデオ 9
  10. 10. WebRTCとは 10 Web Real-Time Communication World Wide Web Consortium(W3C)が提唱するリアルタイムコミュニケーシ ョン用のAPIの定義で、プラグイン無しでウェブブラウザ間のボイスチャッ ト、ビデオチャット、ファイル共有ができる。 (Wikipedia https://ja.wikipedia.org/wiki/WebRTC)
  11. 11. WebRTCとブラウザ 11 バージョン 対応状況 Chrome 47 ○ Firefox 42 ○ Safari 9 ×(プラグイン) Internet Explorer 11 ×(プラグイン) Microsoft Edge 25.10586 ○ Android WebView 5.x〜 ○ Mobile Safari 9.1 × 出典:JavaScriptoon 2 WebRTC~知識ゼロから5日でボイスチャットを作れた技術 発行: TechBooster 執筆者: @mzsm_j
  12. 12. Safari(Webkit)もようやく…… 12 https://webkit.org/status/?utm_content=bufferd7cfd&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer#specification-webrtc
  13. 13. M100でWebRTC 13 ブラウザ? ネイティブ?
  14. 14. M100 の OS 14 Android 5系未満なので ブラウザによる WebRTC対応無し
  15. 15. OpenWebRTC by EricssonResearch 15 https://github.com/EricssonResearch/openwebrtc
  16. 16. OpenWebRTC 16 http://www.openwebrtc.org/ • H.264とVP8コーデックに対応 (GStreamerベース) • クロスプラットフォーム • 2条項BSDライセンス
  17. 17. デモ
  18. 18. STUN Server stun.l.google.com:19302 18
  19. 19. Signaling Server http://demo.openwebrtc.org:38080 19
  20. 20. WebRTC構成(ICE: Interactive Connectivity Estblishment) Peer 2 Peer Signaling Server STUN(Session Traversal Utilities for NAT) Server 20 音声・ビデオ
  21. 21. ハマったところ
  22. 22. ライブラリの追加 22 https://github.com/EricssonResearch/openwebrtc-examples/wiki/Developing-Android-apps
  23. 23. dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'io.openwebrtc:openwebrtc-android:0.3' } 今はリポジトリにあるのでjar不要 https://github.com/EricssonResearch/openwebrtc- examples/blob/master/android/Native/app/build.gradle 23
  24. 24. dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'io.openwebrtc:openwebrtc-android-sdk:0.1.0' } android-sdkが別にある https://github.com/EricssonResearch/openwebrtc- examples/blob/master/android/NativeCall/app/build.gradle 24
  25. 25. ビルドエラー 25 SDKのAndroidManifest.xmlに プロパティが設定されているのが原因
  26. 26. <manifest package="com.vuzix.samplewebrtc.android" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <application android:allowBackup="false" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" tools:replace="android:allowBackup"> ビルドエラー 26
  27. 27. AndroidHttpClient is deprecated ビルドはできるけど、あまり気持ちよいものではない HttpUrlConnectionに置き換えた 27
  28. 28. /** * Shutdown the process as a workaround until cleanup has been fully implemented. */ @Override protected void onStop() { finish(); System.exit(0); } なぞのコードが……
  29. 29. android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.ericsson.research.owr.examples.nativecall" minSdkVersion 19 targetSdkVersion 22 versionCode 1 versionName "1.0" ndk { abiFilter "armeabi-v7a" } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } build.gradle 29
  30. 30. 対応アーキテクチャがARMのみ! 30 https://github.com/EricssonResearch/openwebrtc
  31. 31. Intel CPUには非対応(M300は……?) https://www.vuzix.com/Products/m300-smart-glasses 31
  32. 32. M300はAndroid 6がベース https://www.vuzix.com/Products/m300-smart-glasses 32
  33. 33. WebRTCサンプルコード(M100向け)は、 GitHubで公開予定 https://github.com/vuzixtokyo 33
  34. 34. C-LIS CO., LTD. 各製品名・ブランド名、会社名などは、一般に各社の商標または登録商標です。 本資料中では、©、®、™を割愛しています。 本資料は、有限会社シーリスの著作物であり、 クリエイティブコモンズの表示-非営利-継承 3.0 Unported ライセンスの元で公開しています。

×