Alibaba Cloud プッシュ SDK は、クライアントからストリームをアップストリーミングするためのソフトウェア開発キット (SDK) です。この SDK は、Alibaba Cloud の強力なコンテンツ配信ネットワーク (CDN) とリアルタイムの音声およびビデオ通信技術を基盤として構築されています。使いやすい API、スムーズなネットワーク適応エクスペリエンス、複数ノードにわたる低遅延の最適化、音声およびビデオライブストリーミングのための強力なリアルタイムレタッチ機能を提供します。このトピックでは、プッシュ SDK、その特徴、コアとなる利点、シナリオ、およびワークフローについて説明します。
製品概要
Alibaba Cloud プッシュ SDK は、クライアントからストリームをアップストリーミングするための開発ツールです。この SDK は、Alibaba Cloud の強力な CDN とリアルタイムの音声およびビデオ通信技術に基づいています。使いやすい API、スムーズでネットワークに適応した再生エクスペリエンス、複数ノードにわたる遅延の最適化、強力なリアルタイムレタッチ、およびその他の音声およびビデオライブストリーミングサービスを提供します。プッシュ SDK は無料です。アーキテクチャ設計の複雑さとメンテナンスコストを削減し、ビジネスロジックとユーザーエクスペリエンスに集中できるようにします。詳細については、「プッシュ SDK ページ」をご参照ください。
Alibaba Cloud プッシュ SDK は、Queen のスマートレタッチエフェクトを統合しています。顔のスリム化、顔のリサイズ、目の拡大、肌の美白など、顔認識を使用する高度なレタッチ機能を提供します。
Queen のスマートレタッチ機能を統合するには、ライセンスを申請する必要があります。製品と申請プロセスの詳細については、「スマートレタッチ」をご参照ください。
シナリオ
シナリオ 1: 教育ライブストリーミング
シナリオの説明: 教育ライブストリーミングは、教師と生徒の間のインタラクションに焦点を当てています。ライブ教室では、Alibaba Cloud の インタラクティブメッセージ を使用して、リアルタイムのテキストベースのインタラクションを有効にできます。プッシュ SDK を使用すると、教師は生徒の質問にタイムリーかつ効果的に回答できます。プッシュ SDK は、クラウドベースの録画およびトランスコーディング機能も提供します。これにより、生徒はいつでも授業のビデオ録画を再生してコンテンツを確認し、学習を強化できます。
使用上の注意: ApsaraVideo Live をアクティブ化し、録画およびトランスコーディング機能を有効にします。プッシュ SDK と インタラクティブメッセージ SDK を統合して、ライブ教室または質疑応答 (Q&A) サービスを実装します。再生クライアントで ApsaraVideo Player SDK を使用して、低遅延でインタラクティブ性の高い教育シナリオでライブストリームを視聴したり、ビデオコースを再生したりします。
シナリオ 2: エンターテインメントライブストリーミング
説明: エンターテインメントライブストリーミングは、携帯電話の普及により人気が高まっています。レタッチやフィルター効果はストリーマーにとって不可欠です。ストリーマーは、リアルタイムチャット、いいね、報酬を通じて視聴者と対話し、人気とエンゲージメントを高めます。しかし、モバイルエンターテインメントライブストリーミングへの参入障壁は低いです。コンテンツは、ポルノやテロリズムなどのセキュリティ上の理由から、厳密にモデレートする必要があります。ライブストリーミングのポルノ検出機能を使用して、モデレーションコストを削減できます。
使用上の注意: ApsaraVideo Live をアクティブ化し、録画およびポルノ検出機能を有効にします。プッシュ SDK を統合し、アップストリーミングのレタッチ機能を有効にします。インタラクティブチャットシナリオに インタラクティブメッセージ を統合します。これにより、ユーザーはライブストリーム中にチャットパネルでテキストや画像などの情報を送信できます。この機能を使用して、インスタントメッセージング (IM) と支払いサービスを組み合わせて、カスタムギフトシステムを構築することもできます。再生クライアントでは、ApsaraVideo Player SDK を使用してライブストリームやリプレイを視聴します。
シナリオ 3: ゲームライブストリーミング
シナリオの説明: モバイルゲームのライブストリーミングは、画面録画技術を使用してゲーム画面とカメラフィードをマージすることで実装されます。その後、プッシュ SDK を使用してマージされたストリームをアップストリーミングします。これには、SDK が画面録画機能をサポートする必要があります。ストリーマーと視聴者の間のインタラクションは、エンターテインメントライブストリーミングの場合と似ています。Alibaba Cloud インタラクティブメッセージ SDK を使用して、チャット、いいね、報酬などのインタラクティブ機能を実装できます。ゲームのエキサイティングなクリップをリプレイするには、ライブストリーム録画サービスを使用できます。
使用方法: ApsaraVideo Live をアクティブ化し、ライブストリーム録画サービスを有効にします。プッシュ SDK を統合し、そのライブストリーム録画機能を使用します。インタラクティブチャットシナリオに インタラクティブメッセージ を統合します。これにより、ユーザーはライブストリーム中にチャットパネルでテキストや画像などの情報を送信できます。この機能を使用して、インスタントメッセージング (IM) と支払いサービスを組み合わせて、カスタムギフトシステムを構築することもできます。ApsaraVideo Player SDK を統合して、ライブストリームやハイライトリプレイを視聴するためのインスタント再生と動的フレーム同期を有効にします。
インタラクティブストリームでは、ARTC + バイパスプッシュソリューションを使用できます。詳細については、「共同ストリーミングの概要」をご参照ください。
コアとなる利点
シンプルで統合が容易
この SDK は、Android と iOS 向けに統一された API とエラーコードを提供します。また、さまざまな開発アーキテクチャの統合ニーズを満たすために、同期 API と非同期 API も提供しています。包括的な API ドキュメントとデモをリファレンスとして利用できます。
オールインワンソリューション
この SDK は、ビデオキャプチャ、レンダリング、アップストリーミング、トランスコーディング、配信、再生をカバーするオールインワンのビデオライブストリーミングソリューションを提供します。クライアントでのアダプティブビットレートアップストリーミング、クラウドでのナローバンド HD トランスコーディング、視聴者クライアントでのインスタント再生がシームレスに連携し、高品質なエンドツーエンドのサービスを提供します。
高性能と低遅延
この SDK は、低いアップストリーミングのカクつき率、低い CPU とメモリ消費、低い消費電力、最小限の発熱で、業界をリードするパフォーマンスを提供します。2,500 を超えるグローバルなライブストリーミングノードが、すべてのリージョンで低遅延を保証します。
WebRTC アップストリーミング
この SDK は、UDP プロトコルに基づく Web Real-Time Communication (WebRTC) アップストリーミングを提供します。コンソールは、WebRTC アップストリーミングドメインのセルフサービスアクティベーションをサポートしています。WebRTC アップストリーミングは、アップストリームのネットワーク品質が低い場合に、カクつきに対する耐性が向上します。
基本的な概念
ビットレート制御: ビデオストリームのビットレートを制御するために使用される最適化されたエンコーディングアルゴリズムです。同じビデオエンコーディング形式の場合、ビットレートが高いほど多くの情報が含まれ、画像が鮮明になります。その逆も同様です。
フレームスキップ: ビデオフレームを送信する際に、ネットワーク品質が悪く、ビデオフレームの深刻なバックログが発生した場合、フレームをドロップしてアップストリーミングの遅延を減らすことができます。
インイヤーモニタリング: ストリーマーがヘッドフォンを通して自分の声をリアルタイムで聞くことができます。たとえば、ストリーマーがヘッドフォンで歌っているとき、ピッチをコントロールする必要があります。この場合、インイヤーモニタリングを有効にする必要があります。これは、ネットワークを介して耳に伝わる音と、空気を介して伝わる音が大きく異なるためです。ストリーマーは、視聴者が聞くのと同じように音声を聞く必要があります。
音声ミキシング: 複数のソースからの音を単一のステレオまたはモノラルオーディオトラックに結合します。プッシュ SDK は、音楽と人間の声をミキシングすることをサポートしています。
特徴
特徴 | 説明 |
RTMP アップストリーミング | リアルタイムメッセージングプロトコル (RTMP) を介したアップストリーミングをサポートします。RTMP、FLV、HLS、および ARTC を介したストリームフェッチングをサポートします。180p から 720p までの解像度をサポートします。540p の使用を推奨します。 説明 Alibaba Cloud プッシュ SDK は、リアルタイムストリーミングプロトコル (RTSP) を介したアップストリーミングをサポートしていません。RTSP アップストリーミングを実装するには、FFmpeg などのサードパーティツールを使用して、RTSP ストリームを RTMP プロトコルに変換します。 |
WebRTC アップストリーミング | UDP に基づく ARTC プロトコルを介したアップストリーミングをサポートします。 |
画面録画ライブストリーム | iOS は ReplayKit を使用したライブストリーミングのための画面録画をサポートしています。Android は、ライブストリーミングのためのカメラと画面録画の混合ストリームをサポートしています。 同じビットレートでより良い画質を提供するナローバンド HD をサポートします。 |
SEI 情報の挿入 | ライブストリームへの SEI メッセージの挿入をサポートします。プレーヤーで SEI メッセージを解析して、さまざまなビジネス機能を実装できます。 |
アニメーションウォーターマーク | ライブストリーム中にリアルタイムでアニメーション効果付きのウォーターマークを追加または削除することをサポートします。 |
外部の音声およびビデオストリームのアップストリーミング | ライブストリーミングのために外部の音声およびビデオデータストリームをアップストリーミングすることをサポートします。 |
背景イメージの取り込み | アプリがバックグラウンドに切り替えられたときに、指定されたイメージをアップストリーミングすることをサポートします。また、ネットワーク接続が悪い場合にビデオストリームをイメージに置き換えることもサポートします。 |
音声およびビデオエンコーディング | H.264 ビデオエンコーディング (ソフトウェアおよびハードウェア) と AAC 音声エンコーディング (ソフトウェアおよびハードウェア) をサポートします。 |
リアルタイムレタッチ | 肌の平滑化、肌の美白、顔のスリム化、顔のリサイズ、目の拡大など、顔認識に基づく高度なレタッチをサポートします。 |
アダプティブビットレート | ネットワークの状態に基づいてアップストリーミングのビットレートを自動的に調整することをサポートします。ライブストリーミングをよりスムーズにするための複数のモードをサポートします。 |
アダプティブ解像度 | ネットワークの状態に基づいてアップストリーミングの解像度を自動的に調整することをサポートします。この機能は、高画質モードと低画質モードでのみ利用可能です。 |
バックグラウンドアップストリーミング | アプリがバックグラウンドに切り替えられた後も、継続的なアップストリーミングをサポートします。アプリが前景に戻ると、アップストリーミングが継続されます。 |
ステレオアップストリーミング | ステレオアップストリーミングをサポートします。アップストリーミングをモノラルまたはステレオに設定できます。 |
複数のウォーターマーク | 複数のウォーターマーク (最大 3 つ) の追加をサポートします。ウォーターマークの位置とサイズを設定できます。 |
横向きでのアップストリーミング | 縦向き、横向き (左)、横向き (右) の 3 つの向きでアップストリーミングを開始することをサポートします。 |
収集パラメーター | 解像度、フレームレート、音声サンプリングレート、GOP、ビットレートなど、複数の収集パラメーターを設定して、さまざまなシナリオのニーズに対応することをサポートします。 |
ミラーリングアップストリーミング | カメラプレビューとアップストリーミングされるストリームのミラーリングを個別に設定することをサポートします。ミラーリング機能は、フロントカメラではデフォルトで有効にする必要があります。 |
音声のみのアップストリーミング | 音声ストリームのみを収集してアップストリーミングすることをサポートします。これにより、音声のみのシナリオで帯域幅とトラフィックを節約できます。 |
ミュートでのアップストリーミング | アップストリーミング中にマイクをミュートして、ビデオのみをプッシュすることをサポートします。 |
オートフォーカス | オートフォーカス機能の有効化または無効化をサポートします。手動フォーカスも使用できます。 |
カメラズーム | カメラでサポートされている最大ズーム比までカメラプレビューをズームすることをサポートします。 |
カメラの切り替えとフラッシュ | フロントカメラとリアカメラの切り替え、およびフラッシュのオン/オフ (リアカメラのみ) をサポートします。 |
バックグラウンドミュージック | 開始、停止、一時停止、再開、ループ再生機能を含むバックグラウンドミュージックの再生をサポートします。 |
音声ミキシング | 音楽と人間の声をミキシングすることをサポートします。音楽と音声のボリュームを個別に調整できます。 |
インイヤーモニタリング | インイヤーモニタリングをサポートします。たとえば、ストリーマーがヘッドフォンで歌うとき、自分の声をリアルタイムで聞くことができます。これはカラオケシナリオに適しています。 |
ノイズリダクション | 周囲の音や携帯電話の干渉によって引き起こされるノイズのノイズリダクションをサポートします。 |
SDK ワークフロー
基本的なプッシュ SDK のワークフロー
クライアントアプリは AppServer にアップストリーミング URL をリクエストします。
AppServer は、事前定義されたルールに基づいてアップストリーミング URL を構築し、アプリに返します。
アプリはアップストリーミング URL をプッシュ SDK に渡し、SDK を使用してアップストリーミングを開始します。
プッシュ SDK はライブストリームを CDN にプッシュします。
開発サポート
プッシュ SDK の使用中にご質問やご提案がある場合は、「プッシュ SDK の問題に関するセルフサービスのトラブルシューティング」で技術サポートをご確認いただけます。