Question

J'essaie de ( NodeJS ):

  1. Connectez-vous à Icecast flux audio Internet. Ex: http://icecast3.977music.com/comedy
  2. Parse les têtes de réponse et d'extraire la valeur de icy-metaint.
  3. Écrivez les données audio brutes dans un fichier, lors de l'extraction des métadonnées octets du flux audio afin de:
    • Intercept et analyser les métadonnées quand il arrive.
    • Ne comprennent pas les métadonnées octets dans le fichier de sortie, afin qu'il n'y ait pas d'artefacts audio en raison des métadonnées injecté.

Suite à la page "non officielle" Protocole Shoutcast métadonnées de SmackFu, je ont pu obtenir jusqu'ici:

https://gist.github.com/e7474421dcb25e011620

En fait, je suis en mesure d'extraire les métadonnées quand il est prévu (il n'y a que 1 événement métadonnées au début de la décharge de flux inclus dans le essentiel ). Cette partie semble fonctionner très bien.

Le problème est que le fichier MP3 de sortie a des artefacts audio visibles dans le fichier, probablement lorsque les métadonnées octets arrive. Cependant, je suis certainement extrais ces octets de métadonnées et ne pas les inclure dans le fichier de sortie, de sorte que la partie est bizarre.

Le document de protocole dans le lien ci-dessus ne dit rien d'autre a besoin d'être fait pour le fichier de sortie, mais il est évident que je fais toujours quelque chose de mal. Quelqu'un sait-il ce qu'il reste à faire pour le flux audio? Merci à l'avance!

Était-ce utile?

La solution

J'ai pu régler ce problème sur le canal IRC Node.js. J'ai eu un « off par 1 » erreur dans la quantité d'octets audio transmis, donc et a donné lieu à un fichier audio non valide.

essentiel publié dans le PO a été corrigé et fonctionne correctement.

Une suite de ce petit exercice est emballé dans un module Node.JS pour lire audio et des métadonnées à partir d'un flux SHOUTcast / Icecast. Consultez nœud-radio-stream si vous êtes intéressé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top