Last active
July 6, 2025 15:40
-
Star
(155)
You must be signed in to star a gist -
Fork
(4)
You must be signed in to fork a gist
Revisions
-
voluntas revised this gist
Jan 15, 2023 . 1 changed file with 8 additions and 11 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,15 +2,15 @@ 仕事で WebRTC ############# :日時: 2023-01-15 :作: @voluntas :バージョン: 2023.1 :url: https://voluntas.github.io/ この資料は以下の製品の宣伝を含みます。 - `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ - `Sora Cloud <https://sora-cloud.shiguredo.jp/>`_ - `Sora Labo <https://sora-labo.shiguredo.jp>`_ - `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ - `Ayame Labo <https://ayame-labo.shiguredo.jp/>`_ @@ -416,21 +416,20 @@ WebRTC SFU Sora お金を払う用意はある (商用 SFU サービス利用編) ============================================================ Sora Cloud --------------------------- **これは宣伝です** `Sora Cloud <https://tobi.shiguredo.jp>`_ 商用の WebRTC SFU である Sora のクラウド版です。 最大同時接続数 5000 と最大利用帯域 20 Gbps まで利用可能です。 転送量や利用時間といった課金と Sora の運用から解放されるサービスです。 興味のある方はお気軽に Sora Cloud サイト内にあるメールにてお問い合わせください。 広告 ==== @@ -516,5 +515,3 @@ Ayame 完全互換のサービスを時雨堂が提供しています。 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Jul 5, 2022 . No changes.There are no files selected for viewing
-
voluntas revised this gist
Jul 5, 2022 . 1 changed file with 12 additions and 23 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,19 +2,19 @@ 仕事で WebRTC ############# :日時: 2022-07-05 :作: @voluntas :バージョン: 2022.r :url: https://voluntas.github.io/ この資料は以下の製品の宣伝を含みます。 - `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ - `Sora as a Service Tobi <https://tobi.shiguredo.jp/>`_ - `Sora Labo <https://sora-labo.shiguredo.jp>`_ - `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ - `Ayame Labo <https://ayame-labo.shiguredo.jp/>`_ - `OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 @@ -336,24 +336,6 @@ Ayame 完全互換のサービスです。そのため、最初はサービス お勧めは Janus です。様々な機能を持っていますし、たくさんの場所で利用されています。 今 OSS を選択するのであれば Janus が現実的だと思います。 お金を払う用意はある (商用 MCU 利用編) ====================================== @@ -431,12 +413,14 @@ WebRTC SFU Sora - `WebRTC SFU Sora の紹介 <https://gist.github.com/voluntas/5f3cf1049ee2710401e8bc3ecde4613e>`_ - `WebRTC SFU Sora 検討資料 <https://gist.github.com/voluntas/171ac9ee2ea6377586876602a41decff>`_ お金を払う用意はある (商用 SFU サービス利用編) ============================================================ Sora as a Service Tobi --------------------------- **これは宣伝です** `Sora as a Service Tobi <https://tobi.shiguredo.jp>`_ 商用の WebRTC SFU である Sora の SaaS (Software as a Service) 版です。 @@ -447,6 +431,10 @@ Sora as a Service Tobi 興味のある方はお気軽に tobi at shiguredo.jp までお問い合わせください。 広告 ==== WebRTC Native Client Momo ------------------------- @@ -529,3 +517,4 @@ Ayame 完全互換のサービスを時雨堂が提供しています。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Jun 3, 2022 . 1 changed file with 13 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -434,6 +434,19 @@ WebRTC SFU Sora 広告 ==== Sora as a Service Tobi --------------------------- `Sora as a Service Tobi <https://tobi.shiguredo.jp>`_ 商用の WebRTC SFU である Sora の SaaS (Software as a Service) 版です。 最大同時接続数 100 と最大利用帯域 1 Gbps まで利用可能です。 転送量や利用時間といった課金と Sora の運用から解放されるサービスです。 興味のある方はお気軽に tobi at shiguredo.jp までお問い合わせください。 WebRTC Native Client Momo ------------------------- -
voluntas revised this gist
Jul 26, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -208,7 +208,7 @@ Chrome と Firefox と Safari のブラウザの変更履歴に目を凝らし シグナリングサーバの運用をどうするか ------------------------------------ がんばりましょう。シグナリングサーバは WebRTC の仕様としては決められていません。 どんな実装でも問題ありません。基本的には WebSocket と JSON の組み合わせが多いです。 この部分は利用者数を想定する必要があります。基本的に WebRTC を利用する場合はシグナリング用の通信は張りっぱなしにすることが多いです。 -
voluntas revised this gist
Jul 26, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -169,7 +169,7 @@ https://webrtc.org/native-code/native-apis/ データチャネルを使いたい ======================== データチャネルは WebRTC 上で音声や映像以外のデータをやり取りするための仕組みで、 P2P でデータのやり取りをする仕組みとして使われてきました。 P2P でのデータやり取りで使われてきたのはほとんどファイル転送や P2P の仕組みを上手く使った CDN やファイル共有あたりが有名でした。 つまり WebRTC のデータチャネルは今まではあまり使いみちがないというのが現実でした。 -
voluntas revised this gist
Jul 26, 2021 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,9 +2,9 @@ 仕事で WebRTC ############# :日時: 2021-07-25 :作: @voluntas :バージョン: 2021.3 :url: https://voluntas.github.io/ この資料は以下の製品の宣伝を含みます。 @@ -137,7 +137,7 @@ adapter というブラウザの互換性を吸収してくれるライブラリ `webrtcHacks/adapter: Shim to insulate apps from spec changes and prefix differences. Latest adapter.js release: <https://github.com/webrtcHacks/adapter>`_ ただ最近では adapter を使う必要性は殆どなくなってきていますので、1 から書いてみてもいいかもしれません。 トラブルシューティング ====================== -
voluntas revised this gist
Jul 24, 2021 . 1 changed file with 41 additions and 21 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,9 +2,9 @@ 仕事で WebRTC ############# :日時: 2021-07-24 :作: @voluntas :バージョン: 2021.2 :url: https://voluntas.github.io/ この資料は以下の製品の宣伝を含みます。 @@ -50,7 +50,9 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプ これを読む必要はありません。色々試してみましょう。調べてみればいろいろ情報が出てきます。 一番先に読むべきは `はじめに | 好奇心旺盛な人のためのWebRTC <https://webrtcforthecurious.com/ja/>`_ です。 その後は手を動かしていくために `Real time communication with WebRTC <https://codelabs.developers.google.com/codelabs/webrtc-web/#0>`_ を読みながら試していくのがおすすめです。 より深く学びたい場合は `ハイパフォーマンス ブラウザネットワーキング <https://www.oreilly.co.jp/books/9784873116761/>`_ の 18章 WebRTC を読みましょう。 @@ -59,7 +61,9 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプ WebRTC を使う場合、一番最初にはお金を払うか自分たちでがんばるかを決める必要があります。 WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる技術です。 そのため、できる限り繋がる必要があります。ただ、それが繋がらなくてもいい場合だってあります。 おまけ的な機能だったらチャットでカバーできたりもしますし、最終的にはメールや Skype でも良い場合だってあります。 まずはお金を払う用意があるのかどうかを確認しましょう。 @@ -73,7 +77,7 @@ WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる 仕事として MCU を前提として使っていきたい ----------------------------------------- 2021 年時点では WebRTC を利用する場合に MCU を採用することはメリットはありません。 本当に MCU が必要か検討し直してみてください。 仕事として SFU を前提として使っていきたい @@ -95,6 +99,7 @@ Firefox ------- Chrome よりかなり遅れてきています、 **かなり** おすすめできません。 実際に WebRTC API がいくつか実装されていないため、Firefox のみに向けた対応が必要になります。 Edge ---- @@ -104,7 +109,7 @@ Chrome と同等です。 Safari ------ WebRTC を安定して利用できるブラウザです。ただし細かい点で Chrome や Edge に劣ります。 JavaScript クライアント ======================= @@ -117,7 +122,8 @@ WebRTC API はブラウザごとに仕様が異なります。さらにアップ JavaScript ライブラリ選定 ------------------------- 実はこれといったおすすめは特にありません。色々ありますがメンテナンスが終了するタイミングでさてどうしたらいいかとなってしまいます。 簡単に使えるライブラリは隠蔽が多く、あなたのやりたいことが阻害されることが多いです。 おすすめは商用サービスのクライアントが OSS で公開されている場合があるので、それを参考にしてみるのが良いと思います。 @@ -171,12 +177,11 @@ P2P でのデータやり取りで使われてきたのはほとんどファイ ただ、最近ではエッジデバイスでの映像解析が可能になったことにより、映像とともに解析データをリアルタイムに送りたいという要望や、 VR で音声とモーションデータを送りたいといったデータだけではなく音声や映像との組み合わせの需要がでてきました。 お金を払う用意はない (P2P 編) ============================= 無償で提供されているサービス、またはオープンソースを使うということなります。 その場合はいくつかの課題に立ち向かう必要があります。 - 繋がらないときにどうするか - ブラウザのアップデートへの追従をどうするか @@ -203,28 +208,35 @@ Chrome と Firefox と Safari のブラウザの変更履歴に目を凝らし シグナリングサーバの運用をどうするか ------------------------------------ がんばりましょう。シグナリングサーバは WebRTC の仕様は決められていません。 どんな実装でも問題ありません。基本的には WebSocket と JSON の組み合わせが多いです。 この部分は利用者数を想定する必要があります。基本的に WebRTC を利用する場合はシグナリング用の通信は張りっぱなしにすることが多いです。 そのため 1 サーバで同時に張れる量を調べてみるのが良いです。 Golang や Node.js なんでも良いです、好きな言語で作ってもよし。既存のシグナリングサーバ実装を使うもよしです。 ただ、無償で提供されているシグナリングサーバはいつ閉じるのかわかりません。ここは注意しましょう。 STUN/TURN サーバの運用をどうするか ---------------------------------- がんばりましょう。TURN サーバを建てないと 70% 程度しか繫がらないという調査結果があります。 つまり 30% はつながりません。仕事で使う場合はこれは受け入れられないでしょうから、 TURN サーバのノウハウを溜め込んでいきましょう。 ありがたいことに TURN サーバの選択肢は多くありません。最初は信頼と実績の coturn という STUN/TURN サーバを利用してみてください。 https://github.com/coturn/coturn TURN サーバを運用するということはトンネルサーバを提供するということになります。転送量を気にしましょう。 映像や音声はすぐに最大値を利用してきます。WebRTC であれば 2000 kbps とかもザラにつかってきますので、 あっというまに転送量が 1G 行きます。また、TURN サーバが落ちている場合は繫がらないのと同等ですので気をつけてください。 TURN サーバは認証が必須です。Username/Credential はワンタイムで利用できるようにしましょう。 coturn は RDB や Redis といったデータベースと連携できますので、うまく組み合わせていきましょう。 TURN-TCP と TURN-TLS まで対応させてしまえば、 そのポートが潰されて限りは大丈夫なはずです。 たまに MITM やってる FW がありますがそこはまぁあきらめてください。 iOS/Android アプリどうするか ---------------------------- @@ -234,7 +246,8 @@ iOS/Android アプリどうするか - http://webrtc.github.io/webrtc-org/native-code/ios/ - http://webrtc.github.io/webrtc-org/native-code/android/ ビルドして、使えるようになるのがまず一番です。忘れていけませんがこのコードもガンガンバージョンは上がっていきます。 ブラウザだけではなくこれらのコアライブラリにも追従していく必要があります。 React-Native や Flutter を利用するというのも手です。 @@ -290,7 +303,7 @@ Ayame 完全互換のサービスです。そのため、最初はサービス - `meetecho/janus-gateway: Janus WebRTC Gateway <https://github.com/meetecho/janus-gateway>`_ - Twitter の Spaces に利用されています - `versatica/mediasoup: Cutting Edge WebRTC Video Conferencing <https://github.com/versatica/mediasoup>`_ - Pornhub のビデオチャットに利用されています @@ -313,6 +326,12 @@ Ayame 完全互換のサービスです。そのため、最初はサービス - `open-webrtc-toolkit/owt-server: General server (streaming/conference/transcoding/anayltics) for OWT. (A.k.a. MediaServer) <https://github.com/open-webrtc-toolkit/owt-server>`_ - C++/Node.js で書かれた WebRTC SFU です - `pion/ion-sfu: Pure Go WebRTC SFU <https://github.com/pion/ion-sfu>`_ - Go のWebRTC 実装 Pion で書かれた WebRTC SFU です - `LiveKit <https://github.com/livekit>`_ - Go のWebRTC 実装 Pion で書かれた WebRTC SFU である ION をベースにした WebRTC SFU です お勧めは Janus です。様々な機能を持っていますし、たくさんの場所で利用されています。 今 OSS を選択するのであれば Janus が現実的だと思います。 @@ -370,7 +389,7 @@ WebRTC SFU Sora パッケージで提供しますので、自社で運用が可能です。 AWS だろうが GCP だろうが、オンプレだろうがなんでも好きな環境で動かすことができます。 サーバさえあれば起動までは 30 分です。 HTTPS が必須なのでその準備が必要ですがそれさえ対応できればすぐ確認可能です。 - 大変多くのお客様に採用いただいております @@ -496,3 +515,4 @@ Ayame 完全互換のサービスを時雨堂が提供しています。 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Jan 28, 2021 . 1 changed file with 39 additions and 74 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,9 +2,9 @@ 仕事で WebRTC ############# :日時: 2021-01-28 :作: @voluntas :バージョン: 2021.1 :url: https://voluntas.github.io/ この資料は以下の製品の宣伝を含みます。 @@ -36,8 +36,9 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプ ==== - この資料は宣伝です - この資料では他社の商用製品については扱いません - この資料では具体的に JavaScript をどう書くべきかという話などは扱いません - この資料では具体的な WebRTC の仕様については扱いません 判断 ==== @@ -93,7 +94,7 @@ Chrome Firefox ------- Chrome よりかなり遅れてきています、 **かなり** おすすめできません。 Edge ---- @@ -162,8 +163,10 @@ https://webrtc.org/native-code/native-apis/ データチャネルを使いたい ======================== データチャネルは WebRTC 上で音声や映像以外にやり取りするための仕組みで、 P2P でデータのやり取りをする仕組みとして使われてきました。 P2P でのデータやり取りで使われてきたのはほとんどファイル転送や P2P の仕組みを上手く使った CDN やファイル共有あたりが有名でした。 つまり WebRTC のデータチャネルは今まではあまり使いみちがないというのが現実でした。 ただ、最近ではエッジデバイスでの映像解析が可能になったことにより、映像とともに解析データをリアルタイムに送りたいという要望や、 VR で音声とモーションデータを送りたいといったデータだけではなく音声や映像との組み合わせの需要がでてきました。 @@ -267,17 +270,16 @@ Web SDK や SDK のサンプルもあります。 React を利用したサンプ - `OpenAyame/ayame-web-sdk: Ayame Web SDK <https://github.com/OpenAyame/ayame-web-sdk>`_ - `OpenAyame/ayame-web-sdk-samples: Ayame Web SDK サンプル <https://github.com/OpenAyame/ayame-web-sdk-samples>`_ WebRTC シグナリングサービス Ayame Labo -------------------------------------- **これは宣伝です** Ayame Labo は Ayame と完全互換なサービスとして提供し、 さらにルーム認証や STUN/TURN サーバを提供している **無料** で利用可能なサービスです。 `Ayame Labo <https://ayame-labo.shiguredo.jp/>`_ Ayame 完全互換のサービスです。そのため、最初はサービスを利用していたが、自社で運用するといった切り替えが可能です。 @@ -318,47 +320,8 @@ Ayame 完全互換のサービスです。そのため、最初はサービス お金を払う用意はある (商用サービス利用編) ========================================== 商用サービスは接続時間での従量課金制が前提となります。 色々なサービスがあるので探してみてください。 ImageFlux Live Streaming ------------------------ @@ -375,7 +338,12 @@ WebRTC SFU の運用をさくらインターネットに丸投げすることが お金を払う用意はある (商用 MCU 利用編) ====================================== 大規模なうえに MCU が必須で自社運用を考えるのであれば、自分が知っている範囲であれば今のところ一つです。 ちなみに SFU 機能も持っています。まずは代理店を探してみると良いでしょう。 ただ、現時点では商用 MCU を選択するメリットは少なくなってきています。 Zoom や Google Meet 、MS Teams など多くのサービスが SFU を採用しています。 お金を払う用意はある (商用コールセンター編) =========================================== @@ -447,26 +415,6 @@ WebRTC SFU Sora 広告 ==== WebRTC Native Client Momo ------------------------- @@ -506,6 +454,24 @@ GitHub にオープンソースで公開している WebRTC のシグナリン - `OpenAyame/ayame-react-native-sample: Ayame React Native サンプル <https://github.com/OpenAyame/ayame-react-native-sample>`_ - Chrome / Firefox / Safari / Edge 最新版に対応 Sora Labo ------------------------------------- `Sora Labo <https://sora-labo.shiguredo.jp/>`_ Sora を時雨堂がサービスとして提供しています。 - 無料で使えます - 商用目的では使えません - 法人、アカデミックでの利用は申請必須です - GitHub アカウントを持っていればすぐに利用できます - TURN の UDP / TCP / TLS を提供します - チャネルに認証をかけられます - シグナリングキーを提供します - 同時接続数制限があります - 認証ログを確認できます - 統計情報を確認できます Ayame Labo -------------------------------------- @@ -530,4 +496,3 @@ Ayame 完全互換のサービスを時雨堂が提供しています。 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Oct 31, 2020 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -509,7 +509,7 @@ GitHub にオープンソースで公開している WebRTC のシグナリン Ayame Labo -------------------------------------- `Ayame Labo <https://ayame-labo.shiguredo.jp/>`_ Ayame 完全互換のサービスを時雨堂が提供しています。 -
voluntas revised this gist
Oct 31, 2020 . 1 changed file with 23 additions and 21 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -395,8 +395,8 @@ WebRTC SFU Sora `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ 商用の WebRTC SFU です。価格は同時 100 接続でライセンス費用は年間 84 万円です。 3 ヶ月ライセンスも用意してあります。製品のサポート料金込みです。 複数人数での会議や、 数百人への配信、一対一の面談など様々な用途に利用可能です。 @@ -447,6 +447,26 @@ WebRTC SFU Sora 広告 ==== Sora Labo ------------------------------------- `Sora Labo <https://sora-labo.shiguredo.jp/>`_ Sora を時雨堂がサービスとして提供しています。 - 無料で使えます - 商用目的では使えません - 法人、アカデミックでの利用は申請必須です - GitHub アカウントを持っていればすぐに利用できます - TURN の UDP / TCP / TLS を提供します - チャネルに認証をかけられます - シグナリングキーを提供します - 同時接続数制限があります - 認証ログを確認できます - 統計情報を確認できます WebRTC Native Client Momo ------------------------- @@ -504,28 +524,10 @@ Ayame 完全互換のサービスを時雨堂が提供しています。 - シグナリングキーを提供します - 認証ログを確認できます おまけ ===== 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Oct 31, 2020 . 1 changed file with 12 additions and 17 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -10,10 +10,10 @@ この資料は以下の製品の宣伝を含みます。 - `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ - `Sora Labo <https://sora-labo.shiguredo.jp>`_ - `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ - `Ayame Labo <https://ayame-labo.shiguredo.jp/>`_ - `OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ - `ImageFlux Live Streaming <https://www.sakura.ad.jp/services/imageflux/livestreaming/>`_ もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 @@ -274,16 +274,14 @@ WebRTC シグナリングサービス Ayame Lite **これは宣伝です** Ayame Labo は Ayame をサービスとして提供し、 さらにルーム認証や STUN/TURN サーバを提供している **無料** で利用可能なサービスです。 `Ayame Lite <https://ayame-labo.shiguredo.jp/>`_ Ayame 完全互換のサービスです。そのため、最初はサービスを利用していたが、自社で運用するといった切り替えが可能です。 `Ayame Labo ドキュメント <https://github.com/shiguredo/ayame-labo-doc>`_ お金を払う用意はない (OSS SFU/MCU 編) ====================================== @@ -488,30 +486,28 @@ GitHub にオープンソースで公開している WebRTC のシグナリン - `OpenAyame/ayame-react-native-sample: Ayame React Native サンプル <https://github.com/OpenAyame/ayame-react-native-sample>`_ - Chrome / Firefox / Safari / Edge 最新版に対応 Ayame Labo -------------------------------------- `Ayame Labo <https://ayame-labo.shiguredo.jp/beta>`_ Ayame 完全互換のサービスを時雨堂が提供しています。 - 無料で使えます - サインアップしないでも使えます - ただし STUN/TURN や認証機能などは利用できません - GitHub アカウントを持っていればすぐに利用できます - TURN の UDP / TCP / TLS を提供します - ルームに認証をかけられます - シグナリングキーを提供します - 認証ログを確認できます Sora Labo ------------------------------------- `Sora Labo <https://sora-labo.shiguredo.jp/>`_ Sora を時雨堂がサービスとして提供しています。 @@ -533,4 +529,3 @@ Sora を時雨堂がサービスとして提供しています。 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Oct 3, 2020 . 1 changed file with 1 addition and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,7 +4,7 @@ :日時: 2020-10-04 :作: @voluntas :バージョン: 2020.7 :url: https://voluntas.github.io/ この資料は以下の製品の宣伝を含みます。 @@ -317,8 +317,6 @@ Ayame 自体には一切手を入れていません。そのため、最初は お勧めは Janus です。様々な機能を持っていますし、たくさんの場所で利用されています。 今 OSS を選択するのであれば Janus が現実的だと思います。 お金を払う用意はある (商用サービス利用編) ========================================== @@ -466,8 +464,6 @@ GitHub にオープンソースで公開している WebRTC のネイティブ - `Jetson Nano <https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/>`_ ではハードウェアエンコーダを利用することで 4K@30 で配信可能です - macOS でもハードウェアエンコーダを利用して動作します - SDL (Simple DyanmicMedia Layer) を利用することで受信した音声と映像を表示する機能を持っています WebRTC Signaling Server Ayame ----------------------------- -
voluntas revised this gist
Oct 3, 2020 . 1 changed file with 4 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,7 +4,7 @@ :日時: 2020-10-04 :作: @voluntas :バージョン: 2020.6 :url: https://voluntas.github.io/ この資料は以下の製品の宣伝を含みます。 @@ -65,17 +65,15 @@ WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる 仕事として P2P を前提として使っていきたい ----------------------------------------- **1 対 1 までであれば P2P で問題ないでしょう、3 人以上になった時点で SFU を検討するべきです** まずは是非 `WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ の利用を検討してみてください。かんたんに利用できます。 仕事として MCU を前提として使っていきたい ----------------------------------------- 2020 年時点では MCU は WebRTC としてはほぼ選択肢とはありません。 本当に MCU が必要か検討し直してみてください。 仕事として SFU を前提として使っていきたい ------------------------------------------ -
voluntas revised this gist
Oct 3, 2020 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,7 +13,7 @@ - `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ - `OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ - `Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ - `Sora Labo <https://sora-labo.shiguredo.jp>`_ - `ImageFlux Live Streaming <https://www.sakura.ad.jp/services/imageflux/livestreaming/>`_ もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 -
voluntas revised this gist
Oct 3, 2020 . 1 changed file with 79 additions and 52 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,12 +2,19 @@ 仕事で WebRTC ############# :日時: 2020-10-04 :作: @voluntas :バージョン: 2020.4 :url: https://voluntas.github.io/ この資料は以下の製品の宣伝を含みます。 - `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ - `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ - `OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ - `Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ - `Sora Labo <https://sora-labo.shiguredo.jp`_ - `ImageFlux Live Streaming <https://www.sakura.ad.jp/services/imageflux/livestreaming/>`_ もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 @@ -16,23 +23,21 @@ 概要 ==== WebRTC を調べると、便利なライブラリを使った P2P のサンプルで終わることが多く、 実際にビジネスレベルでの運用を考える時の情報が少なすぎるのが問題だと考えています。 また WebRTC はブラウザのアップデートに伴い仕様が変わる場合があり、過去の資料では動かないこともあります。 2020 年現在では Chrome 、Firefox、 Safari、 Edge と主要なブラウザすべてで WebRTC は動作します。 この資料では WebRTC を仕事で利用する場合、何をしたいのか、 やりたいことをするには何をすればいいのかを、選ぶお手伝いができればと考えています。 注意 ==== - この資料は宣伝です - この資料では具体的に JavaScript をどう書くべきかという話などは扱っていません - この資料では具体的な WebRTC の仕様については触れていません 判断 ==== @@ -60,7 +65,7 @@ WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる 仕事として P2P を前提として使っていきたい ----------------------------------------- **1 対 1 までであれば P2P で問題ないでしょう、 3 以上になった時点で MCU か SFU を検討するべきです** まずは是非 `WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ の利用を検討してみてください。かんたんに利用できます。 @@ -69,16 +74,13 @@ WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる MCU が必要ということは会議システムがメインでしょうか。MCU はそもそも会議システムの世界で生まれた技術ですのでそちらの代理店を色々探して見るのが良いです。 MCU は 1 部屋 1 コアを利用するくらいの CPU リソースを持っていくシステムです。 その部分を考慮すると良いです。もちろん OSS もあるので、それも検討するのが良いでしょう。 仕事として SFU を前提として使っていきたい ------------------------------------------ OSS でがんばるか、商用のサービスかパッケージを利用するかを選ぶ必要があります。 ブラウザ対応状況 ================ @@ -125,12 +127,12 @@ WebRTC adapter ブラウザの互換性を一番に考慮することになります。 そのため既存の便利ライブラリを覚えるのではなく、 adapter というブラウザの互換性を吸収してくれるライブラリを使うことを検討しても良いかもしれません。 `webrtcHacks/adapter: Shim to insulate apps from spec changes and prefix differences. Latest adapter.js release: <https://github.com/webrtcHacks/adapter>`_ ただ最近では adapter を使うこと必要性は殆どなくなってきていますので、1 から書いてみてもいいかもしれません。 トラブルシューティング ====================== @@ -228,17 +230,24 @@ iOS/Android アプリどうするか がんばりましょう。まずは https://webrtc.org/ を眺めてみることをお勧めします。 - http://webrtc.github.io/webrtc-org/native-code/ios/ - http://webrtc.github.io/webrtc-org/native-code/android/ ビルドして、使えるようになるのがまず一番です。忘れていけませんがこのコードもガンガンバージョンは上がっていきます。ブラウザだけではなくこれらのコアライブラリにも追従していく必要があります。 React-Native や Flutter を利用するというのも手です。 - `The WebRTC module for React Native <https://github.com/react-native-webrtc/react-native-webrtc>`_ - `React Native 用 WebRTC ライブラリ <https://github.com/react-native-webrtc-kit/react-native-webrtc-kit>`_ - **これは宣伝です** - 時雨堂が開発しメンテナンスしている React Native 向け WebRTC ライブラリです - `WebRTC plugin for Flutter Mobile/Desktop/Web <https://github.com/flutter-webrtc/flutter-webrtc>`_ 以下は時雨堂がメンテナンスしている様々な環境向けの libwebrtc ビルドで、 iOS/Android 向けのビルドも含んでいます。 https://github.com/shiguredo-webrtc-build/webrtc-build WebRTC Signaling Server Ayame ----------------------------- @@ -248,24 +257,19 @@ WebRTC Signaling Server Ayame `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ Ayame は WebRTC SFU を1から開発している時雨堂が、 オープンソースとして公開している WebRTC を P2P で利用する際に必要となるシグナリングサーバです。 成果は Apache License 2.0 としてオープンソースで公開しています。 `OpenAyame/ayame: WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ Go で書かれており、 1:1 の利用に限定することでかなりシンプルに作られています。 Web SDK や SDK のサンプルもあります。 React を利用したサンプルも用意しています。 - `OpenAyame/ayame-web-sdk: Ayame Web SDK <https://github.com/OpenAyame/ayame-web-sdk>`_ - `OpenAyame/ayame-web-sdk-samples: Ayame Web SDK サンプル <https://github.com/OpenAyame/ayame-web-sdk-samples>`_ - `OpenAyame/ayame-react-sample: Ayame React サンプル <https://github.com/OpenAyame/ayame-react-sample>`_ WebRTC シグナリングサービス Ayame Lite -------------------------------------- @@ -315,31 +319,52 @@ Ayame 自体には一切手を入れていません。そのため、最初は お勧めは Janus です。様々な機能を持っていますし、たくさんの場所で利用されています。 今 OSS を選択するのであれば Janus が現実的だと思います。 お金を払う用意はある (商用サービス利用編) ========================================== 商用サービスは接続時間での従量課金制がほとんどです。色々なサービスがあるので探してみてください。 Twilio -------------------------- **海外のサービスですが国内法人があります** :URL: https://www.twilio.com/ - 転送量制限がある無料プランがあります - 従量課金制です Vontage -------------------------- **海外のサービスです** :URL: https://www.vonage.com/communications-apis/ - 無料プランはありません - 従量課金制です Agora -------------------------- **海外のサービスですが国内に代理店があります** :URL: https://www.agora.io/ - 無料プランはありません - 従量課金制です SkyWay -------------------------- **国内のサービスです** :URL: https://webrtc.ecl.ntt.com/ - 転送量制限がある無料プランがあります - 従量課金制です ImageFlux Live Streaming ------------------------ @@ -350,7 +375,8 @@ ImageFlux Live Streaming WebRTC と HLS の配信に対応した商用サービスです。WebRTC 部分には時雨堂の WebRTC SFU を利用しています。 WebRTC SFU を利用したいが、運用がめんどくさいという方に向いています。 WebRTC SFU の運用をさくらインターネットに丸投げすることが可能です。 お金を払う用意はある (商用 MCU 利用編) ====================================== @@ -361,7 +387,7 @@ WebRTC SFU を利用したいが、運用がめんどくさいという方に向 =========================================== WebRTC とコールセンターで検索するといくつか出てきます。大規模すぎて自前で何かという世界ではありません。 WebRTC 1% それ以外 99% の世界ですので、まずはこの資料を読む前にもっと調べることがあるはずです。 コールセンターの仕組みは複雑です、それを踏まえてください。 @@ -513,3 +539,4 @@ Sora を時雨堂がサービスとして提供しています。 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
May 8, 2020 . 1 changed file with 22 additions and 22 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,12 +2,12 @@ 仕事で WebRTC ############# :日時: 2020-05-08 :作: @voluntas :バージョン: 2020.3 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ 、`OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ 、`OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ 、そして `ImageFlux Live Streaming <https://www.sakura.ad.jp/services/imageflux/livestreaming/>`_ の宣伝記事です。 もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 @@ -22,7 +22,7 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプ 最近では Chrome と Firefox に加え、 Edge が対応し、そして 2017 年秋には Safari が対応しました。 ちなみに、これら 4 つのブラウザは最悪なことに WebRTC の仕様がそれぞれ動作が異なります。 また、 2020 年末には Flash が終了し、 Chrome M76 からはデフォルト無効になっています。 既存の Flash で実現していた機能を WebRTC や HLS/MPEG-DASH に切り替えていく必要がります。 この資料では WebRTC を仕事で利用する場合、何をしたいのか、 @@ -46,19 +46,21 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプ まず勉強したいのであれば `Real time communication with WebRTC <https://codelabs.developers.google.com/codelabs/webrtc-web/#0>`_ を読みながら試していくのがおすすめです。 より深く学びたい場合は `ハイパフォーマンス ブラウザネットワーキング <https://www.oreilly.co.jp/books/9784873116761/>`_ の 18章 WebRTC を読みましょう。 仕事で使いたい -------------- WebRTC を使う場合、一番最初にはお金を払うか自分たちでがんばるかを決める必要があります。 WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる技術です。そのため、できる限り繋がる必要があります。ただ、それが繋がらなくてもいい場合だってあります。おまけ的な機能だったらチャットでカバーできたりもしますし、最終的にはメールや Skype でも良い場合だってあります。 まずはお金を払う用意があるのかどうかを確認しましょう。 仕事として P2P を前提として使っていきたい ----------------------------------------- **1:1 までの会議であれば P2P で問題ないでしょう、 3 人になった時点で MCU か SFU を検討するべきです** まずは是非 `WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ の利用を検討してみてください。かんたんに利用できます。 @@ -75,7 +77,8 @@ MCU は 1 部屋 1 コアを利用するくらいの CPU リソースを持っ サービスを利用するか、OSS でがんばるか、商用を利用するかの二択をまず選びます。 もちろんどちらかを選択して、辛くなったので切り替えるというのでも構わないと思います。 最初から SFU を選択できるのであればある程度 WebRTC への理解があると思いますので、 まずは P2P を検討するもありです。 ブラウザ対応状況 ================ @@ -95,15 +98,12 @@ Chrome よりかなり遅れてきています、あまりおすすめできま Edge ---- Chrome と同等です。 Safari ------ WebRTC を安定して利用できるブラウザです。かなり進化してきています。 JavaScript クライアント ======================= @@ -124,6 +124,7 @@ WebRTC adapter -------------- ブラウザの互換性を一番に考慮することになります。 そのためおすすめなのが既存の便利ライブラリを覚えるのではなく、 adapter というブラウザの互換性を吸収してくれるライブラリを使うことを検討しましょう。 `webrtcHacks/adapter: Shim to insulate apps from spec changes and prefix differences. Latest adapter.js release: <https://github.com/webrtcHacks/adapter>`_ @@ -287,15 +288,17 @@ Ayame 自体には一切手を入れていません。そのため、最初は - `meetecho/janus-gateway: Janus WebRTC Gateway <https://github.com/meetecho/janus-gateway>`_ - MS の配信サービス `Mixer | Interactive Livestreaming <https://mixer.com/>`_ などに利用されています - `versatica/mediasoup: Cutting Edge WebRTC Video Conferencing <https://github.com/versatica/mediasoup>`_ - Pornhub のビデオチャットに利用されています - https://news.ycombinator.com/item?id=22767929 - C++/Node.js で書かれた WebRTC SFU です - DataChannel に対応しています - `Jitsi <https://github.com/jitsi>`_ - `Atlassian <https://ja.atlassian.com/>`_ が買収しましたが、 8x8 に売却されました - `Kurento <https://github.com/kurento>`_ - `twilio <https://www.twilio.com/>`_ が買収しました @@ -305,6 +308,9 @@ Ayame 自体には一切手を入れていません。そのため、最初は - `medooze/media-server: WebRTC Media Server <https://github.com/medooze/media-server>`_ - C++ で書かれた MCU/SFU です - `open-webrtc-toolkit/owt-server: General server (streaming/conference/transcoding/anayltics) for OWT. (A.k.a. MediaServer) <https://github.com/open-webrtc-toolkit/owt-server>`_ - C++/Node.js で書かれた WebRTC SFU です お勧めは Janus です。様々な機能を持っていますし、たくさんの場所で利用されています。 今 OSS を選択するのであれば Janus が現実的だと思います。 @@ -501,15 +507,9 @@ Sora を時雨堂がサービスとして提供しています。 - 認証ログを確認できます - 統計情報を確認できます おまけ ===== 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Feb 11, 2020 . 1 changed file with 15 additions and 39 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,12 +2,12 @@ 仕事で WebRTC ############# :日時: 2020-02-11 :作: @voluntas :バージョン: 2020.1 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `WebRTC シグナリングサービス Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ 、`OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ 、`OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ 、そして `ImageFlux Live Streaming <https://www.sakura.ad.jp/services/imageflux/livestreaming/>`_ の宣伝記事です。 もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 @@ -90,7 +90,7 @@ Chrome Firefox ------- Chrome よりかなり遅れてきています、あまりおすすめできません。 Edge ---- @@ -100,11 +100,10 @@ Edge 既存の Edge は仕様がクローズドで、さらにソースがクローズドで、アップデートが不明確なため対応していると言っても現時点では採用はお勧めしません。 さらにデータチャネルに対応していません。 Safari ------ WebRTC を安定して利用できるブラウザです。ただし iOS 版はまだ色々な機能が足りていません。 JavaScript クライアント ======================= @@ -334,42 +333,18 @@ Ayame 自体には一切手を入れていません。そのため、最初は お金を払う用意はある (商用サービス利用編) ========================================== 商用サービスは接続時間での従量課金制がほとんどです。色々なサービスがあるので探してみてください。 ImageFlux Live Streaming ------------------------ **これは宣伝です** `ライブ配信サービス ImageFlux Live Streaming|さくらインターネット <https://www.sakura.ad.jp/services/imageflux/livestreaming/>`_ WebRTC と HLS の配信に対応した商用サービスです。WebRTC 部分には時雨堂の WebRTC SFU を利用しています。 WebRTC SFU を利用したいが、運用がめんどくさいという方に向いています。WebRTC SFU の運用をさくらインターネットに丸投げすることが可能です。 お金を払う用意はある (商用 MCU 利用編) ====================================== @@ -387,11 +362,11 @@ WebRTC 1% それ以外 99% の世界ですので、まずはこの記事を読 お金を払う用意はある (商用 SFU 利用編) ====================================== WebRTC SFU Sora --------------- **これは宣伝です** `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ 商用の WebRTC SFU です。価格は同時 100 接続で年間利用料ライセンス 60 万円です。 @@ -537,3 +512,4 @@ Sora を時雨堂がサービスとして提供しています。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Nov 24, 2019 . 1 changed file with 6 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -507,18 +507,16 @@ Ayame を時雨堂がサービスとして提供しています。 - シグナリングキーを提供します - 認証ログを確認できます WebRTC SFU Testing Service Sora Labo ------------------------------------- `WebRTC SFU Testing Service Sora Labo <https://sora-labo.shiguredo.jp/>`_ Sora を時雨堂がサービスとして提供しています。 - 無料で使えます - 商用目的では使えません - 法人、アカデミックでの利用は申請必須です - GitHub アカウントを持っていればすぐに利用できます - TURN の UDP / TCP / TLS を提供します - チャネルに認証をかけられます @@ -529,6 +527,8 @@ Sora を時雨堂がサービスとして提供しています。 - 統計情報を確認できます おまけ ===== -
voluntas revised this gist
Nov 3, 2019 . 1 changed file with 95 additions and 12 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,9 +2,9 @@ 仕事で WebRTC ############# :日時: 2019-11-03 :作: @voluntas :バージョン: 19.11.0 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `WebRTC シグナリングサービス Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ 、`OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ 、`OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ の宣伝記事です。 @@ -389,15 +389,19 @@ WebRTC 1% それ以外 99% の世界ですので、まずはこの記事を読 **これは宣伝記事です** WebRTC SFU Sora --------------- `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ 商用の WebRTC SFU です。価格は同時 100 接続で年間利用料ライセンス 60 万円です。 毎年かかります。製品のサポート料金込みです。200 接続だと年間 120 万円です。 複数人数での会議や、 数百人への配信、一対一の面談など様々な用途に利用可能です。 パッケージで提供しますので、自社で運用が可能です。 AWS だろうが GCP だろうが、オンプレだろうがなんでも好きな環境で動かすことができます。 サーバさえあれば起動までは 10 分です。 HTTPS が必須なのでその準備が必要ですがそれさえ対応できればすぐ確認可能です。 - 大変多くのお客様に採用いただいております @@ -413,14 +417,15 @@ WebRTC 1% それ以外 99% の世界ですので、まずはこの記事を読 - 1:1 の双方向に対応しています - 1:1000 の片方向に対応しています - 3:1000 といった配信者が複数の片方向にも対応しています - スポットライトという機能を利用することで 200 人以上の会議に対応しています - 録画機能があります - Chrome / Firefox / Edge / Safari といった主要ブラウザ全てに対応しています - Apache 2.0 ライセンスで JavaScript と iOS と Android 、Unity のクライアント SDK を公開しています - https://github.com/shiguredo/sora-js-sdk - https://github.com/shiguredo/sora-ios-sdk - https://github.com/shiguredo/sora-android-sdk - https://github.com/shiguredo/sora-unity-sdk - Apache 2.0 ライセンスで React Native 向け WebRTC ライブラリを公開しています - https://github.com/shiguredo/react-native-webrtc-kit @@ -431,21 +436,98 @@ WebRTC 1% それ以外 99% の世界ですので、まずはこの記事を読 - 認証や、クライアントの接続切断などもすべて HTTP での通知を既存のシステムに送ることができます 興味のある方はお気軽に sora at shiguredo.jp までお問い合わせください。 紹介や検討資料も公開しております。 - `WebRTC SFU Sora の紹介 <https://gist.github.com/voluntas/5f3cf1049ee2710401e8bc3ecde4613e>`_ - `WebRTC SFU Sora 検討資料 <https://gist.github.com/voluntas/171ac9ee2ea6377586876602a41decff>`_ 広告 ==== WebRTC Native Client Momo ------------------------- `WebRTC Native Client Momo <https://github.com/shiguredo/momo>`_ GitHub にオープンソースで公開している WebRTC のネイティブクライアントです。 Linux と macOS と Windows で動作します。 - `OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ - ライセンスは Apache License 2.0 です - 多くの端末のハードウェアエンコーダに対応しています - Raspberry Pi Zero という非力デバイスでも H.264 ハードウェアエンコーダを利用し 720p@30 で配信可能です - `Jetson Nano <https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/>`_ ではハードウェアエンコーダを利用することで 4K@30 で配信可能です - macOS でもハードウェアエンコーダを利用して動作します - SDL (Simple DyanmicMedia Layer) を利用することで受信した音声と映像を表示する機能を持っています - ROS に対応しているため、ROS から気軽に利用可能です - 有償ビルドツールを利用すれば Windows でも利用可能です WebRTC Signaling Server Ayame ----------------------------- `WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ GitHub にオープンソースで公開している WebRTC のシグナリングサーバです。 Linux と macOS と Windows で動作します。 - `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ - ライセンスは Apache License 2.0 です - 1:1 に特化させることでシンプルを保っています - 認証 / 認可の仕組みをウェブフックで実現しています - TURN の URL と Username / Credential 払い出しに対応しています - Apache 2.0 ライセンスで Web と Android の SDK を公開しています - iOS や Unity 対応も今後予定しています - `OpenAyame/ayame-web-sdk: Ayame Web SDK <https://github.com/OpenAyame/ayame-web-sdk>`_ - `OpenAyame/ayame-android-sdk: Ayame Android SDK <https://github.com/OpenAyame/ayame-android-sdk>`_ - React や React Native を利用したサンプルを公開しています - `OpenAyame/ayame-react-sample: Ayame React サンプル <https://github.com/OpenAyame/ayame-react-sample>`_ - `OpenAyame/ayame-react-native-sample: Ayame React Native サンプル <https://github.com/OpenAyame/ayame-react-native-sample>`_ - Chrome / Firefox / Safari / Edge 最新版に対応 WebRTC シグナリングサービス Ayame Lite -------------------------------------- **このサービスはオープンベータテスト中です** `WebRTC シグナリングサービス Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ Ayame を時雨堂がサービスとして提供しています。 - 無料で使えます - サインアップしないでも使えます - ただし TURN や認証機能などは利用できません - GitHub アカウントを持っていればすぐに利用できます - TURN の UDP / TCP / TLS を提供します - ルームに認証をかけられます - シグナリングキーを提供します - 認証ログを確認できます WebRTC SFU サービス Sora Lite --------------------------------- **このサービスはオープンベータテスト中です** `WebRTC SFU サービス Sora Lite <https://sora-lite.shiguredo.jp/beta>`_ Sora を時雨堂がサービスとして提供しています。 - 無料で使えます - 商用目的では使えません - 法人、アカデミック、サービスでの利用は申請必須です - GitHub アカウントを持っていればすぐに利用できます - TURN の UDP / TCP / TLS を提供します - チャネルに認証をかけられます - シグナリングキーを提供します - 同時接続数制限があります - 認証ログを確認できます - 統計情報を確認できます おまけ ===== @@ -454,3 +536,4 @@ WebRTC クライアントをラズベリーパイゼロなどで動かせるよ `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Oct 17, 2019 . 1 changed file with 35 additions and 36 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,9 +2,9 @@ 仕事で WebRTC ############# :日時: 2019-10-17 :作: @voluntas :バージョン: 19.10.0 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `WebRTC シグナリングサービス Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ 、`OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ 、`OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ の宣伝記事です。 @@ -25,7 +25,8 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプ また、 2020 年には Flash が終了し、 Chrome M76 からはデフォルト無効になっています。 既存の Flash で実現していた機能を WebRTC や HLS/MPEG-DASH に切り替えていく必要がります。 この資料では WebRTC を仕事で利用する場合、何をしたいのか、 やりたいことをするには何をすればいいのかを、選ぶお手伝いができればと考えています。 注意 ==== @@ -48,7 +49,7 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプ 仕事で使いたい -------------- WebRTC を使う場合、一番最初にはお金を払うか自分たちでがんばるかを決める必要があります。 WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる技術です。そのため、できる限り繋がる必要があります。ただ、それが繋がらなくてもいい場合だってあります。おまけ的な機能だったらチャットでカバーできたりもしますし、最終的にはメールや Skype でも良い場合だってあります。 @@ -59,7 +60,7 @@ WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる **1:1 までの会議であれば P2P で問題ないでしょう、 3 人になった時点で SFU を検討するべきです** まずは是非 `WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ の利用を検討してみてください。かんたんに利用できます。 仕事として MCU を前提として使っていきたい ----------------------------------------- @@ -89,23 +90,21 @@ Chrome Firefox ------- Chrome より少し遅れてきています、あまりおすすめできません。 Edge ---- 新しい Chromium ベースの Edge はほぼ Chrome と同じため、推奨ブラウザといって問題ないです。 既存の Edge は仕様がクローズドで、さらにソースがクローズドで、アップデートが不明確なため対応していると言っても現時点では採用はお勧めしません。 さらにデータチャネルに対応していません。 Safari ------ WebRTC を安定して利用できるブラウザです。 JavaScript クライアント ======================= @@ -120,7 +119,7 @@ JavaScript ライブラリ選定 実はこれといったおすすめは特にありません。色々ありますがメンテナンスが終了するタイミングでさてどうしたらいいかとなってしまいます。簡単に使えるライブラリは隠蔽が多く、あなたのやりたいことが阻害されることが多いです。 おすすめは商用サービスのクライアントが OSS で公開されている場合があるので、それを参考にしてみるのが良いと思います。 WebRTC adapter -------------- @@ -130,15 +129,15 @@ WebRTC adapter `webrtcHacks/adapter: Shim to insulate apps from spec changes and prefix differences. Latest adapter.js release: <https://github.com/webrtcHacks/adapter>`_ adapter は世界中に WebRTC を利用している人たちの苦労が集まっています。 まずはここから始めて、なれてきたら自前で作っていくが良いと思います。 トラブルシューティング ====================== あまりにいろいろな要因があるため、対応が難しく、ノウハウが重要になります。 まず、一番最初にすることは webrtc.org が提供してくれている test.webrtc.org に接続してもらう事です。 https://test.webrtc.org/ @@ -261,17 +260,22 @@ Web SDK や SDK のサンプルもあります。 React を利用したサンプ - `OpenAyame/ayame-web-sdk: Ayame Web SDK <https://github.com/OpenAyame/ayame-web-sdk>`_ - `OpenAyame/ayame-web-sdk-samples: Ayame Web SDK サンプル <https://github.com/OpenAyame/ayame-web-sdk-samples>`_ - `OpenAyame/ayame-react-sample: Ayame React サンプル <https://github.com/OpenAyame/ayame-react-sample>`_ - `OpenAyame/ayame-android-sdk: Ayame Android SDK <https://github.com/OpenAyame/ayame-android-sdk>`_ - `OpenAyame/ayame-android-sdk-samples: Ayame Android SDK サンプル <https://github.com/OpenAyame/ayame-android-sdk-samples>`_ - `OpenAyame/ayame-react-native-sample: Ayame React Native サンプル <https://github.com/OpenAyame/ayame-react-native-sample>`_ ただし 2019 年 10 月現在 iOS SDK はありません。絶賛開発予定です。 WebRTC シグナリングサービス Ayame Lite -------------------------------------- **これは宣伝です** Ayame Lite は Ayame をサービスとして提供し、 さらにルーム認証や STUN/TURN サーバを提供している **無料** で利用可能なサービスです。 `Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ Ayame 自体には一切手を入れていません。そのため、最初はサービスを利用していたが、自社で運用するといった切り替えが可能です。 @@ -288,7 +292,7 @@ Ayame 自体には一切手を入れていません。そのため、最初は - Beam は `Mixer | Interactive Livestreaming <https://mixer.com/>`_ と名前が変わりました - `versatica/mediasoup: Cutting Edge WebRTC Video Conferencing <https://github.com/versatica/mediasoup>`_ - C++/Node.js で書かれた WebRTC SFU です - DataChannel にも対応しました - `Jitsi <https://github.com/jitsi>`_ @@ -324,39 +328,34 @@ Ayame 自体には一切手を入れていません。そのため、最初は `Analytics for WebRTC — callstats.io <https://www.callstats.io/>`_ さて、ここで少し気づいて貰う必要があります。 お金を払おうがお金を払わまいが WebRTC の知識は必要になるということです。結局勉強する必要があります。 お金を払う用意はある (商用サービス利用編) ========================================== 商用サービスは接続時間での従量課金制がほとんどです。 TokBox ------ `OpenTok | WebRTC Platform for Video, Voice and Messaging from TokBox <https://tokbox.com/>`_ 一通りの機能は揃っていますが、とても高額なのとサーバが日本にはありません。この辺りは要注意です。サポートもすべて英語になります。 Twilio ------ `Announcing Programmable Video Group Rooms: More Participants, Video Recording, and Pricing for Scale <https://www.twilio.com/blog/2017/05/announcing-programmable-video-group-rooms.html>`_ 日本だと KDDI が提供したが、日本法人ができたもようです。 `Twilio for KDDI Web Communications | コミュニケーションAPI <https://twilio.kddi-web.com/>`_ Agora.io -------- `Agora.io Real-Time Voice and Video Engagement - Agora.io <https://www.agora.io/en/>`_ マルキャス ---------- @@ -370,14 +369,12 @@ SkyWay `SkyWay - Enterprise Cloud WebRTC Platform <https://webrtc.ecl.ntt.com/>`_ バックエンドは OSS の SFU である `Jitsi <https://jitsi.org/>`_ です。 お金を払う用意はある (商用 MCU 利用編) ====================================== 大規模なうえに MCU が必須で自社運用を考えるのであれば、自分が知っている範囲であれば今のところ一つです。ちなみに SFU 機能も持っています。まずは代理店を探してみると良いでしょう。価格と機能を確認し、それで納得できそうであれば検討をすると良いです。 お金を払う用意はある (商用コールセンター編) =========================================== @@ -434,6 +431,8 @@ WebRTC 1% それ以外 99% の世界ですので、まずはこの記事を読 - 認証や、クライアントの接続切断などもすべて HTTP での通知を既存のシステムに送ることができます WebRTC が苦手としている場面、例えば視聴する画質の選択や数百人レベルの会議などにも対応しています。 興味のある方はお気軽に sora at shiguredo.jp までお問い合わせください。 紹介や検討資料も公開しております。 -
voluntas revised this gist
Sep 1, 2019 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -11,7 +11,7 @@ もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 .. contents:: :depth: 1 概要 ==== -
voluntas revised this gist
Sep 1, 2019 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,7 +7,7 @@ :バージョン: 19.09.0 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `WebRTC シグナリングサービス Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ 、`OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ 、`OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ の宣伝記事です。 もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 -
voluntas revised this gist
Sep 1, 2019 . 1 changed file with 26 additions and 57 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,16 +2,16 @@ 仕事で WebRTC ############# :日時: 2019-09-01 :作: @voluntas :バージョン: 19.09.0 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `WebRTC シグナリングサービス Ayame Lite`、`OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ 、`OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ の宣伝記事です。 もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 .. contents:: :depth: 2 概要 ==== @@ -38,8 +38,8 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプ ここでは様々な側面から見た WebRTC 需要に対して、どうしたらいいのかをざっくり書いてきます。 趣味で勉強してみたい -------------------- これを読む必要はありません。色々試してみましょう。調べてみればいろいろ情報が出てきます。 @@ -59,7 +59,7 @@ WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる **1:1 までの会議であれば P2P で問題ないでしょう、 3 人になった時点で SFU を検討するべきです** まずは是非 `OpenAyame/ayame: WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ の利用を検討してみてください。 仕事として MCU を前提として使っていきたい ----------------------------------------- @@ -111,6 +111,7 @@ JavaScript クライアント ======================= 商用サービスや商用パッケージを利用する場合はクライアントが用意されていることが多いと思いますので、それを利用するのが一番です。 また OSS でもクライアントが用意されている場合があるため、それを使うのが無難です。 WebRTC API はブラウザごとに仕様が異なります。さらにアップデートされるたびにその状況は変化していっています。まずはそこを意識しましょう。 @@ -124,7 +125,8 @@ JavaScript ライブラリ選定 WebRTC adapter -------------- ブラウザの互換性を一番に考慮することになります。 そのためおすすめなのが既存の便利ライブラリを覚えるのではなく、 adapter というブラウザの互換性を吸収してくれるライブラリを使うことを検討しましょう。 `webrtcHacks/adapter: Shim to insulate apps from spec changes and prefix differences. Latest adapter.js release: <https://github.com/webrtcHacks/adapter>`_ @@ -148,30 +150,26 @@ https://test.webrtc.org/ ログを貰ってからが勝負です。がんばりましょう。 ブラウザやスマートフォン以外で使いたい =========================================== https://webrtc.org/native-code/native-apis/ ネイティブで利用できる仕組みがありますので、ブラウザ以外でも利用可能です。ただ情報はかなり少ないです。 また利用するソースコードのバージョンは 6 週間ごとに上がっていきますので追従は iOS/Android と同様ですのである程度の覚悟が必要です。 ネイティブ API を利用した `shiguredo/momo: WebRTC Native Client Momo <https://github.com/shiguredo/momo>`_ を OSS として公開しています。是非使ってみてください。 データチャネルを使いたい ======================== データチャネルは WebRTC 上で音声や映像以外にやり取りするための仕組みで、P2P でデータのやり取りをする仕組みとして使われてきました。 P2P でのデータやり取りで使われてきたのはほとんどファイル転送や P2P の仕組みを上手く使った CDN やファイル共有あたりが有名でした。つまり WebRTC のデータチャネルは今まではあまり使いみちがないというのが現実でした。 ただ、最近ではエッジデバイスでの映像解析が可能になったことにより、映像とともに解析データをリアルタイムに送りたいという要望や、 VR で音声とモーションデータを送りたいといったデータだけではなく音声や映像との組み合わせの需要がでてきました。 しかし、音声や映像との動機ができないデータチャネルを使うメリットはほぼありません。あくまで P2P で 1:1 のやり取りで、さらに限定的な場面でのみ利用可能と考えて間違いありません。 お金を払う用意はない (P2P 編) ============================= @@ -264,22 +262,22 @@ Web SDK や SDK のサンプルもあります。 React を利用したサンプ - `OpenAyame/ayame-web-sdk: Ayame Web SDK <https://github.com/OpenAyame/ayame-web-sdk>`_ - `OpenAyame/ayame-web-sdk-samples: Ayame Web SDK サンプル <https://github.com/OpenAyame/ayame-web-sdk-samples>`_ ただし 2019 年 9 月現在 iOS/Android SDK はありません。今後開発予定です。 WebRTC シグナリングサービス Ayame Lite -------------------------------------- **これは宣伝です** Ayame Lite は Ayame をサービスとして提供し、さらに面倒なルーム認証や STUN/TURN サーバを提供している **無料** で利用可能なサービスです。 `WebRTC シグナリングサービス Ayame Lite 開発ログ <https://gist.github.com/voluntas/396167bd197ba005ae5a9e8c5e60f7cd>`_ Ayame 自体には一切手を入れていません。そのため、最初はサービスを利用していたが、自社で運用するといった切り替えが可能です。 現在オープンベータテスト中ですので、是非利用してみてください。 `WebRTC シグナリングサービス Ayame Lite の使い方 <https://gist.github.com/voluntas/32bb73de6c1ff198ffa4d9f052252f43>`_ お金を払う用意はない (OSS SFU/MCU 編) ====================================== @@ -340,47 +338,18 @@ Ayame 自体には一切手を入れていません。そのため、最初は tokbox ------ `OpenTok | WebRTC Platform for Video, Voice and Messaging from TokBox <https://tokbox.com/>`_ 一通りの機能は揃っていますが、とても高額なのとサーバが日本にはありません。この辺りは要注意です。サポートもすべて英語になります。 twilio ------ `Announcing Programmable Video Group Rooms: More Participants, Video Recording, and Pricing for Scale <https://www.twilio.com/blog/2017/05/announcing-programmable-video-group-rooms.html>`_ 日本だと KDDI が提供しています。 `Twilio for KDDI Web Communications | コミュニケーションAPI <https://twilio.kddi-web.com/#topcal>`_ Agora.io -------- @@ -401,7 +370,6 @@ SkyWay `SkyWay - Enterprise Cloud WebRTC Platform <https://webrtc.ecl.ntt.com/>`_ お金を払う用意はある (商用 MCU 利用編) ====================================== @@ -486,3 +454,4 @@ WebRTC クライアントをラズベリーパイゼロなどで動かせるよ 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Aug 15, 2019 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,7 +7,7 @@ :バージョン: 19.08.2 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ 、`OpenMomo プロジェクト <https://gist.github.com/voluntas/51c67d0d8ce7af9f24655cee4d7dd253>`_ の宣伝記事です。 もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 -
voluntas revised this gist
Aug 15, 2019 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,10 +4,10 @@ :日時: 2019-08-15 :作: @voluntas :バージョン: 19.08.2 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ の宣伝記事です。 もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 -
voluntas revised this gist
Aug 15, 2019 . 1 changed file with 4 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,7 +4,7 @@ :日時: 2019-08-15 :作: @voluntas :バージョン: 19.08.1 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>` の宣伝記事です。 @@ -57,7 +57,7 @@ WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる 仕事として P2P を前提として使っていきたい ----------------------------------------- **1:1 までの会議であれば P2P で問題ないでしょう、 3 人になった時点で SFU を検討するべきです** まず触ってみるから始めるのであれば自前で試してみるのを検討するのが良いと思います。 @@ -71,7 +71,8 @@ MCU は 1 部屋 1 コアを利用するくらいの CPU リソースを持っ 仕事として SFU を前提として使っていきたい ------------------------------------------ サービスを利用するか、OSS でがんばるか、商用を利用するかの二択をまず選びます。 もちろんどちらかを選択して、辛くなったので切り替えるというのでも構わないと思います。 最初から SFU を選択できるのであればある程度 WebRTC への理解があると思いますので、まずは P2P を検討するもありです。 -
voluntas revised this gist
Aug 15, 2019 . 1 changed file with 69 additions and 30 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,12 +2,12 @@ 仕事で WebRTC ############# :日時: 2019-08-15 :作: @voluntas :バージョン: 19.08.0 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ や `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>` の宣伝記事です。 もし気になる点があった場合は Twitter にて @voluntas 宛にメンションをいただけると助かります。 @@ -18,9 +18,12 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプルで終わることが多く、実際にビジネスレベルでの運用を考える時の情報が少なすぎるのが問題だと考えています。 また WebRTC はブラウザのアップデートに伴い仕様が変わる場合があり、過去の記事では動かないこともあります。 最近では Chrome と Firefox に加え、 Edge が対応し、そして 2017 年秋には Safari が対応しました。 ちなみに、これら 4 つのブラウザは最悪なことに WebRTC の仕様がそれぞれ動作が異なります。 また、 2020 年には Flash が終了し、 Chrome M76 からはデフォルト無効になっています。 既存の Flash で実現していた機能を WebRTC や HLS/MPEG-DASH に切り替えていく必要がります。 この資料では WebRTC を仕事で利用する場合、何をしたいのか、やりたいことをするには何をすればいいのかを、選ぶお手伝いができればと考えています。 @@ -85,19 +88,22 @@ Chrome Firefox ------- Chrome より少し遅れてきていますが、あまりおすすめできません。 Edge ---- 仕様がクローズドで、さらにソースがクローズドで、アップデートが不明確なため対応していると言っても現時点では採用はお勧めしません。 さらにデータチャネルに対応していません。 ただし新しい Chromium ベースの Edge はほぼ Chrome と同じため、推奨ブラウザといって問題ないです。 Safari ------ Safari 11 で WebRTC への対応しました。 2019 年 8 月時点で Safari 12.1.2 がリリースされています。 12.1 で Safari は推奨ブラウザと扱って問題ないくらい WebRTC が安定的に利用可能です。 JavaScript クライアント @@ -236,15 +242,55 @@ iOS/Android アプリどうするか ただ、 React-Native も結局は iOS/Android の知識が必要なので、まぁ悩ましいところではあります。 WebRTC Signaling Server Ayame ----------------------------- **これは宣伝です** `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ Ayame は WebRTC SFU を1から開発している時雨堂が、 そのノウハウをつぎ込みオープンソースとして公開している WebRTC を P2P で利用する際に必要となるシグナリングサーバです。 成果は Apache License 2.0 としてオープンソースで公開しています。 `OpenAyame/ayame: WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ Go で書かれており、 1:1 の利用に限定することでかなりシンプルに作られています。商用にも耐える性能を持っています。 Web SDK や SDK のサンプルもあります。 React を利用したサンプルも用意しています。 - `OpenAyame/ayame-web-sdk: Ayame Web SDK <https://github.com/OpenAyame/ayame-web-sdk>`_ - `OpenAyame/ayame-web-sdk-samples: Ayame Web SDK サンプル <https://github.com/OpenAyame/ayame-web-sdk-samples>`_ ただし 2019 年 8 月現在 iOS/Android SDK はありません。 WebRTC シグナリングサービス Ayame Lite -------------------------------------- **これは宣伝です** Ayame Lite は Ayame をサービスとして提供し、さらに面倒な STUN/TURN サーバや認証機能を提供した無料で利用可能なサービスです。 `WebRTC シグナリングサービス Ayame Lite 開発ログ <https://gist.github.com/voluntas/396167bd197ba005ae5a9e8c5e60f7cd>`_ Ayame 自体には一切手を入れていません。そのため、最初はサービスを利用していたが、自社で運用するといった切り替えが可能です。 現在オープンベータテスト中ですので、是非利用してみてください。 `Ayame Lite <https://ayame-lite.shiguredo.jp/beta>`_ お金を払う用意はない (OSS SFU/MCU 編) ====================================== - `meetecho/janus-gateway: Janus WebRTC Gateway <https://github.com/meetecho/janus-gateway>`_ - MS の配信サービス `Beam <https://beam.pro/>`_ などに利用されています - Beam は `Mixer | Interactive Livestreaming <https://mixer.com/>`_ と名前が変わりました - `versatica/mediasoup: Cutting Edge WebRTC Video Conferencing <https://github.com/versatica/mediasoup>`_ - 今一番活発な開発が行われている C++/Node.js で書かれた WebRTC SFU です - DataChannel にも対応しました - `Jitsi <https://github.com/jitsi>`_ - `Atlassian <https://ja.atlassian.com/>`_ が買収しましたが、別の会社に売却されました @@ -258,14 +304,15 @@ iOS/Android アプリどうするか - C++ で書かれた MCU/SFU です お勧めは Janus です。様々な機能を持っていますし、たくさんの場所で利用されています。 今 OSS を選択するのであれば Janus が現実的だと思います。 利用する OSS を定めて、がつがつ使って Pull-Request を送ったり、 SO で解答したりしてみましょう。 お金を払う用意はある (P2P 商用シグナリングサービス利用編) ======================================================= 有償のシグナリングサービスが幾つかあります。 - `Twilio - Communication APIs for SMS, Voice, Video and Authentication <https://www.twilio.com/>`_ @@ -312,7 +359,9 @@ Tokbox ができることはたくさんあります。WebRTC で考えつくこ - 録画ファイル暗号化 - iOS/Android/JavaScript クライアント 何でも本当にあります、まずはこのサービスで解決できないか検討するべきです。 ただ懸念点はあります。日本のサーバでは無いためサーバが近くてもシンガポールです。 そのため遅延が気になる事があるかも知れません。 これは実際に触ってみて確認するのが良いと思います。 twilio ------ @@ -332,11 +381,6 @@ twilio が新しくサービスを提供し始めました。グループビデ 実際に触っていませんが、かなり攻めてきた感じという認識です。Tokbox 以外にも検討するサービスが出てきたと考えて良いでしょう。 Agora.io -------- @@ -351,6 +395,12 @@ Agora.io バックエンドは OSS の SFU である `mediasoup <https://mediasoup.org/>`_ です。 SkyWay ------ `SkyWay - Enterprise Cloud WebRTC Platform <https://webrtc.ecl.ntt.com/>`_ お金を払う用意はある (商用 MCU 利用編) ====================================== @@ -395,8 +445,8 @@ WebRTC 1% それ以外 99% の世界ですので、まずはこの記事を読 - 日本語によるサポート対応しています - フルスクラッチ自前実装なのですべて把握しています - 1:1 の双方向に対応しています - 1:1000 の片方向に対応しています - 3:1000 といった配信者が複数の片方向にも対応しています - スポットライトという機能を利用することで 50 人以上の会議に対応しています - 録画機能があります - Chrome / Firefox / Edge / Safari といった主要ブラウザ全てに対応しています @@ -429,17 +479,6 @@ WebRTC を単体のアプリとして利用したい WebRTC クライアントをラズベリーパイゼロなどで動かせるようにした製品をオープンソースとして公開しています。 おまけ ===== -
voluntas revised this gist
Mar 13, 2019 . 1 changed file with 24 additions and 16 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,9 +2,9 @@ 仕事で WebRTC ############# :日時: 2019-03-13 :作: @voluntas :バージョン: 19.03.0 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ の宣伝記事です。 @@ -18,7 +18,7 @@ WebRTC を調べると、便利なライブラリを使った P2P のサンプルで終わることが多く、実際にビジネスレベルでの運用を考える時の情報が少なすぎるのが問題だと考えています。 また WebRTC はブラウザのアップデートに伴い仕様が変わる場合があり、過去の記事では動かないこともあります。最近では Chrome と Firefox に加え、 Edge が対応し、そして 2017 年秋には Safari が対応しました。 ちなみに、これら 4 つのブラウザは最悪なことに WebRTC の仕様がそれぞれ動作が異なります。 また、 2020 年には Flash が終了することが確定しました。既存の Flash で実現していた機能を WebRTC や HLS/MPEG-DASH に切り替えていく必要がります。 @@ -85,7 +85,7 @@ Chrome Firefox ------- Chrome より少し遅れてきていますが、推奨ブラウザとして問題ありません。 Edge ---- @@ -95,7 +95,10 @@ Edge Safari ------ Safari 11 で WebRTC への対応しました。 2019 年 3 月時点で Safari 12.1 のリリースが予定されています。 12.1 で Safari は推奨ブラウザと扱って問題ないくらい WebRTC が安定的に利用可能です。 JavaScript クライアント ======================= @@ -109,8 +112,6 @@ JavaScript ライブラリ選定 実はこれといったおすすめは特にありません。色々ありますがメンテナンスが終了するタイミングでさてどうしたらいいかとなってしまいます。簡単に使えるライブラリは隠蔽が多く、あなたのやりたいことが阻害されることが多いです。 おすすめは商用サービスのクライアントが OSS で公開されているパターンがあるので、それを参考にしてみるのが良いと思います。 WebRTC adapter @@ -120,9 +121,7 @@ WebRTC adapter `webrtcHacks/adapter: Shim to insulate apps from spec changes and prefix differences. Latest adapter.js release: <https://github.com/webrtcHacks/adapter>`_ adapter は世界中に WebRTC を利用している人たちの苦労が集まっています。まずはここから始めて、なれてきたら外していくで良いと思います。 トラブルシューティング ====================== @@ -190,9 +189,9 @@ WebXR という規格がブラウザで出てきたこともあり、WebRTC デ ブラウザのアップデートへの追従をどうするか ------------------------------------------ がんばりましょう。適当にライブラリを決めてしまうと追従を止める可能性はあります。もちろん Pull-Request を送ったりするのもとても良いことです。 Chrome と Firefox と Safari のブラウザの変更履歴に目を凝らしましょう。 シグナリングサーバの運用をどうするか ------------------------------------ @@ -248,7 +247,7 @@ iOS/Android アプリどうするか - 今一番活発な開発が行われている C++/Node.js で書かれた WebRTC SFU です - `Jitsi <https://github.com/jitsi>`_ - `Atlassian <https://ja.atlassian.com/>`_ が買収しましたが、別の会社に売却されました - `Kurento <https://github.com/kurento>`_ - `twilio <https://www.twilio.com/>`_ が買収しました @@ -268,7 +267,6 @@ iOS/Android アプリどうするか 有償のシグナリングサーバが幾つかあります。 - `Twilio - Communication APIs for SMS, Voice, Video and Authentication <https://www.twilio.com/>`_ - 従量課金制です @@ -282,7 +280,7 @@ iOS/Android アプリどうするか さて、ここで少し気づいて貰う必要があります。お金を払おうがお金を払わまいが WebRTC の知識は必要になるということです。結局勉強する必要があります。 ざっくり勉強する必要があります。現在在庫がありませんが ... この本がおすすめです。 `わか(った気にな)るWebRTC 紙+電子版セット <https://booth.pm/ja/items/504677>`_ @@ -431,10 +429,20 @@ WebRTC を単体のアプリとして利用したい WebRTC クライアントをラズベリーパイゼロなどで動かせるようにした製品をオープンソースとして公開しています。 WebRTC を使ってみたい --------------------- `shiguredo/ayame: WebRTC Signaling Server Ayame <https://github.com/shiguredo/ayame>`_ Go で書かれた 1:1 に特化したシグナリングサーバをオープンソースとして公開しています。 Vue や React といったフレームワークを利用したサンプルも公開しています。 `OpenAyame プロジェクト <https://gist.github.com/voluntas/90cc9686a11de2f1acca845c6278a824>`_ おまけ ===== 世界の WebRTC プラットフォーム一覧。おそらく世界で一番詳しい資料です。 `WebRTC Platforms <https://docs.google.com/spreadsheets/d/13YeU90Fb8Tk_mrtjGqKP-o_PaR5FmxjA8QYypmENphE/edit#gid=0>`_ -
voluntas revised this gist
Dec 4, 2018 . 1 changed file with 3 additions and 22 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,9 +2,9 @@ 仕事で WebRTC ############# :日時: 2018-12-04 :作: @voluntas :バージョン: 18.12.0 :url: https://voluntas.github.io/ この記事は `WebRTC SFU Sora <https://sora.shiguredo.jp/>`_ の宣伝記事です。 @@ -56,11 +56,7 @@ WebRTC は音声や映像を扱う以上、繋がらないが誰もがわかる **1:1 や 3 人くらいまでの会議であれば P2P で問題ないでしょう** まず触ってみるから始めるのであれば自前で試してみるのを検討するのが良いと思います。 仕事として MCU を前提として使っていきたい ----------------------------------------- @@ -273,9 +269,6 @@ iOS/Android アプリどうするか 有償のシグナリングサーバが幾つかあります。 - `SkyWay - Enterprise Cloud WebRTC Platform <https://webrtc.ecl.ntt.com/>`_ - `Twilio - Communication APIs for SMS, Voice, Video and Authentication <https://www.twilio.com/>`_ - 従量課金制です @@ -346,18 +339,6 @@ SkyWay `SkyWay - Enterprise Cloud WebRTC Platform <https://webrtc.ecl.ntt.com/>`_ Agora.io --------
NewerOlder