Skip to content

Instantly share code, notes, and snippets.

@voluntas
Last active September 29, 2019 15:53
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save voluntas/fa6994ac4af65c04b88a1dc5a3abf639 to your computer and use it in GitHub Desktop.
Save voluntas/fa6994ac4af65c04b88a1dc5a3abf639 to your computer and use it in GitHub Desktop.
WebRTC でご飯は食べられるのか?

WebRTC でご飯は食べられるのか?

更新

2017-11-20

作者

@voluntas

作者サイト

https://voluntas.github.io/

バージョン

0.5.1

セッション日時

2017-11-20 21:35-21:45

セッション場所

TECH PLAY SHIBUYA

発表時間

10 分

この資料は 2017-11-20 に行われる WebRTC Meetup Tokyo #17 Special Edition発表者資料 です。

http://bit.ly/webrtc-meshi

この資料の質問は Twitter で @voluntas まで DM をお願いします。(DM は誰からでも受け取れるようにしてあります)

English Version

http://bit.ly/webrtc-meshi-eng

Is it Possible to Run a Business with WebRTC Product?

概要

WebRTC SFU のパッケージを 1 から開発して、販売することでご飯を食べていけるのか?という話をします。

結論

なんとか食べられています。

ただ、まだ数名しかいない社員の給与分を稼いでるだけです。 さらに、小さな会社でマーケティングや営業を雇わないことが前提です。大儲けはせず社員の給与分を稼げれば十分という方針が前提になります。

興味ある方は下記をどうぞ。

自己紹介

時雨堂という会社で Erlang/OTP を使いながらご飯を食べています。普段はコード書いたり、いろいろな会社の技術支援をしたりしています。

WebRTC 事業戦略

時雨堂はパッケージという選択をとりました。 理由は簡単で WebRTC のサービスモデルでは、小さな会社は利益を上げるのが難しいと判断したからです。

取った戦略は以下の通りです。

  • クローズドソースでパッケージ製品
  • サポート費用で稼がずに製品の利用料で稼ぐ
  • 安く誰でも気軽に使える製品

WebRTC は今まで使うのが難しかった技術を気軽使えるという点が魅力なので、 小規模のスタートアップでも購入できる金額での提供をする事を前提にしました。

サービスという戦略は取らない

WebRTC のサービスモデルは2つのパターンしかありません。

  • TURN サーバを含むシグナリングサーバを提供するモデル
  • MCU または SFU を提供するモデル

シグナリング提供モデルはシグナリングサーバと TURN サーバの運用代行モデルで売上を出すしかありません。個人でも建てられることもあり、なかなか収益モデルとしては厳しいでしょう。

日本では SkyWay が TURN の一定額までは無償で提供していることも有りビジネスモデルとしては SkyWay と戦う必要があります。

MCU/SFU 提供モデルは必ずサーバ経由になるため、転送量問題が発生します。帯域固定で借りたとしてもユーザが増えれば増えるほど大変です。転送料モデルの課金は薄利多売になります。なぜなら必ず転送料金がかかり、それに上乗せした費用を貰う必要があるからです。

小さな会社でこの転送料モデルを採用するのは運用コスト面、利益面から旨味がありません。調達しているスタートアップが世界を目指して戦うのであれば、チャレンジする価値はあるもしれません。

調達もしていない転送料が必ず発生する基盤の PaaS モデルへのチャレンジは小さな会社では現実的ではありませんでした。

そのため、パッケージを提供するという戦略を取ることにしました。パッケージビジネスの話は WebRTC から離れてしまうのでここでは省略します。

クローズドソース戦略

私自身は OSS が好きな人間ですが、自社製品はクローズドソースを選択しました。

理由としては日本市場を前提とする場合、オープンソース戦略は難しいというのを身をもって体験しているからです。 残念ながら日本の文化ではオープンソースのサポート契約を前提としたビジネスモデルは厳しいのが現状です。

サポート料金にお金を払ってくれる会社は大きな会社がほとんどです。ちなみにこれらの大きな会社はクローズドソースでも製品を買ってくれます。そのため、サポート前提のビジネスは選択しませんでした。

シンプルで落ちにくい製品

WebRTC SFU を提供する上で重要にしているのでは2つです。

  • 少機能
  • 落ちない

実際自社製品は配信と録画の機能しか持っていません。さらに、販売してからサーバが落ちたという問い合わせは一度もありません。

WebRTC は音声や映像をやり取りする仕組みということは、使っているユーザがすぐに おかしい ということに気付きやすいです。

そのため、落ちにくく不安定にならず、使いやすい仕組みはとても重要です。

SDK 重視

WebRTC でごはんを食べるためには自社の製品もとても重要ですが、それ以上に SDK がとても重要になります。

時雨堂では JavaScript 、iOS 、Android の 3 種類の SDK を提供しています。これは全てオープンソースとして Apache License 2.0 で提供しています。

あくまで WebRTC は使うもののため、 SDK のデキがとても重要になります。時雨堂ではとにかく良い SDK を作るために大量のリソースを投入していますし、積極的にアップデートを繰り返しています。

libwebrtc の最新版に積極的に追従していることから、ノウハウも溜まってきています。 弊社 CTO が書いた記事を公開しましたので興味があれば是非。

WebRTC ネイティブ iOS ライブラリ API ガイド

今後

2018 年には GPU を利用した映像や音声の変換や合成機能を SFU に搭載予定です。つまり MCU 機能です。 MCU と SFU を併せ持つ製品が今後の WebRTC 市場を戦う上で必要と判断しました。

SDK 重要ということで、React Native 向けの WebRTC ライブラリを自前でメンテナンスして行くことも考えています。

まとめ

当たり前の話

WebRTC でご飯を食べていくにはお客様とタッグを組んで、 お客様のビジネスを成功させるために、安定で使いやすい製品を提供していく事がとても重要になります。

宣伝

WebRTC SFU Sora

WebRTC SFU Sora

商用の WebRTC SFU です。価格は 100 接続で年間利用料ライセンス 60 万円です。毎年かかります。製品のサポート料金込みです。

複数人数での会議や、 数百人への配信、一対一の面談など様々な用途に利用可能です。

パッケージで提供しますので、自社で運用が可能です。 AWS だろうが GCP だろうが、オンプレだろうがなんでもどうぞ。 サーバさえあれば起動までは 10 分です。デモ機能が内蔵しているので動かすまで 15 分でいけます。

  • とにかく 落ちないこと を目的に作っています
  • とにかく 繋がること を目的に作っています
  • とにかく 手間がかからないこと を目的に作っています
  • 最新ブラウザのアップデートに追従しています
  • シグナリングサーバ内蔵ですので別途立てる必要はありません
  • TURN サーバ内蔵ですので別途立てる必要ありません
  • 日本語によるサポート対応しています
  • フルスクラッチ自前実装なのですべて把握しています
  • 1:1、1:N、複数人会議、録画あります
  • Chrome / Firefox / Edge / Safari といった主要ブラウザ全てに対応しています
  • Apache 2.0 ライセンスで JavaScript と iOS と Android のクライアント SDK を公開しています
  • 既存システムとの連携を重視しており、Web フック機能を利用して簡単に連携が可能です
    • 認証や、クライアントの接続切断などもすべて HTTP での通知を既存のシステムに送ることができます
  • 海外で利用される場合は該非判定書も用意しております

時間をお金で買いませんか?

興味のある方は sora at shiguredo.jp までお問い合わせください。

気軽に参加頂けるセミナーも定期的に開催していく予定ですので、興味ある方は是非。

第1回 WebRTC SFU Sora セミナー

紹介や検討資料も公開しております。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment