# Metadata from a live Shoutcast stream

**URL:** <https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450>\
**Category:** Wowza Developer Dojo\
**Tags:** wowza-streaming-server-java-api\
**Created:** [October 13, 2010, 5:16pm UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450 "2010-10-13T17:16:22Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/system/32/447_2.png) [@system](https://community.wowza.com/u/system)\
**Post date:** [October 13, 2010, 5:16pm UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/1 "2010-10-13T17:16:22Z")

</div>

I currently have a 24/7 live Shoutcast feed I’m passing to Wowza to go to Flash, iPhone, and Android. Is it possible for a module of mine to be notified when the metadata changes? It seems that the IMediaStreamActionNotify2.onMetaData() routine isn’t being called for a live stream although onPlay() is.

I’d prefer a callback approach vs a timer; I’d like the most accuracy Wowza will afford me.

I have a PHP script I can use as a Plan B but I thought I’d ask you guys first; a Wowza module seems much more resource-friendly than my script.

TIA.

---

<div class="post-metadata">

**Author:** ![Roger\_Littin](https://avatars.discourse-cdn.com/v4/letter/r/d26b3c/32.png) [@Roger\_Littin](https://community.wowza.com/u/Roger_Littin)\
**Post date:** [October 14, 2010, 1:49am UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/2 "2010-10-14T01:49:07Z")

</div>

I have just tried it and are getting onMetaData events in IMediaStreamActionNotify2.

There were some changes made to the Shoutcast Metadata handlers a little while ago so download and install the latest patch from here.

[https://www.wowza.com/downloads/WowzaMediaServer-2-1-2/WowzaMediaServer2.1.2-patch5.zip](https://www.wowza.com/downloads/WowzaMediaServer-2-1-2/WowzaMediaServer2.1.2-patch5.zip)

* * *

IMPORTANT!!!

Several core components have been updraded to newer versions. Before

applying this patch, delete the following files from your Wowza Media Server

installation:

[install-dir]/lib/bcprov-ext-jdk15-143.jar

[install-dir]/lib/commons-lang-2.4.jar

[install-dir]/lib/log4j-1.2.15.jar

---

<div class="post-metadata">

**Author:** ![Andrew\_Kennedy](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Andrew\_Kennedy](https://community.wowza.com/u/Andrew_Kennedy)\
**Post date:** [October 13, 2010, 3:49pm UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/3 "2010-10-13T15:49:18Z")

</div>

I have a timer approach which collects the meta data out of the stream packets, but not a callback. It works very well down to the 4/5 second so should be sufficient ?

Shamrock

---

<div class="post-metadata">

**Author:** ![Roger\_Littin](https://avatars.discourse-cdn.com/v4/letter/r/d26b3c/32.png) [@Roger\_Littin](https://community.wowza.com/u/Roger_Littin)\
**Post date:** [October 14, 2010, 10:39pm UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/4 "2010-10-14T22:39:24Z")

</div>

The onMetaData event handler only fires on the publish stream when new metadata is available. It does not fire on the playback streams.

---

<div class="post-metadata">

**Author:** ![Jacob\_Gonzalez](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@Jacob\_Gonzalez](https://community.wowza.com/u/Jacob_Gonzalez)\
**Post date:** [October 13, 2010, 6:43pm UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/5 "2010-10-13T18:43:21Z")

</div>

This is for some reporting to our future clients. I could use a timer but only if it would have to scale up to hundreds or thousands of potential streams per server.

Did you use stream.getMetaDataProvider() like in this article? [https://www.wowza.com/docs/how-to-log-play-statistics-on-a-timer](https://www.wowza.com/docs/how-to-log-play-statistics-on-a-timer)

---

<div class="post-metadata">

**Author:** ![Jacob\_Gonzalez](https://avatars.discourse-cdn.com/v4/letter/j/3bc359/32.png) [@Jacob\_Gonzalez](https://community.wowza.com/u/Jacob_Gonzalez)\
**Post date:** [October 18, 2010, 12:47pm UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/6 "2010-10-18T12:47:08Z")

</div>

If you have the source, sure 🙂 I’m familiar with building Wowza modules from source.

---

<div class="post-metadata">

**Author:** ![Andrew\_Kennedy](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Andrew\_Kennedy](https://community.wowza.com/u/Andrew_Kennedy)\
**Post date:** [October 14, 2010, 3:39am UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/7 "2010-10-14T03:39:59Z")

</div>

the timer only pulls from the source of the shoutcast stream, so if thousands of people are listening it does not matter as it is still only look at one element. The link you provided does not seem to use getMetaDataProvider but yes I do use getMetaDataProvider to get the meta data into a variable to then use as needed. If the Notify works, might be the way forward, both I believe should produce a similar result.

Shamrock

---

<div class="post-metadata">

**Author:** ![Andrew\_Kennedy](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Andrew\_Kennedy](https://community.wowza.com/u/Andrew_Kennedy)\
**Post date:** [October 18, 2010, 5:24am UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/8 "2010-10-18T05:24:45Z")

</div>

just following up on this one, do you want a module for Shoutcastmeta data ?

Shamrock

---

<div class="post-metadata">

**Author:** ![Andrew\_Kennedy](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Andrew\_Kennedy](https://community.wowza.com/u/Andrew_Kennedy)\
**Post date:** [October 21, 2010, 3:50am UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/9 "2010-10-21T03:50:32Z")

</div>

no source but can post two modules and a document explaining how they work.

Shamrock

---

<div class="post-metadata">

**Author:** ![Andrew\_Kennedy](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Andrew\_Kennedy](https://community.wowza.com/u/Andrew_Kennedy)\
**Post date:** [November 9, 2010, 9:50am UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/10 "2010-11-09T09:50:59Z")

</div>

Files and document can be found here

[http://www.shamrock.org.uk/WowzaModules/ShoutcastMeta/](http://www.shamrock.org.uk/WowzaModules/ShoutcastMeta/)

Shamrock

---

<div class="post-metadata">

**Author:** ![Andrew\_Kennedy](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@Andrew\_Kennedy](https://community.wowza.com/u/Andrew_Kennedy)\
**Post date:** [November 9, 2010, 9:52am UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/11 "2010-11-09T09:52:04Z")

</div>

Double post edit out …

---

<div class="post-metadata">

**Author:** ![Bjarki\_Jonsson](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Bjarki\_Jonsson](https://community.wowza.com/u/Bjarki_Jonsson)\
**Post date:** [November 9, 2010, 3:30pm UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/12 "2010-11-09T15:30:41Z")

</div>

I would be interested in seeing this Shamrock!

-b

---

<div class="post-metadata">

**Author:** ![ceyhun\_ceyhun](https://avatars.discourse-cdn.com/v4/letter/c/7bcc69/32.png) [@ceyhun\_ceyhun](https://community.wowza.com/u/ceyhun_ceyhun)\
**Post date:** [April 15, 2018, 8:01pm UTC](https://community.wowza.com/t/metadata-from-a-live-shoutcast-stream/450/13 "2018-04-15T20:01:58Z")

</div>

Hi @Andrew Kennedy  
this link expired, [http://www.shamrock.org.uk/WowzaModules/ShoutcastMeta/](http://www.shamrock.org.uk/WowzaModules/ShoutcastMeta/)

is this module working for hls ?  
Thank you
