このトピックでは、ApsaraVideo VOD の CDN に関するよくある質問にお答えします。
質問のカテゴリ
購入と課金
アクセスの問題と例外
ApsaraVideo VOD で、プレビュー機能が有効にもかかわらず、高速化ドメイン名の MP4 動画プレビューが機能しない
内部ネットワークから ApsaraVideo VOD 動画を再生するためにネットワークアクセスを許可する必要がありますか?
ドメイン名の追加と名前解決
キャッシュ
オリジンフェッチとオリジンサーバー
HTTPS
更新とプリフェッチ
セキュリティ
新しいデータ転送プランの表示
現在有効な、または過去 1 年以内に有効期限が切れたリソースプランの使用量の詳細のみをクエリできます。
課金管理にログインします。
左側のナビゲーションウィンドウで、[予約インスタンスの管理] を選択します。
[予約インスタンスの管理] ページで、[リソースタイプ] を [リソースプラン] に設定して、リソースプランの使用量の詳細を表示します。
[プロダクト名] を ApsaraVideo VOD に設定するか、有効期間やステータスなどの他のフィルター条件を使用してリソースプランをクエリできます。

トラフィックデータの差異
問題
ApsaraVideo VOD コンソールまたは API の データモニタリングまたはリソース使用量機能から取得した高速化ドメイン名のトラフィックデータが、ログから計算されたトラフィックデータと異なります。通常、ログからのトラフィックデータの方が低くなります。
原因
ログから計算されたトラフィックは response_size フィールドに基づいており、アプリケーション層のトラフィックのみを測定します。実際のネットワーク層のトラフィックは、通常、アプリケーション層のトラフィックよりも 7% から 15% 高くなります。この差は、主に次の 2 種類のネットワークオーバーヘッドによるものです。
TCP/IP パケットヘッダー:ネットワーク転送の前に、アプリケーション層のデータはトランスポート層で TCP パケットに、次にネットワーク層で IP パケットにカプセル化されます。IP パケットの最大サイズは 1,500 バイトで、これには 20 バイトの TCP ヘッダーと 20 バイトの IP ヘッダーが含まれます。これらのヘッダーもネットワークトラフィックを消費しますが、アプリケーション層のログには記録されません。このヘッダーオーバーヘッドは、ログに記録されたトラフィックの少なくとも 2.74% を占めます (1,460 バイトのアプリケーションデータごとに 40 バイトのヘッダー)。アプリケーションデータが小さいほど、ヘッダーオーバーヘッドの割合は大きくなります。オーバーヘッドは通常約 3% です。
TCP 再送:複雑なネットワーク環境では、ネットワークの輻輳やデバイスの障害によりパケット損失が発生する可能性があります。通常、データパケットの 3% から 10% がドロップされ、再送される必要があります。オペレーティングシステムのカーネルは、これらの再送をプロトコルスタック層で処理し、アプリケーション層のログには記録されません。このプロセスは追加のネットワークリソースを消費します。
このオーバーヘッドのため、業界の一般的な慣行として、アプリケーション層のトラフィックに 7% から 15% のマージンを加えて最終的な課金対象トラフィックを計算します。ApsaraVideo VOD の CDN は、平均 10% のオーバーヘッドを適用します。したがって、実際の課金対象トラフィック (モニタリングクエリで表示されるトラフィック) は、ログに記録されたトラフィックの 1.1 倍になります。これは 1.1 の TCP 係数として知られています。
中国本土での高速化に関する課金
オリジンサーバーが香港 (中国)、マカオ (中国)、台湾 (中国)、またはその他の中国本土以外のリージョンにあり、中国本土の CDN POP を使用して高速化する場合、中国本土での CDN 高速化の標準料金に基づいて課金されます。
CDN は CDN POP からのアウトバウンドトラフィックに基づいて課金されます。したがって、中国本土の料金に基づいて課金されます。ただし、中国本土の CDN POP が中国本土以外のサーバーからオリジンフェッチを行う際に遅延が発生する可能性があるため、この設定はパフォーマンスに影響を与える可能性があります。オリジンサーバーとユーザーの両方が中国本土以外にいる場合は、Global Accelerator を有効にすることを推奨します。
サービス間でのリソースプランの使用
いいえ。ApsaraVideo VOD は独立したサービスです。ApsaraVideo VOD を使用すると、消費されたストレージ、トランスコーディング、トラフィック、または帯域幅リソースに対して課金されます。ApsaraVideo VOD パッケージには、データ転送プラン、ストレージプラン、トランスコーディングプランなどのリソースプランが含まれています。リソースプランを使用して、ApsaraVideo VOD で消費されたリソースに対してのみ支払うことができます。
予期しないトラフィック料金
ApsaraVideo VOD データ転送プランは、高速化ドメイン名を設定し、高速化サービスの課金方法としてトラフィック課金を選択した場合にのみ有効になります。データ転送プランが有効になると、高速化されたデータ転送のみが相殺され、OSS のアウトバウンドトラフィックは対象外です。超過した使用量は従量課金制で請求されます。データ転送料金が発生した場合は、次の状況を確認してください。
高速化ドメイン名が設定されている
高速化ドメイン名が完全に設定されていない場合、リソースプランで料金を相殺することはできません。 たとえば、ドメイン名を追加したものの、CNAME レコードを設定していない場合などです。 ドメイン名が 通常の操作 状態であることを確認してください。 ApsaraVideo VOD クイックスタート。
リソースへのアクセスに高速化ドメイン名ではなく直接 OSS アドレスを使用すると、ストレージのアウトバウンドトラフィック料金が発生します。詳細については、「ストレージのアウトバウンドトラフィックの課金」をご参照ください。
使用量がプランの容量を超えていないか確認してください。超えている場合は、リソースプランを更新してください。詳細については、「リソースプランの更新」をご参照ください。
高速化ドメイン名が設定されていない
ApsaraVideo VOD で高速化ドメイン名を設定しない場合、サービスはデフォルトで OSS のオリジン URL を返します。このタイプの URL を使用して ApsaraVideo VOD からリソースを再生またはダウンロードすると、ストレージのアウトバウンドトラフィック料金が発生します。
攻撃トラフィックの課金
攻撃や悪意のある水増しトラフィックによって消費された帯域幅に対して課金されます。これらの料金は、ApsaraVideo VOD の帯域幅リソースが消費されるために適用されます。
悪意のある水増しトラフィックや攻撃に対処するには、動画のセキュリティを向上させるか、ピーク帯域幅アラートを設定します。
動画セキュリティ機能の有効化
ビジネスが攻撃のリスクにさらされている場合は、動画のセキュリティを強化して攻撃を困難にすることを推奨します。ApsaraVideo VOD は、ホットリンク、不正なダウンロード、および配信から動画コンテンツを保護するための包括的なコンテンツセキュリティメカニズムを提供します。このメカニズムは、さまざまなビジネスシナリオでのセキュリティ要件を満たすのに役立ちます。詳細については、「メディアセキュリティ」をご参照ください。
ピーク帯域幅モニタリングの有効化
ドメイン名に帯域幅しきい値を設定できます。しきい値に達すると、SMS 通知が届きます。詳細については、「ピーク帯域幅モニタリング」をご参照ください。
4xx ステータスコードの課金
はい。高速化ドメイン名を攻撃や不正トラフィックから保護するために、ホットリンク保護、URL 署名、リモート認証、IP ブラックリストとホワイトリスト、User-Agent (UA) ブラックリストとホワイトリストなどのアクセス制御機能を設定できます。攻撃リクエストがアクセス制御ルールに一致すると、CDN POP は 4xx ステータスコードを返してリソースへのアクセスをブロックします。この場合、CDN POP は攻撃リクエストを処理するために CPU リソースを消費し、4xx ステータスコードを返すためにトラフィックと帯域幅リソースを消費します。したがって、消費されたトラフィックと帯域幅に対して引き続き課金されます。ApsaraVideo VOD のトラフィック課金の詳細については、「基本サービスの課金」をご参照ください。
リソースアクセス時の 404 エラー
Web サーバーが HTTP 404 ステータスコードを返す場合、リクエストされたリソースがサーバー上に存在しないことを示します。これは、URL 生成ルールが変更された、Web ファイルが名前変更または移動された、またはインポートされたリンクにスペルミスが含まれている場合に発生する可能性があります。
リソースのストレージ場所がドメイン名と一致していることを確認してください。同じリージョンに複数のストレージ場所が存在し、ドメイン名が 1 つしか設定されていない場合、ApsaraVideo VOD コンソールはそのリージョンの CDN URL を優先的に返します。ドメイン名にバインドされていないストレージ場所のリソースにアクセスすると、404 エラーが返されます。
CDN またはオリジンサーバーの問題の切り分け
Alikunlun ユーザー診断ツールにアクセスし、ローカルネットワークが正常に機能していることを確認します。
ローカルの
hostsファイルにオリジンサーバーの IP アドレスとそのドメイン名をマッピングするエントリを追加して、サイトへの直接アクセスをテストします。オリジンサーバーへのアクセス時にエラーが発生した場合、問題はオリジンサーバーにあります。サイト管理者に連絡して修正してください。# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 10.10.10.10 www.example.com前のステップで
hostsファイルに追加したエントリをコメントアウトします。次に、pingコマンドを実行して高速化ドメイン名をテストします。コマンドが成功応答を返した場合、CDN POP は正常に機能しています。C:\Users\admin>ping www.example.com Pinging www.example.com [101.x.x.x] with 32 bytes of data: Reply from 101.x.x.x: bytes=32 time=3ms TTL=54 Reply from 101.x.x.x: bytes=32 time=3ms TTL=54 Reply from 101.x.x.x: bytes=32 time=3ms TTL=54 Reply from 101.x.x.x: bytes=32 time=4ms TTL=54 Ping statistics for 101.x.x.x: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 3ms, Maximum = 4ms, Average = 3ms
再生のコマ落ちと 4008/4009 エラーのトラブルシューティング方法
動画再生中にコマ落ちが発生したり、4008 または 4009 エラーが発生した場合は、次のように問題をトラブルシューティングします。
再生リンク診断ツールを使用して、動画再生リンクの自己診断を実行します。
クライアントのネットワーク環境 (4G ネットワークなど) が安定しており、ダウンストリーム帯域幅が動画のビットレートより低くないことを確認します。ネットワークを切り替えて再生をテストすることを推奨します。
再生 URL または TS セグメントのアドレスにアクセスできることを確認し、CDN POP からの異常な応答を除外します。
暗号化された HLS 再生を使用している場合は、プレーヤー設定の
loadDataTimeoutパラメーターが低すぎないか確認します。ブラウザの開発者ツールを使用してリクエストの詳細を調査し、特定のセグメントの読み込みがタイムアウトしているか (エラー
4008に対応)、または 0 バイトを返しているか (エラー4009に対応) を確認します。
Global Accelerator がアクセス速度を改善しない
問題をトラブルシューティングするために、次の項目を確認してください。
中国本土以外のユーザーがリソースにアクセスしようとするときは、ドメイン名が解決される IP アドレスを確認します。これにより、中国本土以外の POP の設定が有効になっているかどうかを判断できます。
中国本土以外の POP のパフォーマンスは、リクエスト量にも依存します。アクセス速度は、リクエスト量が多い場合にのみ向上します。リクエスト数が少ない場合、キャッシュにヒットするリクエストが少なくなります。この場合、中国本土以外の POP を追加しても、それらの地域のユーザーのアクセス速度は大幅に向上しません。
MP4 動画のプレビューが機能しない
ApsaraVideo VOD のプレビュー機能は、MP4 および HLS ファイル形式をサポートしています。MP4 動画の場合、メタデータはファイルの先頭に配置されている必要があります。ファイルの末尾にメタデータがある動画はプレビューできません。ApsaraVideo VOD を使用して動画を MP4 形式にトランスコーディングすると、サービスはメタデータをファイルの先頭に配置します。この問題を解決するには、MP4 動画をトランスコーディングします。トランスコーディングの詳細については、「音声と動画のトランスコーディング」をご参照ください。
内部ネットワークから ApsaraVideo VOD 動画を再生するためにネットワークアクセスを許可する必要がありますか?
ApsaraVideo VOD の CDN は、内部ネットワーク (VPC) からのアクセスをサポートしていません。内部ネットワークから ApsaraVideo VOD リソースを再生するには、次のいずれかの方法を使用します。
ドメイン名を許可する:アウトバウンドのインターネットアクセスを有効にし、API ドメイン名
vod.<RegionId>.aliyuncs.com:443および CDN 高速化ドメイン名へのアクセスを許可します。この方法では、動的 IP アドレスを維持する必要はありません。CDN ノードの IP アドレスを取得する:
DescribeUserVipsByDomainAPI オペレーションを呼び出して、レベル 1 (L1) CDN ノードの IP アドレスを取得し、その IP アドレスをファイアウォールのホワイトリストに追加します。CDN ノードの IP アドレスは動的に割り当てられるため、定期的にホワイトリストを更新してください。OSS 内部ドメイン名を使用する:高速化ドメイン名を
outin-<bucket_id>.oss-<RegionId>-internal.aliyuncs.com形式の OSS 内部ドメイン名に置き換えて、CDN をバイパスし、オリジンサーバーに直接アクセスします。
ワイルドカードドメイン名
ApsaraVideo VOD は、AddVodDomain API オペレーションを使用してワイルドカードドメイン名を追加することをサポートしています。ワイルドカードドメイン名は、ピリオド (.) で始まる必要があります。例:.aliyundoc.com。
「ルートドメインが予約済み」エラー
ApsaraVideo VOD コンソールでドメイン名の追加に失敗し、「The root name of your domain is reserved by other account」というエラーメッセージ「The root name of your domain is reserved by other account, please contact our Business Advisors」が表示された場合、そのルートドメインは既に別の Alibaba Cloud アカウントで Alibaba Cloud CDN、DCDN、または ApsaraVideo VOD に追加されています。
問題を解決できない場合は、チケットを起票してください。チケットの起票方法の詳細については、「お問い合わせ」をご参照ください。
「ドメイン名は既に存在します」エラー
ApsaraVideo VOD コンソールでドメイン名の追加に失敗し、「This domain name already exists」というエラーが表示された場合、そのドメイン名は既に別の Alibaba Cloud プロダクトに追加されています。
高速化ドメイン名は複数回追加することはできません。このエラーが表示された場合は、ドメイン名が ApsaraVideo Live、DCDN、SCDN などの他のクラウドプロダクトに追加されていないか確認してください。
問題を解決できない場合は、チケットを起票してください。チケットの起票方法の詳細については、「お問い合わせ」をご参照ください。
CNAME レコードの検証
検証には ping コマンドを使用しないでください。ping コマンドは不正確な名前解決情報を返す可能性があります。代わりに、nslookup や dig などのクエリツールを使用してください。
Windows
Windows システムのコマンドプロンプト (CMD) または PowerShell で、次のコマンドを実行して CNAME レコードをクエリします。
nslookup -type=CNAME <高速化ドメイン名>返された結果が CDN サービスから提供された CNAME 値と一致する場合、CNAME レコードは有効になっています。
PS C:\Users\admin> nslookup -type=cname cdn.example.com Server: UnKnown Address: 100.100.x.x Non-authoritative answer: cdn.example.com canonical name = cdn.example.com.w.alikunlun.comLinux/macOS
Linux または Mac OS システムのターミナルで、
digコマンドを使用して検証します。CNAME ターゲットアドレスのみをクエリする (推奨):
dig +short <高速化ドメイン名> CNAME返された結果が CDN サービスから提供された CNAME 値と一致する場合、CNAME レコードは有効になっています。以下は結果のサンプルです。
dig +short cdn.example.com CNAME cdn.example.com.w.alikunlun.com.ドメイン名の詳細情報をクエリする:
dig <高速化ドメイン名> CNAMEANSWER SECTIONの CNAME 値が CDN から提供された CNAME 値と同じであれば、CNAME 名前解決が有効になっていることを示します。; <<>> DiG 9.10.6 <<>> cdn.example.com CNAME ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62811 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4000 ;; QUESTION SECTION: ;cdn.example.com. IN CNAME ;; ANSWER SECTION: cdn.example.com. 600 IN CNAME cdn.example.com.w.alikunlun.com. ;; Query time: 67 msec ;; SERVER: 30.30.x.x#53(30.30.x.x) ;; WHEN: Wed Sep 24 19:05:30 CST 2025 ;; MSG SIZE rcvd: 92
高速化ドメイン名の審査失敗
ApsaraVideo VOD に追加されるすべてのドメイン名は、コンテンツ審査を受ける必要があります。ドメイン名の追加に失敗した場合、アクセスルールを満たしていない可能性があります。ドメイン名を追加するための基準と制限の詳細については、「ドメイン名の要件」をご参照ください。
ドメイン名の審査に失敗した場合は、ApsaraVideo VOD コンソールにログインします。設定の管理 > 配信の高速化設定 > ドメイン名 ページに移動して、失敗の理由を確認します。審査に失敗したドメイン名を削除し、理由に基づいてウェブサイトのコンテンツを調整してから、再度ドメイン名を追加して審査を待ちます。
ApsaraVideo VOD の高速化ドメイン名を Web サイトのプライマリドメインと同じにできますか?
いいえ。Web サイトのプライマリドメインと ApsaraVideo VOD の高速化ドメイン名に同じドメイン名を使用しないでください。プライマリドメイン (例:www.example.com) はご自身の Web サーバーに解決してください。別のサブドメイン (例:vod.example.com) を高速化ドメイン名として ApsaraVideo VOD に追加し、そのサブドメインを動画再生に使用してください。
低いキャッシュヒット率の改善
低いキャッシュヒット率は、ユーザーリクエストが頻繁にオリジンサーバーにリダイレクトされることを意味し、不安定なパブリックネットワークリンクのために高速化パフォーマンスが低下する可能性があります。URL のプリフェッチ、キャッシュ有効期限ルールの設定、URL 内の可変パラメーターのフィルタリングによって、キャッシュヒット率を向上させることができます。
次の表に解決策を示します。
ポリシー | 要因とシナリオ | 設定方法 |
ピーク時間前に人気リソースをプリフェッチする | 要因:主要な運用イベントや新しいバージョンのリリース前にリソースが CDN POP にプリフェッチされていない場合、多数のリソースをオリジンサーバーからフェッチする必要があり、キャッシュヒット率が低くなります。 シナリオ:
| |
適切な TTL (Time-To-Live) を設定する | 要因:
シナリオ:静的リソースがオリジンサーバーで公開されているが、CDN POP にキャッシュされていない、または POP にキャッシュされたリソースがすぐに期限切れになる。 設定の推奨事項:
| |
URL のパラメーターを無視する | 要因:リクエスト URL に シナリオ:パラメーターのみが異なる複数の URL から同じリソースを提供したい場合。 | |
大容量ファイルに対して Range オリジンフェッチポリシーを設定する | 要因:ユーザーがダウンロードを途中で停止したり、動画の一部しか視聴しなかったりする場合があります。これらの場合、ユーザーはファイルの特定の範囲にのみアクセスする必要があります。しかし、CDN POP はオリジンサーバーからファイル全体をリクエストします。その結果、CDN POP はユーザーに提供するデータよりも多くのデータをオリジンサーバーからダウンロードし、キャッシュヒット率が低下します。 シナリオ:ユーザーがアプリケーションのインストールパッケージをダウンロードしたり、動画リソースを視聴したりする場合。 |
高速化後のリソースアクセスが遅い
高速化ドメイン名は、ネットワークに CDN POP のレイヤーを追加し、オリジンサーバーからユーザーに近い POP にリソースを配信します。これにより、クライアントは近くの CDN POP からリソースをリクエストして取得でき、オリジンフェッチを減らし、アクセス速度を向上させます。したがって、低速アクセスは次の問題によって引き起こされる可能性があります。
クライアント側のローカルネットワークの問題 (ダウンストリーム帯域幅の不足や不適切な設定など)。
クライアントと CDN POP 間のネットワーク接続不良と高遅延。
CDN POP が正常に機能していない、または応答時間が遅い。
リソースコンテンツが大きく、ダウンロード時間が長い。
CDN POP からオリジンサーバーへのオリジンフェッチ中のネットワーク接続不良。
オリジンサーバー自体の応答時間が遅い。
オリジン間エラー「Access-Control-Allow-Origin」
高速化されたリソースへのリクエストがエラー The 'Access-Control-Allow-Origin' header has a value 'xxx' that is not equal to the supplied origin で失敗します。ブラウザの開発者ツールの [コンソール] パネルには、リクエスト元 (https://vr-mc01.xxx) が Access-Control-Allow-Origin レスポンスヘッダーの値 (https://vr-web01.xxx) と一致しないため、CORS オリジン間エラーが表示されます。この不一致により、リソースの読み込みに失敗し (net::ERR_FAILED)、後続の JS 実行時エラーがトリガーされます。このエラーは、CDN レスポンスの Access-Control-Allow-Origin オリジン間ヘッダーの値がクライアントリクエストの Origin オリジン間ヘッダーと一致しないため、ブラウザがレスポンスをブロックしたことを示します。たとえば、リクエストのオリジン間ヘッダーは「Origin:http://Domain-A」ですが、レスポンスのオリジン間ヘッダーは「Access-Control-Allow-Origin:http://Domain-B」です。
この問題は、次のいずれかの理由で発生する可能性があります。
CDN で設定されたオリジン間ヘッダーが、クライアントリクエストからの
Originヘッダーと一致しない。オリジンサーバーからのオリジン間ヘッダーが CDN によってキャッシュされている。
ブラウザのキャッシュが古い。
ApsaraVideo VOD の高速化ドメイン名はプライマリドメインの SSL 証明書を使用できますか?
いいえ。プライマリドメインの証明書を高速化ドメイン名の証明書として直接使用することはできません。サブドメインの証明書、ワイルドカード証明書、またはシングルドメイン証明書など、高速化ドメイン名に一致する証明書を設定してください。
CSR ファイルを入力したために HTTPS 証明書の設定に失敗した場合の対処法
証明書の内容として証明書署名要求 (CSR) を入力すると、設定は失敗します。CSR は -----BEGIN CERTIFICATE REQUEST----- で始まる証明書要求ファイルであり、発行された証明書ではありません。
設定を修正するには:
Certificate Management Service で証明書インスタンスの詳細を開きます。
-----BEGIN CERTIFICATE-----で始まる発行済みの完全な証明書の内容と、それに対応する秘密鍵を見つけます。ApsaraVideo VOD コンソールにログインします。 設定の管理 > 配信の高速化設定 > ドメイン名に移動します。
高速化ドメイン名を選択し、[HTTPS 設定] を開き、発行済みの完全な証明書と対応する秘密鍵を貼り付けて、設定を保存します。
SSL 証明書のデプロイメントで InsufficientQuota が報告された場合の対処法
InsufficientQuota は、利用可能な証明書デプロイメントクォータが不足していることを示します。次のいずれかの方法を使用してください。
Certificate Management Service コンソールで必要なデプロイメントクォータを購入し、デプロイメントを再試行します。
証明書は無料で手動更新できます。ApsaraVideo VOD コンソールにログインします。設定の管理 > 配信の高速化設定 > ドメイン名 に移動します。ドメイン名を選択し、[HTTPS 設定] を開き、証明書を更新します。
エラーが解決しない場合は、中国語文字を含まないカスタム証明書名で再試行してください。
HTTPS を有効にした後も HTTP リクエストでリソースにアクセスできますか?
はい。ドメイン名に SSL 証明書を設定し、HTTPS セキュアアクセラレーションを有効にすると、HTTP リクエストと HTTPS リクエストの両方でリソースにアクセスできます。このデュアルプロトコルアクセスにより、既存の動画リソースパスが有効に保たれ、中断のないアクセスが維持されます。
トランスコーディングのコールバック URL が HTTPS ではない
ApsaraVideo VOD のコールバックは現在 HTTPS をサポートしていません。ApsaraVideo VOD で HTTPS 証明書を正しく設定している場合は、コールバックメッセージを受信した後、リソース URL の http:// を手動で https:// に置き換えることができます。
スナップショットとサムネイルのコールバックには HTTPS URL が含まれますが、トランスコーディングのコールバックは HTTP URL を返します。
同名ファイルの更新
コンソールから、または API を使用して更新リクエストを送信できます。リソースの更新方法の詳細については、「更新とプリフェッチ」をご参照ください。各 Alibaba Cloud アカウントで 1 日あたり最大 2,000 件の更新リクエストを送信できます。各リクエストには最大 1,000 件の URL を含めることができます。また、1 日あたり最大 100 個のディレクトリのコンテンツを更新することもできます。関連する API オペレーションについては、「更新とプリフェッチ API」をご参照ください。
更新またはプリフェッチ後にリソースが更新されない
問題をトラブルシューティングして解決するには、次の手順を実行します。
ブラウザのキャッシュをクリアしてからページを更新し、リソースが更新されているかどうかを確認します。
ローカルの
hostsファイルを変更して、サイトのドメイン名をオリジンサーバーに直接バインドします。次に、オリジンサーバーに直接アクセスして、そのリソースが更新されているかどうかを確認します。更新されていない場合は、オリジンサーバー上のリソースを更新してから、CDN サービスを使用して高速化します。ApsaraVideo VOD コンソールにログインし、更新またはプリフェッチタスクが完了しているかどうかを確認します。完了していない場合は、タスクを再度実行することを推奨します。
不正な IP アドレスのブロック
IP ブラックリストを設定して、特定の IP アドレスからのアクセスをブロックおよび拒否できます。詳細については、「IP ブラックリストまたはホワイトリストの設定」をご参照ください。
ブラックリスト上の IP が依然としてリソースにアクセスできる
ApsaraVideo VOD コンソールで設定された IP アドレスが正しいかどうかを確認してください。クライアントの IP アドレスを正確に制限するには、X-Forwarded-For ヘッダーからの IP アドレスをブラックリストに追加する必要があります。クライアントの IP アドレスを取得する方法の詳細については、「クライアントの送信元 IP アドレスの取得」をご参照ください。
サーバーとして機能する CDN サービスは、クライアントのアクセス試行を制御できません。IP ブラックリストを設定した後、ブラックリストに登録された IP アドレスから CDN に送信されたリクエストは 403 エラーコードを受け取ります。これらのリクエストのログを表示できます。ログの表示方法の詳細については、「ログのダウンロード」をご参照ください。
403 エラーコードが返された場合、生成されたトラフィックに対して課金されます。実際のリソースコンテンツは配信されないため、レスポンスヘッダーのみがトラフィックを生成し、コストは最小限です。詳細については、「CDN POP が 4xx ステータスコードを返した場合でも課金されますか?」をご参照ください。
ホットリンク保護による 403 エラー
問題
ホットリンク保護を設定した後、ApsaraVideo VOD の高速化されたリソースにアクセスすると 403 エラーが返されます。
原因
ホットリンク保護の設定が正しくないか、リクエストの Referer ヘッダーが空です。
解決策
問題の原因を特定します。
curlコマンドを実行して、高速化ドメイン名へのアクセスをテストします。curl -voa -e "http://demo.aliyundoc.com" http://example.aliyundoc.com次のサンプル出力に示すように、メッセージ
denied by Referer ACLを伴う 403 エラーは、ホットリンク保護の設定が正しくないことを示します。この例では、リクエストの HTTP ヘッダーに値が demo.aliyundoc.com のRefererフィールドが含まれています。* Rebuilt URL to: http://example.aliyundoc.com/ * Trying 101.x.x.144... * TCP_NODELAY set * Connected to example.aliyundoc.com (101.x.x.144) port 80 (#0) > GET / HTTP/1.1 > Host: example.aliyundoc.com > User-Agent: curl/7.54.0 > Accept: */* > Referer: http://demo.aliyundoc.com > < HTTP/1.1 403 Forbidden < Server: Tengine < Date: Sat, 08 Dec 2023 12:36:17 GMT < Content-Type: text/html < Content-Length: 254 < Connection: keep-alive < X-Tengine-Error: denied by Referer ACL ... * Connection #0 to host example.aliyundoc.com left intactcurlコマンドを実行して、Referer ヘッダーなしで高速化ドメイン名へのアクセスをテストします。curl -voa http://example.aliyundoc.comシステムが 403 エラーとメッセージ
denied by Referer ACLを返す場合 (次のサンプル出力参照)、ホットリンク保護が空の Referer ヘッダーを持つリクエストをブロックするように設定されていることを示します。この例では、リクエストの HTTP ヘッダーにRefererフィールドがありません。* Rebuilt URL to: http://example.aliyundoc.com/ * Trying 101.x.x.148... * TCP_NODELAY set * Connected to example.aliyundoc.com (101.x.x.148) port 80 (#0) > GET / HTTP/1.1 > Host: example.aliyundoc.com > User-Agent: curl/7.54.0 > Accept: */* > < HTTP/1.1 403 Forbidden < Server: Tengine < Date: Sat, 08 Dec 2023 12:48:50 GMT < Content-Type: text/html < Content-Length: 254 < Connection: keep-alive < X-Tengine-Error: denied by Referer ACL ... * Connection #0 to host example.aliyundoc.com left intactChrome ブラウザでドメイン名によって高速化された URL を開き、開発者ツールを開きます。リクエストヘッダーに
Refererフィールドが含まれておらず、403 エラーが発生する場合 (次のサンプル出力参照)、ホットリンク保護が空の Referer ヘッダーを持つリクエストをブロックするように設定されていることを示します。403 Forbidden You don't have permission to access the URL on this server. Powered by Tengine Response Headers: Server: Tengine X-Tengine-Error: denied by Referer ACL ... Request Headers: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Host: example.aliyundoc.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 ...
原因に基づいて問題を解決します。
不適切なホットリンク保護設定の解決策
Referer 値 demo.aliyundoc.com が、高速化ドメイン名 example.aliyundoc.com に設定されたホットリンク保護ルールで許可されているかどうかを確認します。
ApsaraVideo VOD コンソールにログインします。 左側のナビゲーションウィンドウで、設定の管理 > 配信の高速化設定 > ドメイン名 を選択します。 目的のドメイン名を見つけ、[操作] 列の [設定] をクリックします。 次に、RAM > [Referer にもとづくホットリンク保護] > 設定の変更 を選択します。 Referer タイプが ホワイトリスト に設定されていて、リクエストされた Referer がホワイトリストと一致しない場合は、ドメイン名 demo.aliyundoc.com をリストに追加します。 たとえば、[Referer にもとづくホットリンク保護] がルール
*.example.comを持つ [ホワイトリスト] として設定され、かつ [ブラウザのアドレスバーからのリソース URL へのアクセスを許可] オプションと [空の Referer フィールドによる CDN リソースへのアクセスを許可] オプションが選択されていない場合、demo.aliyundoc.comからのリクエストはブロックされます。空の Referer ヘッダーの解決策
ApsaraVideo VOD コンソールにログインします。 左側のナビゲーションウィンドウで、設定の管理 > 配信の高速化設定 > ドメイン名 を選択します。 対象のドメイン名を見つけ、[操作] 列の [設定] をクリックします。 次に、RAM > [Referer 不正アクセス防止] > 設定の変更 を選択します。 ブラウザーのアドレスバーからリソース URL へのアクセスを許可する チェックボックスを選択します。
説明空の Referer ヘッダーを持つリクエストを許可すると、ホットリンクのリスクが高まります。
高速化ドメイン名なしでトラフィックスロットリングとホットリンク保護を設定できますか?
いいえ。ApsaraVideo VOD における、ホットリンク保護を含む速度制限およびRAM機能には、高速化ドメイン名が必要です。高速化ドメイン名を追加していない場合、これらのセキュリティポリシーを設定することはできず、ポリシーも有効になりません。
Web Player SDK のロード後にアンチデバッグ (デバッガー) がトリガーされるため、開発者ツールが使用できない
aliplayer-min.js の製品ビルドには、組み込みのアンチデバッグ保護メカニズムが含まれています。不正な環境や、ブラウザの開発者ツールが開かれている場合、不正使用やコード改ざんを防ぐために自動的に debugger 文を挿入します。このメカニズムは設定で無効にすることはできません。
ローカル環境が公式バージョンと異なると疑われる場合は、公式のプレーヤー設定ページにアクセスして比較・テストすることができます。
キーワード:アンチデバッグ、debugger、aliplayer-min.js、開発者ツール、ブラウザデバッグ。
Web Player SDK で字幕と歌詞を再生と同期させる方法
デフォルトでは、Web Player SDK は VTT 字幕を動画の下に表示し、動画字幕と同じスタイルを使用します。
SDK は、音楽プレーヤー風のスクロールや中央にハイライトされた歌詞をネイティブではサポートしていません。MP3 オーディオファイルと歌詞を同期させるには、歌詞を VTT 形式に変換し、外部字幕として使用します。VTT のタイムスタンプがオーディオの再生進行と正確に一致するようにしてください。次に、プレーヤーの再生時間更新イベントをリッスンし、VTT コンテンツを自分で解析し、歌詞をレンダリングするためのカスタム UI コンポーネントを開発します。
キーワード:VTT 字幕、歌詞同期、スクロール歌詞、MP3 歌詞、外部字幕、カスタム UI。
Web プレーヤーがバックグラウンドから復帰した後、エラーを報告するか、長時間「読み込み中」と表示される
原因:ブラウザがバックグラウンドでリソースを回収すると、プレーヤーが非アクティブになります。あるいは、PlayAuth 認証情報が期限切れになっている可能性があります (最大有効期間は 3000 秒です)。
解決策:visibilitychange イベントをリッスンします。ページがバックグラウンドに移動したら、player.pause() を呼び出し、currentTime を sessionStorage に保存します。ページがフォアグラウンドに戻ったら、新しい PlayAuth を取得し、replayByVid(vid, newPlayAuth) を呼び出して再生をリセットします。ready または canplay イベントをリッスンし、コールバックで sessionStorage から時間を読み取り、player.seek() を呼び出して再生進行を再開します。
最適化の提案:vodRetry を 0 に、waitingTimeout を 10 秒に設定して待機時間を短縮するか、認証情報の有効期限が切れる 5 分前にトークンを積極的に更新します。
ListPlayer のローカルキャッシュ (enableLocalCache) の使用方法とクリア方法
キャッシュが有効になる条件:動画形式は MP4 で、URL で再生される必要があります。URL に認証パラメーターが含まれている場合は、キャッシュキーを計算する際に認証パラメーターを削除します。
オフライン再生:enableLocalCache を YES に設定すると、再生はオフラインでも中断することなく継続でき、追加のトラフィックを消費しません。
キャッシュのクリア:[AliPlayerGlobalSettings clearCaches] を呼び出して、すべての動画キャッシュをクリアします。これは、再生中、ログアウト後、または手動クリーンアップなどのシナリオに適用されます。
元の setCacheConfig メソッドは非推奨です。代わりに enableLocalCache API を使用してください。
Web Player SDK のライセンス検証メカニズムの仕組みと、特殊なシナリオ (VPN/iframe) の対処法
検証メカニズム:Web Player SDK は、ブラウザのアドレスバーの現在のドメイン名または Referer に基づいてライセンスを検証します。このドメイン名は、ライセンスを申請したときにバインドしたドメイン名と一致する必要があります。
VPN プロキシシナリオ:VPN を介してページにアクセスすると、ドメイン名の不一致エラーが発生する可能性があります。承認されたドメイン名のページへの統一された 302 リダイレクトを使用するか、VPN ページの iframe に再生ページを埋め込むことを推奨します (iframe 内に読み込まれるページが承認されたドメイン名上にあることを確認してください)。
iframe 埋め込みの制限:親ページが未承認のドメイン名上にあり、子ページ (iframe) が承認されたドメイン名上にある場合、ライセンス検証は正常に通過できます。ただし、WeChat の組み込みブラウザはクロスドメイン iframe を制限する場合があり、親ページと子ページの間の通信には postMessage の設定が必要です。
キーワード:ライセンスドメインバインディング、VPN プロキシ、iframe 埋め込み、クロスドメイン制限、postMessage。
Web プレーヤーが期限切れの PlayAuth を更新した後、特定の場所から再生を再開する方法
現在の制限:replayByVidAndPlayAuth メソッドを使用して PlayAuth を更新すると、再生は最初から再開されます。特定の場所から自動的に再開することはまだサポートされていません。
推奨される解決策:pause イベントが発生したときに、現在の再生時間を記録します (localStorage またはメモリ変数に保存します)。PlayAuth の有効期限切れエラーコード 4002 をキャッチしたら、まず PlayAuth を更新し、次に手動で seek を呼び出して以前に記録した時間まで移動し、再生を再開します。
フォールバック戦略:error イベントで、最後にわかっている有効な時間をフォールバックとして保存し、バッファリングエラーによる不正確な位置決めを回避します。
キーワード:PlayAuth の有効期限、再生再開、replayByVidAndPlayAuth、エラーコード 4002、seek 回復、getCurrentTime の失敗。
Android WebView の Web プレーヤーで音声は再生されるが映像が表示されない
次のように問題をトラブルシューティングします。
ハードウェアアクセラレーションが有効になっているか確認します。
AndroidManifest.xmlでandroid:hardwareAccelerated="true"を設定するか、コードでwebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null)を設定してソフトウェアレンダリングを試します。動画のエンコーディング形式の互換性を確認します。古い WebView は High Profile H.265/H.264 をサポートしていない場合があります。動画を互換性のある形式にトランスコーディングすることを推奨します。
既知の互換性の問題を修正するために、Web Player SDK を最新バージョン (例:
2.37.6以降) にアップグレードします。WebView のバージョンを出力して、カーネルが古いかどうかを確認します。
autoplay が false でカバー画像がない場合、Web プレーヤーがブラックスクリーンを表示するか、読み込みを続ける
原因:poster 属性が設定されていない場合、プレーヤーには表示するデフォルトのコンテンツがありません。
解決策:poster 属性を設定してカバー画像を指定するか、ready などのイベントをリッスンしてプレーヤーの状態を管理し、UI 表示をカスタマイズします。
360 ブラウザでは動画が再生できるのに、Chrome や Edge では再生できない理由とその修正方法
原因:360 ブラウザにはより多くの組み込みデコーダーがあるか、互換性カーネル (IE モードなど) を使用していますが、Chrome と Edge は動画形式、プロトコル、セキュリティポリシーに対してより厳格な要件を課しています。
解決策:無料の Alibaba Cloud Player SDK ライセンスを申請し、Web サイトプレーヤーコードを統合して互換性を向上させます。
プレーヤーが setDataSource でライブストリームをプルしても応答せず、「Connect didn't get any data from stream」と報告する
プレーヤーの prepared コールバックで再生開始メソッドを呼び出し、プレーヤーの準備ができた後にのみストリームプルと再生が開始されるようにします。
Web プレーヤーが自動的にポップアップする診断ツールインターフェイスを閉じるか非表示にする方法
診断ツールは永続的に実行されません。タブを閉じるか、再生ページに戻ると終了します。操作中に情報を公開しないように非表示にする必要がある場合は、Web プレーヤーの H5 カスタムエラー UI 機能を使用してコードを書き換え、スタイルを再定義します (たとえば、更新ボタンのみを保持するなど)。
UC ブラウザなど、特定の iOS ブラウザで動画が再生できない
トラブルシューティングの提案:
ネットワーク環境を切り替えて、ネットワークの問題を除外します。
Web ページに
vconsoleツールを追加して、特定のエラーログを表示し、原因を特定します。より良い互換性サポートのために、Alibaba Cloud Web Player の使用を推奨します。
hlsOption.abrEwmaDefaultEstimate を設定した後、追加のスクリプトは必要ですか?
abrEwmaDefaultEstimate は、ビットレートを選択する際に m3u8 ファイルの BANDWIDTH 値と比較するために使用される、現在のネットワーク環境に対するプレーヤーの初期推定値です。再生中、プレーヤーは実際のダウンロード速度に基づいて帯域幅の推定値を更新し、初期設定を置き換えます。追加のスクリプトは必要ありません。
ApsaraVideo Player SDK をアップグレードした後も、一部の動画が再生に失敗したり、iOS で「読み込み中」と表示され続けたりする
ネイティブ HLS の互換性の問題を解決するために、Player SDK を最新バージョンにアップグレードすることを推奨します。アップグレード後も問題が解決しない場合は、バックエンドの設定とドメイン名の証明書設定を確認してください。