このトピックでは、ApsaraVideo Player SDKに関するよくある質問に対する回答を提供します。
標準ストリーミング、RTMP、またはHTTP-FLVに使用するプロトコルはどれですか?
ライブストリーミングにはHTTP Flash Video (HTTP-FLV) プロトコルを使用することを推奨します。
リアルタイムメッセージングプロトコル (RTMP) とライブストリーミング用のHTTP-FLV URLは、ApsaraVideo VODコンソールで同時に生成されます。 URLは同じデータを含むが、異なるネットワークプロトコルを使用します。
HTTPは、インターネットを介して情報を送信するための主要なプロトコルです。 Alibaba Cloud CDN、インターネットサービスプロバイダー (ISP) 、仲介デバイス間の接続など、HTTPプロトコルを介した接続は高度に最適化されています。 HTTPプロトコルのデフォルトポートは80で、HTTPSプロトコルのデフォルトポートは443です。 ほとんどの場合、ポートはホワイトリストに追加され、無効にすることはできません。 RTMPは古いプロトコルであり、デフォルトポートとして1935を使用します。 ポート1935は、ファイアウォールによって無効にすることができます。 これにより、エラーが発生する可能性があります。 RTMPと比較して、HTTP-FLVはより安定しており、より良いパフォーマンスを提供します。 例えば、HTTP-FLV上のビデオ再生は、RTMPよりも低いスタッターレート及び低いレイテンシを有します。
再生の失敗
再生の失敗をトラブルシューティングするには?
ビデオ再生の失敗は、ストリームエンコーディングエラー、サーバーまたはネットワークエラー、Alibaba Cloud CDNエラー、フォーマットエラー、バケットエラーなどのエラーが原因で発生する可能性があります。 次のセクションでは、考えられるエラーと対応するソリューションについて説明します。
料金滞納エラー: アカウントの残高を確認してください。 Alibaba Cloudアカウント内に料金滞納がある場合、動画を再生できません。
サーバーエラーまたはネットワークエラー: ビデオの再生に失敗した場合、
4400
エラーコードが返されます。4400
エラーコードは、サーバーまたはネットワークエラーのためにリソースをロードできないことを示します。 SSL証明書が設定されているかどうか、およびSSL証明書が有効かどうかを確認します。フォーマットエラー: ビデオフォーマットはApsaraVideo Playerと互換性がありません。 ApsaraVideo VODでサポートされている再生形式の詳細については、「機能」をご参照ください。
説明M3U8ビデオを再生するには、カスタムドメイン名を使用する必要があります。 ドメイン名を追加する方法の詳細については、「CDNのドメイン名の追加」をご参照ください。
バケットエラー: 指定されたバケットが無効であるか、プライベートバケットの認証情報が期限切れになっています。 バケット認証を無効にし、バケットのアクセス制御リスト (ACL) をpublic-readに設定できます。
クロスリージョンエラー: アクセラレーションドメイン名のリージョンとビデオが再生されているリージョンが同じかどうかを確認します。 リージョンが異なる場合、ビデオの再生は失敗します。 この場合、新しいドメイン名を追加して、既存の高速化ドメイン名のリージョンを高速化または変更できます。
ApsaraVideo VODでビデオを再生できるが、他のプラットフォームでは再生できない場合はどうすればよいですか?
エラーをトラブルシューティングするには、次の手順を実行します。
ApsaraVideo VODにビデオがまだ存在するかどうかを確認します。
高速化ドメイン名が追加されているかどうかを確認します。
高速化ドメイン名が追加されていない場合は、バケットのACLがプライベートであるかどうかを確認します。 バケットのACLが非公開の場合は、認証を無効にし、ACLを公開読み取りに設定します。 この操作は、バケットにリスクをもたらす可能性があります。
高速化ドメイン名が追加されている場合は、認証が有効かどうかを確認します。 認証が有効になっている場合は、署名付きURLの有効期間を長く設定するか、認証を無効にします。 認証を無効にすると、リソースがリスクにさらされます。
ApsaraVideo VODにアップロードされたビデオがiOSデバイスを除くすべてのデバイスで再生できる場合はどうすればよいですか?
原因: iOSデバイスでのSafariの互換性は限られています。 ビデオが高度に圧縮されている場合、またはビデオのエンコーディングプロファイルが高い場合、Safariでビデオを再生できない場合があります。
解決策: ビデオを再生する前にトランスコードすることをお勧めします。 詳細については、「オーディオとビデオのトランスコード」をご参照ください。
長い起動時間
MP4ビデオを再生するときに起動時間が長い場合、ビデオファイルの形式によって再生エラーが発生している可能性があります。 データ解析を高速化するには、moovアトムをmdatアトムの前に配置する必要があります。 mdatアトムはメディアデータを含み、moovアトムはメディアデータのインデックスとして機能します。 メディアファイルをトランスコードして、moovアトムをmdatアトムの前に移動できます。
詳細については、「Recommended output formats and transcoding tools」をご参照ください。
moovアトムの位置を確認するには、次のコマンドを実行します。
# The video source address can be the path of a local file or the URL of an online video. Example: http://pla****.alicdn.com/video/aliyunmedia.mp4. ffmpeg -v trace -i "Video source address" 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'
次の図では、moovアトムはmdatアトムの前に配置されています。 この場合、ビデオは期待どおりに再生できます。
次の図では、mdatアトムはmoovアトムの前に配置されています。 この場合、再生エラーが発生する可能性があります。
ApsaraVideo VODは、起動時間をミリ秒に短縮するAndroidおよびiOS用のApsaraVideo Player SDKの再生ソリューションを提供します。 詳細については、「ApsaraVideo Playerを使用したフルスクリーンモードでのインスタント読み込み」をご参照ください。
暗号化されたビデオの再生
ApsaraVideo Player for WebでDRM暗号化ビデオを再生できない場合はどうすればよいですか?
ApsaraVideo Player for Webを使用して、特定のブラウザでのみデジタル著作権管理 (DRM) を使用して暗号化されたビデオを再生できます。 サポートされているブラウザの詳細については、「ブラウザでサポートされているHTML5プレーヤーの機能」をご参照ください。
HLS暗号化ビデオを再生するときにMtsHlsUriTokenは何に使用されますか? MtsHlsUriTokenを取得するにはどうすればよいですか?
MtsHlsUriTokenはユーザー定義のパラメーターです。 HLS暗号化では、暗号化文字列がHLSストリームに書き込まれ、復号化サーバーのURLがM3U8インデックスファイルに追加されます。 暗号化されたビデオへのアクセスを制限する場合は、ビデオを再生用に復号化する前に、MtsHlsUriTokenを使用してIDを確認できます。
暗号化を設定するときは、MtsHlsUriTokenを生成するようにトークン発行サービスを設定する必要があります。 詳細については、HLS暗号化トピックのEncrytionプロシージャセクションの手順4を参照してください。
クロスリージョン再生
英国 (ロンドン) リージョンのOSSにアップロードされた動画が中国本土からロードされるのに時間がかかる場合はどうすればよいですか?
中国本土のリージョンから英国 (ロンドン) へのアクセスは、クロスリージョンアクセスです。 Global Accelerator (GA) を有効にし、ドメイン名を追加してビデオの読み込みを高速化することを推奨します。
中国本土以外のリージョンからApsaraVideo VODにアクセスすると、ビデオの読み込みに時間がかかり、ビデオの吃音が頻繁に発生する場合はどうすればよいですか?
ほとんどの場合、ネットワーク接続が不安定なときに吃音が発生します。 ビデオの吃音が長期間継続し、ApsaraVideo Playerでエラーが報告された場合、CDNへの接続が中断される可能性があります。 ビデオの吃音が頻繁に発生する場合は、ネットワーク速度がビデオのビットレートと一致するかどうかを確認します。 ネットワーク速度がビデオビットレートと一致しない場合は、ネットワーク速度を上げるか、ビデオビットレートを下げます。
OSSに保存されたビデオの再生
OSSに保存されているビデオを再生するときに多数のリクエストが送信された場合はどうすればよいですか?
ソースビデオが異常かどうかを確認します。 たとえば、プレーヤーがソースビデオを復号化するときに多数のリクエストが送信されているかどうかを確認します。 ApsaraVideo VODトランスコードテンプレートを使用して、再生用のソースビデオをトランスコードすることを推奨します。 詳細については、「オーディオとビデオのトランスコード」をご参照ください。
ApsaraVideo VODにアップロードされた画像のURLをクリックしたときに画像をプレビューするように設定するにはどうすればよいですか。
ApsaraVideo VODに保存されている画像は、カスタムドメイン名を使用してのみプレビューできます。 デフォルトのドメイン名を使用して画像にアクセスすると、画像は強制的にダウンロードされます。 カスタムドメイン名をApsaraVideo VODに追加できます。 詳細については、「CDNのドメイン名の追加」をご参照ください。
SSL証明書
特定のPCでビデオを再生できず、4400
のエラーコードが返された場合はどうすればよいですか?
4400
エラーコードは、サーバーまたはネットワークエラーのためにリソースをロードできないこと、またはビデオ形式がサポートされていないことを示します。 SSL証明書が設定されているかどうかを確認します。
再生URL
ApsaraVideo VODに保存されているビデオの短い再生URLを生成するにはどうすればよいですか?
ビデオが保存されているバケットのACLが非公開の場合、ビデオ再生URLには認証情報が含まれており、URLは長くなります。 バケットのACLがpublic-readまたはpublic-read-writeの場合、認証情報は再生URLに追加されず、URLは短くなります。 ストレージバケットの読み取り権限と書き込み権限の変更方法の詳細については、「VODストレージの管理」をご参照ください。
バケットのACLがpublic-readまたはpublic-read-writeの場合、バケットはホットリンクや不正なダウンロードのリスクにさらされます。 バケットのACLをprivateに設定することを推奨します。
トランスコード形式をHLSに設定した後、トランスコードされていないビデオが再生されないのはなぜですか?
ビデオIDと再生資格情報を使用して、ApsaraVideo Playerでトランスコードされたビデオのみを再生できます。 トランスコードされていないビデオは、再生URLを使用してのみ再生できます。 GetMezzanineInfo操作を呼び出してソースビデオURLを取得するか、ApsaraVideo VODコンソールにログインしてビデオ再生URLを表示できます。
ApsaraVideo VODに保存されたビデオには複数の再生URLがありますか?
ビデオが保存されているバケットのACLが非公開の場合、ビデオの再生URLには有効期限があります。 再生URLのauth_key
パラメーターに含まれる認証文字列は、指定した有効期限によって異なります。
ビデオの永続的な再生URLが必要な場合は、ビデオが保存されているバケットのACLをpublic-readまたはpublic-read-writeに変更する必要があります。 そして、再生URLが生成されます。 ?
の前のコンテンツは永続的な再生URLです。 ストレージバケットの読み取り権限と書き込み権限の変更方法の詳細については、「VODストレージの管理」をご参照ください。
バケットのACLがpublic-readまたはpublic-read-writeの場合、バケットはホットリンクや不正なダウンロードのリスクにさらされます。 バケットのACLをprivateに設定することを推奨します。
Taobaoなどのプラットフォームからビデオの再生URLにアクセスした後、ApsaraVideo VODにアップロードされたビデオをブラウザでのみ再生できるのはなぜですか?
ビデオの再生は、ブラウザとローカルデバイスのトランスコード機能によって異なります。 ほとんどの場合、ビデオを再生するためにブラウザにリダイレクトされます。
更新されたビデオをアップロードした後、新しいビデオを再生できないのはなぜですか?
ビデオを更新したら、再生URLを更新して最新のビデオデータを取得する必要があります。 ApsaraVideo VODコンソールを使用してURLを更新する方法の詳細については、「更新とプリフェッチ」をご参照ください。 ApsaraVideo VOD APIまたはSDKを使用してURLを更新する方法の詳細については、「PreloadVodObjectCaches」または「RefreshMediaPlayUrls」をご参照ください。
ApsaraVideo Playerで各ビデオフレームのピクセルを取得するにはどうすればよいですか?
ApsaraVideo Player for Android:
OnRenderFrameCallback
イベントをリッスンします。ApsaraVideo Player for iOS:
onRenderingFrame
イベントをリッスンします。player.renderingDelegate = self; #pragma mark CicadaRenderingDelegate - (BOOL)onRenderingFrame:(CicadaFrameInfo*) frameInfo{ if(frameInfo.frameType==Cicada_FrameType_Video){ // Obtain the pixels of video frames. NSLog(@"receive HW frame:%p pts:%ld foramt %d", frameInfo.video_pixelBuffer, frameInfo.pts, CVPixelBufferGetPixelFormatType(frameInfo.video_pixelBuffer)); } else if (frameInfo.frameType==Cicada_FrameType_Audio){ // This feature is not supported for audio. } return NO; }
ApsaraVideo Player for Web: ビデオフレームのピクセルは取得できません。
APIまたはSDKを使用してApsaraVideo VODにアップロードされたAVIビデオの再生URLを取得できないのはなぜですか。
GetPlayInfo操作を呼び出してAVIビデオを取得することはできません。 したがって、この操作を使用するSDKを使用してAVIビデオの再生URLを取得することはできません。
ApsaraVideo VODコンソールでAVIビデオの再生URLを表示できます。 詳細については、「オーディオ /ビデオファイルの照会」をご参照ください。
再生吃音
ビデオの吃音を減らし、キャッシュヒット率を向上させるにはどうすればよいですか?
URL署名、更新とプリフェッチ、キャッシュTTL、およびパラメーターのフィルタリングの設定を構成できます。
プログレスハンドルをプログレスバーの中央にドラッグすると、ビデオの吃音が発生した場合はどうすればよいですか?
プログレスバーのプログレスハンドルをドラッグすると、ApsaraVideo Playerは、必要なビデオ画像を表示しようとする位置の前後にキーフレームを読み込みます。 スタッタリングは、キーフレームが不十分で、必要なビデオ画像が表示されるのにより多くの時間がかかるときにビデオで発生します。 この場合、ビデオをトランスコードして、ビデオにキーフレームを追加することをお勧めします。 トランスコードの詳細については、「オーディオとビデオのトランスコード」をご参照ください。
ビデオのサムネイル
ビデオのサムネイルを取得できないのはなぜですか?
デフォルトでは、ApsaraVideo VODコンソールはHTTPSプロトコルを使用します。 HTTPSを使用している場合にのみ、スクリーンショットを表示およびプレビューできます。 ブラウザ開発者ツールを開いて、エラーの詳細を表示することもできます。
ビデオレビュー
手動レビューのために提出されたビデオを再生できないのはなぜですか?
ApsaraVideo VODには、公開後のレビューと公開前のレビューの2つのレビューモードがあります。 後者を使用する場合、ビデオがレビューに合格した後にのみビデオを再生できます。 次の項目は、2つのレビューモードの違いを説明します。
公開後のレビュー: ビデオがトランスコードされると、ビデオはNormalとしてマークされ、再生できます。 コンテンツモデレーションモジュールでビデオの手動レビューを実行する必要があります。 ビデオをブロックすると、ビデオを再生できません。
公開前のレビュー: ビデオがトランスコードされると、ビデオはレビューとしてマークされ、再生できません。 ビデオがレビューに合格した後にのみビデオを再生できます。
パラメーター解析
ビデオIDとは何ですか? ビデオIDが必要なのはなぜですか? ビデオIDを取得するにはどうすればよいですか?
ビデオファイルをアップロードすると、ApsaraVideo VODはビデオURLではなくビデオIDを提供し、ビデオファイルのセキュリティを確保します。 ApsaraVideo VODでAPI操作を呼び出すことで、ビデオURLを取得できます。 詳細については、「GetPlayInfo」をご参照ください。
ApsaraVideo VODにビデオをアップロードした後、ビデオIDを取得できます。
ApsaraVideo VODコンソールを使用してビデオIDを取得することもできます。 ビデオIDを取得するには、次の手順を実行します。
ApsaraVideo VODコンソールにログインします。
左側のナビゲーションウィンドウで、[メディアファイル] > [オーディオ /ビデオ] を選択します。
表示されるページで、ビデオIDを取得します。
ApsaraVideo VODコンソールを使用して取得したビデオIDを使用して、ダウンロード機能と再生機能をテストできます。 ApsaraVideo VODにビデオをアップロードする方法の詳細については、「概要」をご参照ください。
AccessKey IDとAccessKey secretは何ですか? AccessKey IDとAccessKeyシークレットを取得するにはどうすればよいですか。
AccessKey IDとAccessKey secretは、Alibaba Cloud APIの呼び出しに使用できる唯一の資格情報です。 AccessKey IDは、本人確認に使用されます。 AccessKeyシークレットは、アクセス要求の署名文字列を暗号化するために使用されます。 これにより、データの改ざんが防止されます。 AccessKeyシークレットはログインパスワードに似ています。 AccessKeyを秘密にしてください。
AccessKey IDとAccessKeyシークレットを取得するには、次の手順を実行します。
ApsaraVideo VODコンソールにログインします。
右上隅のプロフィール写真の上にポインターを移動し、[AccessKeyの管理] をクリックします。
AccessKeyペアページで、AccessKeyペアを作成するか、既存のAccessKey IDのAccessKeyシークレットを表示します。
playKeyとは何ですか? playKeyを取得するにはどうすればよいですか?
playKeyはAPIキーです。 ApsaraVideo Player SDKがビデオの再生URLを取得するときの認証に使用されます。 再生認証は、Alibaba Cloud AccessKey認証に基づいてApsaraVideo VODによって実装されるセカンダリ認証メカニズムです。 playKeyはホットリンクを防ぐことができます。 デフォルトでは、ApsaraVideo VODはFlash、HTML5、iOS、Android用のプレイキーを提供し、ビデオ再生要件を満たします。
セキュリティを確保するには、携帯電話に送信される確認コードを入力して、playKeyを表示する必要があります。
次の手順を実行して、playKeyを取得します。
ApsaraVideo VODコンソールにログインします。
左側のナビゲーションウィンドウで、
を選択します。 [ダウンロード] ページで、[ダウンロード] をオンにします。 [ダウンロードの有効化] ダイアログボックスで、[セキュアダウンロード] を選択し、[OK] をクリックします。[キーの取得] セクションで、[一意のアプリ識別子] および [秘密鍵] パラメーターを設定します。
[キーの生成とダウンロード] をクリックします。
playAuthとは何ですか? playAuthを取得するにはどうすればよいですか?
ApsaraVideo Playerは、さまざまなシナリオに適した3つの再生モードをサポートしています。 他の再生モードと比較して、playAuthベースの再生はより安全です。 ビデオの再生にはsetAuthInfoモードを使用することを推奨します。
playAuthは、ビデオID、AccessKey ID、およびAccessKeyシークレットがパッケージ化され、暗号化された再生資格情報です。 playAuthを取得したら、さまざまな情報を含むデータの文字列を使用して、ApsaraVideo Playerでビデオを再生できます。
再生モード | シナリオ | 説明 | 推奨 |
setDataSource | テスト | この再生モードを使用するには、AccessKeyペアをクライアントに書き込む必要があります。 クライアントがクラックされた場合、AccessKeyペアが漏洩する可能性があります。 | ビジネス環境では、この再生モードを使用しないことをお勧めします。 |
setAuthInfo | 商用利用 | 安全な再生モード。 ビデオURLやリンクは公開されません。 | ビジネス環境でこの再生モードを使用することを推奨します。 |
URLベースの再生 | ローカルビデオおよびURLに基づくビデオの再生 | 他のプラットフォームでビデオを再生するために使用できるシンプルな再生モード。 | ローカルビデオやオンラインビデオを再生する必要があるときに、この再生モードを使用できます。 |
プロセス: サーバは、playAuthを取得し、playAuthをクライアントに送信する。 次に、クライアントはビデオを再生します。
ApsaraVideo VOD SDKを使用して、再生資格情報を取得します。
ApsaraVideo Player SDKは、ビデオIDと再生資格情報に基づいて、ApsaraVideo VODからビデオの再生URLを取得します。 次に、ApsaraVideo Player SDKがビデオストリームをロードおよびデコードし、ビデオを再生します。
再生資格情報は100秒間有効で、指定されたビデオの再生URLのみを取得するために使用できます。 再生資格情報は再利用できません。 期限切れの再生資格情報を使用して再生URLを取得することはできません。 この場合、新しい再生資格情報を取得する必要があります。
ApsaraVideo Player SDKは、再生URLを自動的に取得し、ビデオをデコードし、再生資格情報に基づいてビデオを再生します。 再生URLは30分間有効です。 再生資格情報の有効期限が切れた場合は、新しい再生資格情報を取得してApsaraVideo Player SDKに渡し、再生URLを更新します。
Alibaba Cloudアカウントのセキュリティを確保するため、特にApsaraVideo Player SDK for Webを使用する場合は、RAMユーザーのAccessKeyペアを使用することを推奨します。