でんでんらぼの「WebRTCをブラウザ外で使ってブラウザでできることを増やしてみませんか」雑感
でんでんらぼが 9/20 (日) の技術書典で 1000 円で販売予定の「WebRTCをブラウザ外で使ってブラウザでできることを増やしてみませんか」の販売前に読む機会があったので色々書いていきます。
電子書籍版を BOOTH で 1200 円で販売しています
https://tnoho.booth.pm/items/1572872
まとめ
WebRTC SFU Sora 開発責任者視点
WebRTC は実はプロトコルについて詳しくなる必要はあまりありません。プロトコルに詳しい必要があるのは SFU や MCU の開発者くらいです。むしろ JavaScript WebRTC API の方が遥かに重要です。
そして仕事で WebRTC を利用するのであればほぼすべてのブラウザが採用している libwebrtc を理解するのはとても重要になります。
この本は自分が知る限り、 libwebrtc の世界で唯一の解説書です。もし WebRTC を仕事に使っているのであれば、この本を手にとって見てください。貴方の知っている WebRTC がどれだけ狭い世界だったかがわかると思います。WebRTC の深淵を知る事ができる唯一の本です。
WebRTC Native Client Momo 製品責任者視点
Momo はもともとでんでんらぼの tnoho が趣味で書いていたコードをそのままお蔵入りはもったいないということで、 2015 年 12 月にバイナリだけを無料で時雨堂が公開していたものです。
その後、2018 年 8 月に OpenMomo プロジェクトとしてリニューアルして、ソースコードを整理、アップデートして Apache License 2.0 にて公開しました。計画的なリリースができる体制を整え、現在は時雨堂で一番人が関わっているプロジェクトになっています。
Momo は libwebrtc を利用しオープンソースとして公開され、継続的に開発、メンテナンスがされているプロジェクトとしてはかなり珍しいと思います。シグナリング部分もしかりベンダロックインフリーになっています。
売りとしてはビルドを簡単にすることでカスタマイズしやすくしています。
Momo は様々な用途で利用されており、今後も活躍の場を広げていければと思います。この本を読んで是非 Momo を色々カスタマイズして使ってみてください。
雑感
目次は公開して問題ないと思うので。
この本の素晴らしいところはソースコードが一行も出てこないところです。なぜなら Momo はソースが公開されているためです。
WebRTC とは
WebRTC についてプロトコルをざっくりわかりやすく解説しています。素
晴らしいのは「目に見えている部分のプロトコルのみ」を解説していることです。SDP や ICE 、シグナリング、DTLS-SRTP は WebRTC API を利用するユーザでも目に見えて、トラブルシューティング時にも役に立つでしょう。
WebRTC Native Code
libwebrtc の構成をわかりやすく図付きで解説してくれています。どこから勉強し始めればいいのかなどもこれを見ればわかります。
Momo WebRTC Native Client / WebRTC ネイティブの処理の流れ
Momo の構成、フロー、シグナリング、 libwebrtc で利用しているライブラリの解説、Momo をベースに libwebrtc の具体的な解説がされています。
ちなみに Raspberry Pi Zero への対応についても解説されています。
ハードウェアアクセラレータへの対応
読んで一番おもしろかったのがここです。Raspberry Pi の H.264 や MotionJPEG のハードウェアアクセラレータ対応についてのノウハウがぎっしり詰まっています。
Momo を使ったロボットアーム制御
これの解説です。このタイミングでソースコードも公開されたようです。
映像・音声ソースのカスタム
Momo を ROS に対応したときの外部から音声や映像を取り込むノウハウが書かれています。このノウハウが欲しい人は結構多いのではないでしょうか。
この内容が 1000 円で手に入るのは破格だと思います。著者いわく 50 部程度しかすらないらしいので、欲しい人はがんばってください。
部数を増やしてほしい場合はチェックリストでチェックをつけるといいかとおもいます。
本当に素晴らしい本なので、是非手にとって読んでみてください。