IVS iOS Broadcast SDK の既知の問題と回避策 | Low-Latency Streaming
このドキュメントでは、Amazon IVS Low-Latency Streaming iOS Broadcast SDK を使用する際に発生する可能性のある既知の問題の一覧を示し、可能な回避策を提案します。
-
ストリーム中に有線ヘッドセットを接続すると、メモリが急増する ReplayKit のバグがあります。
回避方法: 有線ヘッドセットがすでに接続されている状態でストリームを開始する、Bluetooth ヘッドセットを使用する、あるいは外付けマイクは使用しないでください。
-
ReplayKit ストリーム中にマイクを有効にしてからオーディオセッションを中断した場合 (例えば、電話をかけたり、Siri を起動したりするなど) 、システムオーディオは機能しなくなります。この ReplayKit のバグは、Apple と協力して解決を図っています。
回避方法: 音声が中断した場合は、ブロードキャストを停止し、ユーザーに警告します。
-
AVAudioSessionカテゴリがrecordに設定されている場合、AirPods はオーディオを録音しません。デフォルトでは、SDKはplayAndRecordを使用するため、カテゴリがrecordに変更された場合にだけ、この問題が発生します。回避方法: AirPods がオーディオの録音に使用される可能性がある場合は、アプリケーションがメディアを再生していない場合でも
playAndRecordを使用します。 -
AirPods が iOS 12 デバイスに接続されているときに、他のマイクを使用してオーディオを録音することはできません。内蔵マイクに切り替えようとするとすぐに AirPods に戻ります。
回避策: 該当なし。AirPods が iOS 12 に接続されている場合は、それがオーディオを録音できる唯一のデバイスです。
-
(カスタムオーディオソースを使用して) 実際の速度よりも高速にオーディオデータを送信すると、オーディオドリフトが発生します。
回避方法: 実際の速度よりも高速にオーディオデータを送信しないでください。
-
高サンプルレート (44100 Hz 以上) と 2 つのチャネルを使用すると、オーディオアーティファクトが 68 kbps 未満のビットレートで表示されることがあります。
回避方法: ビットレートを 68 kbps 以上に上げて、サンプルレートを 24000 Hz 以下に減らすか、チャネルを 1 に設定します。
-
IVSMicrophoneデバイスでエコーキャンセレーションが有効になっている場合、listAvailableInputSourcesメソッドによって返されるマイクソースは 1 つだけです。回避策: 該当なし。この動作は iOS によって制御されます。
-
Bluetooth オーディオルートの変更は予測できない場合があります。セッション中に新しいデバイスを接続すると、iOS が入力ルートを自動的に変更する場合があります。また、同時に接続されている複数の Bluetooth ヘッドセットから選択することはできません。これは通常のブロードキャストとステージセッションの両方で起こります。
回避策: Bluetooth ヘッドセットを使用する場合は、ブロードキャストまたはステージを開始する前に接続し、セッション全体を通して接続したままにします。
-
AirPods 自体をケースに入れたままペアリングした AirPods ケースを開いた後に AirPods ポップアップが表示されると、iOS はカメラへのアクセスを削除します。その結果、ブロードキャストまたはステージの動画がフリーズします。
回避策: なし。iOS では、ポップアップのレンダリング中はカメラへのアクセスが完全に無効になるため、サードパーティのアプリケーションがポップアップを非表示にすることはできません。
-
B フレームを有効にすると圧縮品質を向上させることができますが、B フレームが有効な場合、一部のエンコーダーではビットレート制御の精度が低下し、ネットワークの変動中に問題が発生する可能性があります。
回避策: ユースケースにおいて、一貫したビットレートの維持が圧縮効率よりも重要である場合は、B フレームを無効にすることを検討してください。