概要
このトピックでは、ライブストリームのストリーミングURLを取得し、署名付きストリーミングURLを生成する方法について説明します。
ストリーミングURLの取得
コンソールの使用
URLジェネレータページ
ApsaraVideo Liveコンソールで、 を選択します。 表示されるページで、ストリーミングURLを生成します。 詳細については、「ライブURLジェネレーター」をご参照ください。
ストリーム管理ページ
ApsaraVideo Liveコンソールで、 を選択します。 表示されるページで、ストリームの URL の表示 をクリックして、さまざまな形式のトランスコードされたストリームのストリーミングURLを表示します。

連結ルールの使用
連結ルールを使用して、ストリーミング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が表示されます。

ストリーミングURLが有効かどうかを確認します。 詳細については、「ストリーミングURLの取得」をご参照ください。
ドメイン名に対してURL署名が有効になっているかどうかを確認します。
ストリーミングURLが署名されているかどうかを判断する方法については、「取り込みURLとストリーミングURLの生成」をご参照ください。
ドメイン名のURL署名が有効かどうか、およびストリーミングURLの有効期限が切れているかどうかを確認します。 新しい署名付きURLを生成し、再生に使用できるかどうかを確認できます。
プレーヤーがビデオ形式をサポートしているかどうかを確認します。 VLCメディアプレーヤーを使用して、ビデオを再生できるかどうかを確認できます。