Maison >développement back-end >tutoriel php >PHP peut-il extraire les informations de piste des flux audio ?
Extraire des informations de piste à partir d'un flux audio à l'aide de PHP
Déterminer s'il est possible d'extraire des informations de piste à partir d'un flux audio à l'aide de PHP nous amène à la fonction stream_get_transports. Cependant, pour ceux qui rencontrent des limitations de prise en charge des transports HTTP via fsockopen(), des méthodes alternatives doivent être explorées.
Plonger dans l'extraction de métadonnées
Heureusement, extraire les informations de piste d'un le flux audio est possible, notamment dans le cas des flux SHOUTcast. Cette opération diffère de l'extraction des balises ID3 et nécessite une approche unique.
Établissement de la connexion
Connectez-vous directement au serveur via fsockopen(), en spécifiant le port approprié (par ex. , port 80). Communiquez avec le serveur à l'aide d'une requête HTTP et incluez l'en-tête Icy-MetaData:1 pour demander des métadonnées.
Comprendre l'intervalle méta
Le serveur répondra avec des en-têtes contenant la valeur icy-metaint, qui indique l'intervalle méta. Cet intervalle détermine la fréquence des paquets de métadonnées dans le flux.
Lecture et analyse des métadonnées
Jetez 8 192 octets de données MP3, puis lisez le premier octet, qui signifie le longueur du paquet de métadonnées. Multipliez cette valeur d'octet par 16 pour déterminer le nombre d'octets à lire pour les métadonnées.
Partage et récupération des informations
Coupez la chaîne de métadonnées pour supprimer le remplissage. Analysez la chaîne en la divisant au niveau du ";" délimiteur, pour extraire des informations telles que le titre de la piste et l'URL du flux.
Ressources facultatives
Pour une assistance supplémentaire sur la récupération des métadonnées SHOUTcast, reportez-vous à des ressources externes telles que https://web.archive.org/web/20191121035806/http://www.smackfu.com/stuff/programming/shoutcast.html.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!