【iOSDC Japan 2023 レポート】「配信アプリのためのリアルタイムプッシュ通知ぼかしの夢 〜低負荷で高速なプライバシー保護を目指して」を聞いてきた。
はじめに
年に一度のiOSエンジニアの為のお祭り iOSDC Japan 2023に参加しています。
せっかくなので、参加したセッションのレポートを書きたいと思います。
配信アプリのためのリアルタイムプッシュ通知ぼかしの夢 〜低負荷で高速なプライバシー保護を目指して
登壇者
概要
配信アプリは ReplayKit を介して、画面上の映像を動画のフレームとして受け取ります。動画のフレームには画面に映っているものがすべて含まれているので、プッシュ通知などの内容も見えてしまいます。
映像を調べてプッシュ通知を検出し、該当領域を加工してから配信サーバーに送れば、ユーザーのプライバシー保護に繋げることができます。しかし、リアルタイムの検出と加工をする必要があり、リソースや処理時間の厳しい制約があります。
このトークでは、通知ぼかし機能の説明、数々のハードルを乗り越えて検出と加工処理の合計を約 "2ミリ秒" に収めるまでの工夫について、詳しく解説します。
- ライブ配信と通知ぼかし機能
- 動画のフレームの形式 YCbCr420
- Accelerate で処理を高速化する
- メモリの確保の頻度や量を削減する
- プッシュ通知を検出する
- プッシュ通知を発行元が自社アプリか判定する
引用: fortee
資料
感想
Mirrativeでは、モバイル端末だけで簡単に映像配信できるアプリを作っており、その中で画面上に現れる個人的なPush通知をプライバシー観点から見えなくする為に取り組んだ内容を共有していただけました。
しかも、アプリとして実用する為にはただ隠せばいいわけではなく、リアルタイム配信に耐えうるパフォーマンスである必要があります。
その要件を聞いただけで挫けそうになりそうですが、2019年にもMirrativにおけるプッシュ通知ぼかしへの挑戦として挑戦済みで失敗に終わっていましたが、その処理を参考にはしつつ再度挑戦して今回は実用まで辿り着いていました。
デモ動画では、しっかりプッシュ通知が隠れるようになっており、見た目や動き上の違和感もなく、凄すぎる、、。
Mirrativさんは、これまでにもPiPを応用した革新的な配信コメントバーの機能も実現していたり、
いつも挑戦的なことを成し遂げていて、いつもワクワクさせていただいています。
今回も心が躍るセッションをありがとうございました。
おわりに
色差や輝度の話をもう少しちゃんと理解できるように勉強したいと思います。
iOSDC 2023 レポート関連
Day 0
- 「タクシーアプリの多言語対応・ローカライズにおける課題と解決策」を聞いてきた。
- 「Appleにおけるプライバシーの全容を把握する」を聞いてきた。
- 「SwiftUIの進化についていくためにやったこと」を聞いてきた。
- 「SharePlayの歴史と進化 - そしてvisionOSへ」を聞いてきた。
- 「UIKit ベースの Custom UIContentConfiguration API を用いた複雑なカスタムセルの作り方」を聞いてきた。