Мой node-icy
модуль способен считывать данные в произвольном потоке Icecast и перехватывать и / или добавлять события «метаданных» в выходной поток.Вы, по сути, «прокси» потокХороший (хотя и немного сложный) пример может быть здесь: proxy.js
Обратите внимание, что формат «метаданные» представляет собой разделенную точкой с запятой строку пар ключ-значение, но Icecastклиенты реагируют только на значение StreamTitle
, поэтому просто вставьте туда всю нужную информацию:
StreamTitle='Pink Floyd - Welcome to the Machine';
Я делал такие вещи, как отправка события метаданных каждую секунду, чтобы сохранить счетчик позиции трека (хотяэто могло быть немного загруженным сетью):
StreamTitle='Pink Floyd - Welcome to the Machine (0:12/4:02)';
Удачи!