SlideShare une entreprise Scribd logo
1  sur  12
Chrome Extensionで 
スクリーンシェアをやってみる 
WebRTC Meetup Tokyo #5 
https://atnd.org/events/58755
自己紹介 
• なかゆうすけ(Twitter : @Tukimikage) 
 所属 
– NTTコミュニケーションズ技術開発部 
 オフィシャルワーク 
– HTML5 Experts.jp(HTML5 Experts Works) 副編集長 
– WebRTC開発者向けフレームワーク「SkyWay」の開発 
 コミュニティワーク 
– html5j 自動車部部長 
– html5j エンタープライズ部スタッフ
スクリーンシェア 
• Chrome M36(だっけな)からJSのみでは利用 
できなくなりました 
• ChromeだとExtensionやAppsを別途用意する 
必要あり
Chrome Extension作ってみました
Demo
仕組み 
Extension 
Background.js 
2.StreamIDくれ! 3. StreamIDくれ! 
Extension 
Bridge.js 
1.スクリーンくれ! 
WebApp ScreenShare.js 
post 
Message 
post 
Message 
6. getUserMedia 5. ほいさっ! 4.StreamIDとったどー 
ストリームゲット! 
7. ストリームを表示 
フロントのJavaScriptとExtensionとのやりとりの方法は詳しくないので、 
もっとスマートなやり方があれば教えて下さい。
ScreenShare.js
getUserMediaのOptions 
maxWidth、maxHeight、maxFrameRateはオプション
Bridge.js
Background.js 
重要な部分はこち 
https://developer.chrome.com/extensions/desktopCapture#type-DesktopCaptureSourceType 
・SourceTypeにはscreenとwindowが利用可能(2014/11/26現在) 
・Cancelした場合の処理も実装する必要あり
chrome.desktopCapture 
毎度おなじみ画面選択ウィンドウが表示される
以上です

Contenu connexe

Tendances

SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
Yusuke Naka
 

Tendances (16)

ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探るビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
 
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
 
PeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecorderPeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecorder
 
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
2013 WebRTC node
2013 WebRTC node2013 WebRTC node
2013 WebRTC node
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
WebRTCと ORTCについて 整理しておこう
WebRTCとORTCについて整理しておこうWebRTCとORTCについて整理しておこう
WebRTCと ORTCについて 整理しておこう
 
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTC
 
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
 

Similaire à Chrome Extensionで スクリーンシェアをやってみる

いまさら聞けないHTML5概要
いまさら聞けないHTML5概要いまさら聞けないHTML5概要
いまさら聞けないHTML5概要
yoshikawa_t
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説
Masakazu Muraoka
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
Masakazu Muraoka
 
Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
Masakazu Muraoka
 
Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方
Masakazu Muraoka
 

Similaire à Chrome Extensionで スクリーンシェアをやってみる (20)

Thing.jsについて
Thing.jsについてThing.jsについて
Thing.jsについて
 
Chrome apps for mobile 概要
Chrome apps for mobile 概要Chrome apps for mobile 概要
Chrome apps for mobile 概要
 
Html5概要 & デモ
Html5概要 & デモHtml5概要 & デモ
Html5概要 & デモ
 
いまさら聞けないHTML5概要
いまさら聞けないHTML5概要いまさら聞けないHTML5概要
いまさら聞けないHTML5概要
 
TeamsのチャネルとやりとりするWeb Applicationを作ったお話
TeamsのチャネルとやりとりするWeb Applicationを作ったお話TeamsのチャネルとやりとりするWeb Applicationを作ったお話
TeamsのチャネルとやりとりするWeb Applicationを作ったお話
 
Chrome Devtools for beginners (v1.1)
Chrome Devtools for beginners (v1.1)Chrome Devtools for beginners (v1.1)
Chrome Devtools for beginners (v1.1)
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
困った時のDev toolsの使い方(初心者向け)
困った時のDev toolsの使い方(初心者向け)困った時のDev toolsの使い方(初心者向け)
困った時のDev toolsの使い方(初心者向け)
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説
 
Breakouts で Presentation API の 拡張提案したよ
Breakouts でPresentation API の拡張提案したよBreakouts でPresentation API の拡張提案したよ
Breakouts で Presentation API の 拡張提案したよ
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
 
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
 
Swaggerのさわりだけ
SwaggerのさわりだけSwaggerのさわりだけ
Swaggerのさわりだけ
 
Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方
 
Flash airでスマートロック!
Flash airでスマートロック!Flash airでスマートロック!
Flash airでスマートロック!
 
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
 
もっと良くなるHTMLアプリケーション設計と実装
もっと良くなるHTMLアプリケーション設計と実装もっと良くなるHTMLアプリケーション設計と実装
もっと良くなるHTMLアプリケーション設計と実装
 

Plus de Yusuke Naka

Plus de Yusuke Naka (11)

SkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 KickoffSkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 Kickoff
 
SkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 KickoffSkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 Kickoff
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
 
WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発
 
HTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングHTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニング
 
WebRTCハンズオン
WebRTCハンズオンWebRTCハンズオン
WebRTCハンズオン
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 
第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)
 
5jCup WebRTC賞
5jCup WebRTC賞5jCup WebRTC賞
5jCup WebRTC賞
 
SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術
 

Chrome Extensionで スクリーンシェアをやってみる