Electronの録画エンジンをSwiftで書き直した理由

Rebuilding our Electron meeting-recording engine in Swift

Electronの録画エンジンをSwiftで書き直した理由

Circlebackのデスクトップアプリは、ボットなしでミーティングを録画しクラウドにストリーミングします。録画エンジンは長い間、最も信頼性の低い部分でした。Electronのレンダラープロセスで動作していたため、GCポーズやスロットリングなどの問題に悩まされていました。そこで、macOSではScreenCaptureKit、Windowsではlibobsを使い、Swiftで共有レイヤーを構築してネイティブ化しました。さらに、Swiftの@PublishedプロパティをReactのJotai atomに自動的にブリッジする内部ツール「Atomic」を開発。型安全でグルーコード不要のブリッジを実現しました。また、macOSでは3つのクロックの同期やドライバーの嘘のサンプルレート補正など、エッジケースを自前で処理。クラッシュ耐性のためにフラグメントMP4を採用し、録画は安定しました。

レンダープロセスは、リアルタイムのオーディオ/ビデオキャプチャを行うには間違った場所です。
  1. losteric

    AIが書いた文章を読むのは本当に辛い。軽んじられている気がするのはさておき、あのスタイルは読んでいてすごく疲れる…導入と明かし方のマーケティング的手法や繰り返しは、少量ならまだしも。

  2. blululu

    Claudeにこの記事を書かせた人たちが、Claudeにアプリサイズ、RAM使用量、CPU使用率などのパフォーマンスデータを取らせたらどうなるか興味がある。RAM不足が深刻化する中、AIを活用したソフトウェア開発が500MBのウェブサイトや1GBのElectronアプリを高性能なソフトウェアに変換してくれると本当にありがたい。エージェント型コーディングは、ReactでUIを書くのと同じくらいSwiftUIでもUIを書くのが得意だ。だから、ソフトウェアコミュニティがその生産性向上を高性能なコードに活かせるかもしれない。このプロジェクトにどれだけの時間と労力がかかったのか、そしてスピードとフットプリントの面でエンドユーザーにどれだけの直接的な利益があるのかを知るのは興味深い。

  3. insane_dreamer

    > ここにmacOSエンジンの複雑さが報われる理由がある。

    こんにちは、Claude。

この日のほかの記事

2026-08-21