# server side code get metadata of a live stream

**URL:** <https://community.wowza.com/t/server-side-code-get-metadata-of-a-live-stream/547>\
**Category:** Wowza Developer Dojo\
**Tags:** wowza-streaming-server-java-api\
**Created:** [March 22, 2011, 8:57pm UTC](https://community.wowza.com/t/server-side-code-get-metadata-of-a-live-stream/547 "2011-03-22T20:57:55Z")\
**Posts on this page:** 5\
**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:** [March 22, 2011, 8:57pm UTC](https://community.wowza.com/t/server-side-code-get-metadata-of-a-live-stream/547/1 "2011-03-22T20:57:55Z")

</div>

hi,

is it possible and how i get the metadata on server-side (video width and height) of a live stream? i need to limit the publisher video resolution!

thanks

---

<div class="post-metadata">

**Author:** ![Charlie\_Good](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/charlie_good/32/383_2.png) [@Charlie\_Good](https://community.wowza.com/u/Charlie_Good)\
**Post date:** [March 23, 2011, 3:14am UTC](https://community.wowza.com/t/server-side-code-get-metadata-of-a-live-stream/547/2 "2011-03-23T03:14:16Z")

</div>

Here is the basic idea:

```auto
package com.wowza.wms.plugin.test.module;
import com.wowza.wms.amf.AMFPacket;
import com.wowza.wms.module.*;
import com.wowza.wms.stream.*;
import com.wowza.wms.amf.*;
public class ModuleOnMetadataDebugger extends ModuleBase
{
	class MetadataDebugger implements IMediaStreamActionNotify2
	{
		public void onPlay(IMediaStream stream, String streamName, double playStart, double playLen, int playReset)
		{
		}
		public void onPublish(IMediaStream stream, String streamName, boolean isRecord, boolean isAppend)
		{
		}
		public void onUnPublish(IMediaStream stream, String streamName, boolean isRecord, boolean isAppend)
		{
		}
		public void onPause(IMediaStream stream, boolean isPause, double location)
		{
		}
		public void onSeek(IMediaStream stream, double location)
		{
		}
		public void onStop(IMediaStream stream)
		{
		}
		public void onMetaData(IMediaStream stream, AMFPacket metaDataPacket)
		{
			byte[] data = metaDataPacket.getData();
			AMFDataList metaDataList = new AMFDataList(data);
			getLogger().info("onMetaData["+stream.getContextStr()+"]: "+metaDataList.toString());
		}
		public void onPauseRaw(IMediaStream stream, boolean isPause, double location)
		{
		}
		
	}
	
	public void onStreamCreate(IMediaStream stream)
	{
		getLogger().info("onStreamCreate");
		stream.addClientListener(new MetadataDebugger());
	}
}

```

Charlie

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [March 23, 2011, 8:04pm UTC](https://community.wowza.com/t/server-side-code-get-metadata-of-a-live-stream/547/3 "2011-03-23T20:04:26Z")

</div>

Try like this:

```auto
public void onMetaData(IMediaStream stream, AMFPacket metaDataPacket) 
{
	getLogger().info("onMetaData By: " + stream.getClientId());
	byte[] data = metaDataPacket.getData();
	AMFDataList metaDataList = new AMFDataList(data);
	getLogger().info("onMetaData["+stream.getContextStr()+"]: "+metaDataList.toString());
	AMFDataObj obj = getParamObj(metaDataList, 1);
	getLogger().info("Duration: "+ obj.getString("audiodevice"));
}

```

Richard

---

<div class="post-metadata">

**Author:** ![joao\_caiado](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@joao\_caiado](https://community.wowza.com/u/joao_caiado)\
**Post date:** [March 23, 2011, 8:56am UTC](https://community.wowza.com/t/server-side-code-get-metadata-of-a-live-stream/547/4 "2011-03-23T08:56:08Z")

</div>

thanks charlie but it throws all the metadata:

INFO server comment - onMetaData[test/_definst_/live\_1]: AMFDataList:

[0] onMetaData

[1] object

{Obj[]: author: “”, copyright: “”, description: “”, keywords: “”, rating: “”, title: “”, presetname: “Custom”, creationdate: "Wed Mar 23 16:53:06 2011

", videodevice: “Video1”, framerate: 15.0, width: 320.0, height: 240.0, videocodecid: “avc1”, videodatarate: 500.0, avclevel: 31.0, avcprofile: 66.0, videokeyframe\_frequency: 5.0}

how i get only the width??? i’m newbie at java sorry! 😉

---

<div class="post-metadata">

**Author:** ![joao\_caiado](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@joao\_caiado](https://community.wowza.com/u/joao_caiado)\
**Post date:** [March 23, 2011, 9:01pm UTC](https://community.wowza.com/t/server-side-code-get-metadata-of-a-live-stream/547/5 "2011-03-23T21:01:27Z")

</div>

problem solved!

thanks rrlanham and charlie.
