Пользовательские метаданные с Icecast

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


person plainprogrammer    schedule 13.02.2012    source источник


Ответы (2)


Мой модуль 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)';

Удачи!

person TooTallNate    schedule 13.02.2012
comment
можете уточнить настройку пожалуйста? Я добавляю метаданные с нестандартными ключевыми словами с помощью LiquidSoap, которые затем передаются в поток Icecast. icecast (2.4.0) жестко кодирует как StreamTitle, как вы указали, так и время обновления. Значит, ваш модуль будет между icecast и клиентом, читающим аудио часть потока, и будет отвечать за обновление метаданных каждую секунду? - person slv; 10.04.2016

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

person joat    schedule 18.02.2012