Maison >développement back-end >tutoriel php >PHP peut-il extraire les informations de piste des flux audio ?

PHP peut-il extraire les informations de piste des flux audio ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-01 21:44:10846parcourir

Can PHP Extract Track Information from Audio Streams?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn