Пользовательские метаданные с Icecast - PullRequest
6 голосов
/ 13 февраля 2012

Мне нужно добавить дополнительные метаданные в поток Icecast (помимо Исполнителя и Названия песни).Я испробовал несколько идей, но ни одна из них, похоже, ничего не дала.Ситуация усложняется тем, что метаданные также проходят через Wowza, который повторно передает поток Icecast.Существует ли канонический список полей метаданных, поддерживаемых Icecast, и есть ли у кого-нибудь опыт передачи пользовательских метаданных как части потока Icecast и передачи в Wowza?

Ответы [ 2 ]

6 голосов
/ 14 февраля 2012

Мой 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)';

Удачи!

1 голос
/ 18 февраля 2012

Хотя это немного сложно, язык сценариев Savonet / Liquidsoap имеет средства для изменения / установки потоковых метаданных.В вики Liquidsoap есть пара примеров на https://wiki.sourcefabric.org/display/LS/UserScripts

...