2022-04-06 (水)
* ElectronとWebRTC
https://github.com/binzume/webrtc-rdp とりあえず,これのホスト側を単体のアプリケーションとして動くようにする.
一通り動いたけど,ストリームの選択画面が無いのでとりあえずデスクトップの共有だけ.ストリームの選択UIも映像に載せてしまってホスト側だけで完結させようと思ったけど,一つのRTCPeerConnectionで映像切り替えるの微妙に扱いにくいのと,Ayame-web-sdkに手を入れなきゃいけないか…….
RTCRtpSender.replaceTrack()
が一番良いのだけど,常に使えるわけではなくてコーデックのオプションが変化するような場合は,removeTrack/addTrackが必要?あと,removeTrackしてもsenderは消えないっぽいけど増え続けるんだろうか…….
Electronアプリケーションをelectron-builderでビルドすると,electron-rebuildは不要だと教えてくれるのだけど,ネイティブモジュールのビルド時にError: Could not detect abi for version 17.3.1 and runtime electron. Updating "node-abi" might help solve this issue if it is a new release of electron
とか言われて色々面倒なので,"npmRebuild": false
を package.jsonに追加して,electron-rebuildでネイティブモジュールのビルドをするように戻す.