でんでんらぼの「WebRTCをブラウザ外で使ってブラウザでできることを増やしてみませんか」雑感

これは宣伝記事です

でんでんらぼが 9/20 (日) の技術書典で 1000 円で販売予定の「WebRTCをブラウザ外で使ってブラウザでできることを増やしてみませんか」の販売前に読む機会があったので色々書いていきます。

https://tnoho.booth.pm/items/1572872

まとめ

WebRTC は実はプロトコルについて詳しくなる必要はあまりありません。プロトコルに詳しい必要があるのは SFU や MCU の開発者くらいです。むしろ JavaScript WebRTC API の方が遥かに重要です。

そして仕事で WebRTC を利用するのであればほぼすべてのブラウザが採用している libwebrtc を理解するのはとても重要になります。

この本は自分が知る限り、 libwebrtc の世界で唯一の解説書です。もし WebRTC を仕事に使っているのであれば、この本を手にとって見てください。貴方の知っている WebRTC がどれだけ狭い世界だったかがわかると思います。WebRTC の深淵を知る事ができる唯一の本です。

Momo はもともとでんでんらぼtnoho が趣味で書いていたコードをそのままお蔵入りはもったいないということで、 2015 年 12 月にバイナリだけを無料で時雨堂が公開していたものです。

その後、2018 年 8 月に OpenMomo プロジェクトとしてリニューアルして、ソースコードを整理、アップデートして Apache License 2.0 にて公開しました。計画的なリリースができる体制を整え、現在は時雨堂で一番人が関わっているプロジェクトになっています。

Momo は libwebrtc を利用しオープンソースとして公開され、継続的に開発、メンテナンスがされているプロジェクトとしてはかなり珍しいと思います。シグナリング部分もしかりベンダロックインフリーになっています。

売りとしてはビルドを簡単にすることでカスタマイズしやすくしています。

Momo は様々な用途で利用されており、今後も活躍の場を広げていければと思います。この本を読んで是非 Momo を色々カスタマイズして使ってみてください。

雑感

目次は公開して問題ないと思うので。

Image for post
Image for post

この本の素晴らしいところはソースコードが一行も出てこないところです。なぜなら Momo はソースが公開されているためです。

WebRTC についてプロトコルをざっくりわかりやすく解説しています。素

晴らしいのは「目に見えている部分のプロトコルのみ」を解説していることです。SDP や ICE 、シグナリング、DTLS-SRTP は WebRTC API を利用するユーザでも目に見えて、トラブルシューティング時にも役に立つでしょう。

libwebrtc の構成をわかりやすく図付きで解説してくれています。どこから勉強し始めればいいのかなどもこれを見ればわかります。

Momo の構成、フロー、シグナリング、 libwebrtc で利用しているライブラリの解説、Momo をベースに libwebrtc の具体的な解説がされています。

ちなみに Raspberry Pi Zero への対応についても解説されています。

読んで一番おもしろかったのがここです。Raspberry Pi の H.264 や MotionJPEG のハードウェアアクセラレータ対応についてのノウハウがぎっしり詰まっています。

これの解説です。このタイミングでソースコードも公開されたようです。

Momo を ROS に対応したときの外部から音声や映像を取り込むノウハウが書かれています。このノウハウが欲しい人は結構多いのではないでしょうか。

この内が 1000 円で手に入るのは破格だと思います。著者いわく 50 部程度しかすらないらしいので、欲しい人はがんばってください。

部数を増やしてほしい場合はチェックリストでチェックをつけるといいかとおもいます。

本当に素晴らしい本なので、是非手にとって読んでみてください。

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store