🍃このブログは移転しました。
3秒後、自動的に移動します・・・。

WebRTC

無音を鳴らして自動再生ポリシーをアンロックする

Safariなどのブラウザには、音の自動再生に制限があって、ロード時にいきなり再生!というのがだいたいできない時代。(この制限にはいろいろ条件があるけども)そのため、「このサイトでは音が出ます」みたいなモーダルを出して、まずそれをクリックしても…

wasm-bindgen/web-sysでWebRTC

っていうのをやってみた。いちおうやったので、公式のexampleにもPRも出して、マージしてもらった。

フロントエンド x RTC界隈の最近とこれから

フロントエンドエンジニアからみる、この界隈で今どんなIssueが話題になってるのかと、この先どういう動きがありそうかについて。そこまで自分に先見の明があるとも思ってないけど、アウトプットしておかないと忘れてしまいそうなので・・。ちなみにここでい…

mediasoupの開発Tips

`mediasoup`を使ったサービスを開発する上での役立ちTipsをメモっておきたいなと思ってたので。(なんか思いついたらまた追記します。)

mediasoupを使う前に知っておくべき概念たち

公私問わず`mediasoup`をここ半年くらいずっと触ってて、ドキュメントだけでなく中のコードもそれなりに読み通してる身として。

続・続・WebRTCなコードをE2Eテストする

続・WebRTCなコードをE2Eテストする - console.lealog(); WebRTCなコードをE2Eテストする - console.lealog(); 新しいネタを仕入れたので、このシリーズがまだ続きます!

Androidで`getUserMedia()`したら`NotReadableError: could not start video source`

なかなか懐かしい気分にさせてくれますが、特定の機種でのみ発生するエラーでした。回避方法がちゃんとあるのでそれをメモっておきます。

webrtc-statsの各ブラウザごとの実装状況をまとめた

GitHub - leader22/webrtc-stats-impl-status このリポジトリで。

chrome://webrtc-internals のしくみ

なんとなくアテはついてたけど、中身が気になるという話を聞いたので調べてみた。WebRTCやってるみなさんならお馴染みのあのページです。

WebRTCのPerfect negotiationについて

なんやそれ・・また新しいプロトコルか?って思いますよね。 安心してください!ただの造語です。 Perfect negotiation in WebRTC - Advancing WebRTC 出自はこの記事で、書かれたのは4月とかなり前。 ただちょいちょい更新されてる + `webrtc-pc`のIssueで…

WebRTCで帯域を指定する方法2つ

またも、まったく目新しいトピックではないです。個人でメンテしてるWebRTCのモジュールに機能を追加するときに思い出したしせっかくなのでメモ。

WebRTCでTURNを使う

トピックとしてはまったく目新しくないけど、そういやまとめてないなと思ったのでメモ。

W3C TPAC 2019 に行ってきたメモ Part.1

きたで福岡!TPACとは、The W3C Technical Plenary and Advisory Committee Meetingsのことで、Webの標準化団体であるW3Cの年会みたいなやつです。こういうのに参加できるのは大企業の強いとこですよね・・。今回のTPACは月曜から金曜まであったんですが、そ…

JavaScriptで音声の出力先を変えたい

先日のUGでもみんな気になってる感じがあり、個人的にも気になっており、現状をまとめておこうかと思い。

SkyWay UG Tokyo #4 に行ってきたメモ #WebRTCSkyWay

SkyWay UG Tokyo #4 - connpass 今回は弊社の新オフィス(開発拠点)にて。

mediasoupのスケーラビリティについて

実際に調べたわけではなくてその前段。公式のドキュメントに記述があるので、そこを抜粋したメモです。 mediasoup :: Scalability

mediasoupとGStreamerで録音する

GitHub - leader22/mediasoup-recording 最近こんな参考実装を書いたので、その学びとハマりをメモ。

Chromeの76からiceConnectionStateがfailedにならない

M76は07/30にリリース予定。

WebRTCのDataChannelをもっと手軽に

使いたかったので、ライブラリを書きました。`enhanced-datachannel`という名前でnpmからインストールできます。リポジトリはこちら。 GitHub - leader22/enhanced-datachannel: Wanna `enhance(RTCDataChannel)` for general usage. 以下、ざっくり紹介と、…

Firefox 68から空文字列のcandidateが発行されるように

なります。 つまりどういうことで どういう場合に困るか そもそもどういうことか みたいなのをまとめておきます。

WebRTC Meetup Tokyo #21 に行ってきたメモ #webrtcjp

WebRTC Meetup Tokyo #21 : ATND 今回は五反田にあるFreee社にて。いつだかのNode学園祭の打ち上げで使ったところですね。 夜間入り口はコンビニ横で少しわかりにくい・・w

WebRTCやるのに最低限必要なJavaScriptのAPIについて

JavaScriptでWebRTCやるための基礎知識 - console.lealog(); 春なので書きました。 言うなれば、これの2019年度版です。

OSSのWebRTC SFU mediasoup v3のコードを読む(サーバー/C++後編)

前編はこちら。 OSSのWebRTC SFU mediasoup v3のコードを読む(サーバー/C++前編) - console.lealog();

OSSのWebRTC SFU mediasoup v3のコードを読む(サーバー/C++前編)

C++はまだnoobなんですが、雰囲気を察して読んでみたメモです。サーバー/NodeJS編はこちら。 OSSのWebRTC SFU mediasoup v3のコードを読む(サーバー/NodeJS編) - console.lealog(); 最低限のコードだけでも読んでて息切れするほどにデカいので、前後編にし…

OSSのWebRTC SFU mediasoup v3のコードを読む(サーバー/NodeJS編)

クライアントは読んだので、次はサーバーを。 OSSのWebRTC SFU mediasoup v3のコードを読む(クライアント編) - console.lealog(); こっちもまだ未リリースですが、読むだけなら損はないだろうという話。

addTransceiver() と addTrack() の使い分け

`addStream()`は死にました。 5バージョンくらい前のChromeをサポートしたいとか理由がない限り、忘れてしまってよいです。他人のコードを読んでてコレが出てきたら、メンテされてない or 古いバージョンをサポートしようとしてるの2択です。これからのWebRT…

OSSのWebRTC SFU mediasoup v3のコードを読む(クライアント編)

OSSのSFUである`mediasoup`のコードを読みました。サーバーの実装とJS-SDKがあって、JS-SDKの方です。 GitHub - versatica/mediasoup-client: mediasoup client side JavaScript library 現時点でのstableはv2.xなので、今回読んだv3は次期バージョン。つま…

RTCQuicTransportでチャットをつくる

表題まま。前回記事を書いたように、ChromeのM73からM75までの間、`RTCQuicTransport`のOrigin Trialがはじまります。 WebRTC QUICがChromeでOrigin Trialできるように - console.lealog(); というわけで、`RTCQuicTransport`を使ったなにかを作ろうと思って…

WebRTC Meetup Tokyo #20 に行ってきたメモ #webrtcjp

WebRTC Meetup Tokyo #20 : ATND 今回の会場は永和システムマネジメントさんの東京支社にあるコワーキングスペースでした。 本社は福井県だそうです。

WebRTC QUICがChromeでOrigin Trialできるように

RTCQuicTransport Coming to an Origin Trial Near You (Chrome 73) | Web | Google Developers 今回は翻訳ではなく、気になる点の抜粋です。