Amazon Web Services ブログ
BytePlus Effects と Amazon IVS を使ったリアルタイム AR 効果でユーザーエンゲージメントを向上させる方法
このブログ記事は Chen Xiaoyu(BytePlus社 MLソリューションディレクター)と Hao Chen(Customer Success Engineer on the Amazon IVS team) および Tian Shi(Senior Solutions Architect at AWS)の共著によるものです。
Sandvine’s Global Internet Phenomena Report によると、2022 年の全インターネットトラフィックの 65 %以上が動画コンテンツでした。この数字は 2021 年から 24 %増加しており、クリエーターたちがストリーミング動画を通じて視聴者にリーチするために利用可能なプラットフォームの増加に伴い、さらに増えていく傾向にあります。
広大で、多様性に富み、更に成長していく市場に対し、あなたのユーザー生成コンテンツ (UGC) プラットフォームを際立たせるのは至難の業でしょう。いくつかのプラットフォームが成功を収めているひとつの方法として、拡張現実 (AR) のような機能を加えるというものがあります。
BytePlus Effects は、AR エンゲージメントツールの広範囲にわたるライブラリを有する SDK であり、デベロッパーがどのようにこれらの機能を素早く組み込むことができるかという一例です。SDK はオフラインで提供されますので、全てのエフェクトはユーザーのデバイス上で、クラウドに個人データを送信することなく作成されます。 このアプローチにはいくつか長所があるものの、ユーザーとの信頼を確立するポジティブな体験を創りあげるには高性能化とユーザーデータのプライバシーが最重要課題です。
BytePlus Effectsはあなたのライブストリーミング UGC プラットフォームとインテグレートすることもできます。このブログ記事では、Amazon intaractive video service (Amazon IVS) へ配信する iOS アプリケーションをライブラリを使って生成する方法について紹介します。
必要なもの
まず、必要なものをセットアップしてください:
- AWS アカウント (Amazon IVS Console を使います)
- Amazon IVS ストリーミングチャンネル (Amazon IVS Console から直接または Amazon IVS API を介して生成します)
ストリーミングチャンネルを生成したら、Amazon IVSが提供する以下の情報を確認してください:
- インジェストサーバーのURL
- ストリームキー
- プレイバック URL
Amazon IVS チャンネルに関する完全ガイドについては、Getting Started with Amazon IVS ガイドを参照してください。
SDK のインストール
SDKを簡単にインストールするには、CocoaPods を介して SDK をインテグレートするのをお勧めします。Amazon IVS も BytePlus も両方とも CocoaPods に対応しています。詳しくは Amazon IVS Broadcast SDK (iOS) Istallation Guide と BytePlus Effect SDK (iOS) Instration Guide をご覧ください。
インテグレートステップ
デフォルトとして、Amazon IVS iOS broadcast SDK は、ストリーミングのためにデバイスカメラ画像を制御し撮像するための API を提供します。BytePlus Effect SDK をインテグレートするために、デバイスカメラを制御し、BytePlus Effect SDK を使って画像を処理し、処理した画像を CustomImageSource を介して IVS ブロードキャスト SDK に転送してストリーミングするアプリケーションロジックを作ります。このブログ記事では、Amazon IVS iOS broadcast SDK と BytePlus Effect SDK に対応する Object-C code を使ったインストールステップを紹介します。
- ブロードキャストセッションをセットアップ
CustomImageSource
設定をセットアップ- 動画キャプチャーをセットアップ
- 本例では BytePlus Effect SDK に
BEVideoCapture
を介してカメラにアクセスさせますが、アプリケーションデベロッパーは他の入力ソースを選んで使用しても構いません。 - 撮像した画像を BytePlus Effect SDK を使って処理
CustomImageSource
に処理した画像バッファを送信- 配信をスタート
配信セッションのセットアップ
詳細なSDKマニュアルについては、GitHub 上にある Amazon IVS Documentation page と sample application をご覧ください。
CustomImageSource
を配信設定でセットアップ
CustomImageSource
は Amazon IVS Broadcast SDK の拡張機能です。これによりアプリケーションデベロッパーはカスタム入力ソースから画像バッファを提出し、ストリーミングできます。
配信設定
CustomImageSource
を配信セッションの入力ソースとして使用して、まず配信設定をセットアップする必要があります。本例では、プレセットした設定standardPortrait
を使います。
ミキサースロット設定
CustomImageSource
を入力ソースとして使うために、Broadcast SDK のミキサー機能を使って、カスタムミキサー設定を生成します。ミキサーとは、複数の入力ソース(スロット)を受け取り、インジェスト用のひとつの出力を生成する動画処理ユニットです。例示のために本例では使用するスロットはひとつです。
最後に上記の設定で配信セッションをセットアップします。
動画キャプチャーのセットアップ
デモンストレーション目的では、BytePlus Effect SDKのAPI BEVideoCapture を使って、動画キャプチャーをセットアップします。
BytePlus Effect SDK の初期化
デバイスカメラで動画を撮影
BytePlus Effect SDK を使って撮像画像を処理
BEVideoCapture
が提供する以下の videoCapture
プロキシ方法では、撮影した CMSampleBufferRef
をデバイスカメラから転送して処理します。
BytePlus Effect SDK を使ってカメラからのバッファを処理
実際の画像処理は、次のprocessWithCVPixelBuffer機能で行われます。
出入力画像バッファのセットアップ
画像の処理
BytePlus Effect SDK 初期化で前にセットアップした BEEffectManager
オブジェクトである self.manager
を使います。
処理した画像バッファを CustomImageSource に送信
処理済み画像バッファが準備出来たら、前のステップでセットアップした配信セッションの CustomImageSource
に送信します。
動画配信を開始
インテグレーションの結果
フェイスシェイピングのデモ 左:ソースの iPhone アプリケーション、右: Amazon IVS チャンネルからの HLS 出力
画像フィルタリングのデモ 左:ソースの iPhone アプリケーション、右: Amazon IVS チャンネルからの HLS 出力
このインテグレーションはさらにカスタマイズすることができます。BytePlus Effect SDK は、BEImageCapture
や BELocalVideoCapture
などの様々な画像ソースの処理をするために汎用型のインテグレーションオプション を提供しています。
アプリケーションアーキテクチャ
Amazon IVS Broadcast SDK と BytePlus Effect SDK の両方を iOS モバイルアプリケーションにインテグレートしました。BytePlus Effect SDK を使って、デバイスカメラからの動画を処理し、IVS Broadcast SDK に送信して、ストリーミングしました。
BytePlus について
ByteDance technologyから生まれたBytePlusは、クライアントが様々なインテリジェント技術ソリューションで成長の最大化をお手伝いします。スペシャリストの専門チームがお客様に協力して、より良い製品づくり、より良い体験、そしてビジネスの成長を実現するために、専門家集団がお客さまと手を携えてお手伝いします。