すべてのプロダクト
Search
ドキュメントセンター

:ライブストリームのストリーミングURLを取得するにはどうすればよいですか

最終更新日:Aug 30, 2024

概要

このトピックでは、ライブストリームのストリーミングURLを取得し、署名付きストリーミングURLを生成する方法について説明します。

ストリーミングURLの取得

  • コンソールの使用

    • URLジェネレータページ

      ApsaraVideo Liveコンソールで、ストリーム管理 > URL ジェネレーター を選択します。 表示されるページで、ストリーミングURLを生成します。 詳細については、「ライブURLジェネレーター」をご参照ください。

    • ストリーム管理ページ

      ApsaraVideo Liveコンソールで、ストリーム管理 > アップストリーミング を選択します。 表示されるページで、ストリームの URL の表示 をクリックして、さまざまな形式のトランスコードされたストリームのストリーミングURLを表示します。

      002

  • 連結ルールの使用

    連結ルールを使用して、ストリーミングURLを手動で作成できます。 詳細については、「取り込みURLとストリーミングURLの生成」をご参照ください。

署名付きストリーミングURLの取得

ApsaraVideo Liveからの署名付きURLの有効期間は短いです。 有効期間が長い署名付きURLを取得するには、ツールまたはアルゴリズムを使用できます。

  • コンソールでツールを使用する

    ApsaraVideo Liveコンソールのツールを使用して、署名付きストリーミングURLを生成できます。 詳細については、「URL署名の設定」をご参照ください。

  • アルゴリズムを使用する

    取り込みURLのAppNameパラメーターとStreamNameパラメーターに基づいて、署名なしのストリーミングURLを作成できます。 例: rtmp://videolive.aliyuntest.club/AppName1/StreamName1 次に、認証アルゴリズムを使用して署名付きストリーミングURLを計算できます。 詳細については、「署名付きURLの作成」をご参照ください。 次のサンプルPHPコードは例を提供します:

    //http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash
    //sstring = "URI-Timestamp-rand-uid-PrivateKey" (The URI specifies the relative address that points to the requested resource, such as /Filename.)
    //HashValue = md5sum(sstring)
    function PrivateKeyA(){
    $time=strtotime("-800 seconds");//("+1 hours");
    $key="aliyun2013";
    $domain="rtmp://videolive.aliyuntest.club";
    $filename="/AppName1/StreamName1";
    //$sstring = "URI-Timestamp-rand-uid-PrivateKey" 
    $sstring = $filename."-".$time."-0-0-".$key;
    $md5=md5($sstring);
    $auth_key="auth_key=".$time."-0-0-".$md5;
    $url=$domain.$filename."?".$auth_key;
    echo $url."\n";
    }
                                            

コードを使用してストリーミングURLを取得する

取り込みURLのAppNameパラメーターとStreamNameパラメーターに基づいて、署名なしのストリーミングURLを作成できます。 たとえば、取り込みURLがrtmp://video-center.alivecdn.com/APPName1/StreamName1?vhost=videolive.aliyuntest.clubの場合、ストリーミングURLはrtmp://videolive.aliyuntest.club/AppName1/StreamName1です。

連結ルールを使用して、署名付きURLを作成できます。 詳細については、「署名付きURLの作成」をご参照ください。 アルゴリズムを使用して、署名付きURLを取得することもできます。 次のサンプルコードは、認証アルゴリズムに基づいて、rtmp://live8.aliyuntest.club/AppName1/StreamName1などのストリーミングURLの署名付きURLを計算する方法の例を示しています。

//http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash
//sstring = "URI-Timestamp-rand-uid-PrivateKey" (The URI specifies the relative address that points to the requested resource, such as /Filename.)
//HashValue = md5sum(sstring)
function PrivateKeyA(){
    $time=strtotime("-800 seconds");//("+1 hours");
    $key="aliyun2013";
    $domain="rtmp://videolive.aliyuntest.club";
    $filename="/AppName1/StreamName1";
    //$sstring = "URI-Timestamp-rand-uid-PrivateKey" 
    $sstring = $filename."-".$time."-0-0-".$key;
    $md5=md5($sstring);
    $auth_key="auth_key=".$time."-0-0-".$md5;
    $url=$domain.$filename."?".$auth_key;
    echo $url."\n";
}
            

ストリーミングURLを通常の再生に使用できない場合の対処方法

シナリオ

ストリームが取り込まれた後、ストリーミングURLを使用してストリームを再生することはできません。

トラブルシューティング

  • ドメイン名がライブストリーミング用に設定されているかどうかを確認します。

    ApsaraVideo Liveコンソールにログインし、ドメイン ページでドメイン名が見つかるかどうかを確認します。

  • ストリームの取り込みが成功したかどうかを確認します。 詳細については、「ストリームの取り込みが失敗した場合はどうすればよいですか?」をご参照ください。

  • ライブストリーミングのアクセラレーションが成功したかどうかを確認します。

    ApsaraVideo Liveによって割り当てられたCNAMEにドメイン名をマッピングするために、DNSサービスプロバイダーでドメイン名のCNAMEレコードが追加されているかどうかを確認します。 詳細については、「CNAMEレコードの追加」をご参照ください。 ApsaraVideo Liveコンソールの ドメイン ページで、ドメイン名に割り当てられているCNAMEを取得できます。 ドメイン名の [CNAME] 列にCNAMEが表示されます。

    CNAME

  • ストリーミングURLが有効かどうかを確認します。 詳細については、「ストリーミングURLの取得」をご参照ください。

  • ドメイン名に対してURL署名が有効になっているかどうかを確認します。

    ストリーミングURLが署名されているかどうかを判断する方法については、「取り込みURLとストリーミングURLの生成」をご参照ください。

  • ドメイン名のURL署名が有効かどうか、およびストリーミングURLの有効期限が切れているかどうかを確認します。 新しい署名付きURLを生成し、再生に使用できるかどうかを確認できます。

  • プレーヤーがビデオ形式をサポートしているかどうかを確認します。 VLCメディアプレーヤーを使用して、ビデオを再生できるかどうかを確認できます。