Vue d'ensemble
Cette rubrique explique comment obtenir l'URL de streaming d'un flux en direct et générer une URL de streaming signée.
Obtenir une URL de streaming
-
Depuis la console :
-
Page du générateur d'URL
Dans la console ApsaraVideo Live, accédez à pour générer une URL de streaming. Pour les étapes détaillées, consultez Utiliser le générateur d'URL.
-
Page de gestion des flux
Dans la console ApsaraVideo Live, accédez à . Recherchez l'URL d'ingestion souhaitée et cliquez sur View URLs pour consulter ses URL de streaming correspondant aux différents formats et protocoles de transcodage.
-
-
Utiliser les règles de concaténation
Vous pouvez construire manuellement une URL de streaming en appliquant les règles de concaténation. Pour plus d'informations, consultez Générer des URL d'ingestion et de streaming.
Obtenir une URL de streaming signée
La durée de validité des URL signées générées par ApsaraVideo Live est courte. Pour obtenir une URL signée avec une validité plus longue, utilisez un outil ou un algorithme.
-
Utiliser un outil dans la console
Un outil intégré à la console ApsaraVideo Live permet de générer une URL de streaming signée. Pour plus d'informations, consultez Configurer la signature d'URL.
-
Utiliser un algorithme
Construisez une URL de streaming non signée à partir des paramètres AppName et StreamName présents dans une URL d'ingestion. Exemple :
rtmp://videolive.aliyuntest.club/AppName1/StreamName1
. Calculez ensuite une URL de streaming signée au moyen de l'algorithme d'authentification. Pour plus d'informations, consultez
. L'exemple de code PHP suivant illustre cette procédure :
//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"; }
Utiliser du code pour obtenir une URL de streaming
Une URL de streaming non signée peut être construite à partir des paramètres AppName et StreamName d'une URL d'ingestion. Par exemple, si l'URL d'ingestion est rtmp://video-center.alivecdn.com/APPName1/StreamName1?vhost=videolive.aliyuntest.club, l'URL de streaming correspondante est rtmp://videolive.aliyuntest.club/AppName1/StreamName1.
Les règles de concaténation permettent également de construire une URL signée. Pour plus d'informations, consultez Composants d'une URL signée. Un algorithme constitue une autre méthode pour obtenir une URL signée. L'exemple de code ci-dessous montre comment calculer l'URL signée correspondant à une URL de streaming telle que rtmp://live8.aliyuntest.club/AppName1/StreamName1, en utilisant l'algorithme d'authentification.
//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";
}
Que faire si une URL de streaming ne permet pas une lecture normale ?
Scenario
Après l'ingestion d'un flux, l'URL de streaming ne permet pas de lire ce flux.
Troubleshooting
-
Vérifiez que le nom de domaine est bien configuré pour le streaming en direct.
Connectez-vous à la console ApsaraVideo Live et assurez-vous que le nom de domaine apparaît sur la page Domains.
Contrôlez le bon déroulement de l'ingestion du flux. Pour plus d'informations, consultez Résoudre les problèmes d'ingestion anormale de flux.
-
Assurez-vous que l'accélération du flux en direct fonctionne correctement.
Vérifiez qu'un enregistrement CNAME a été ajouté auprès de votre fournisseur DNS. Cet enregistrement doit pointer votre domaine de streaming vers l'adresse CNAME fournie par ApsaraVideo Live. Pour obtenir des instructions, consultez Configurer un enregistrement CNAME pour un nom de domaine. L'adresse CNAME figure dans la colonne CNAME associée à votre domaine sur la page Domains.
Validez la conformité de l'URL de streaming. Pour plus d'informations, consultez Obtenir une URL de streaming.
-
Examinez si la signature d'URL est activée pour le nom de domaine concerné.
Pour savoir comment déterminer si l'URL de streaming est signée, reportez-vous à Générer des URL d'ingestion et de streaming.
Si la signature d'URL est activée, vérifiez également que l'URL de streaming n'a pas expiré. Générez une nouvelle URL signée et testez sa capacité de lecture.
Confirmez que le lecteur prend en charge le format vidéo utilisé. Le lecteur multimédia VLC permet de tester la lecture de la vidéo.