Matrox Monarch HDX / Wowza / Akamai Interaction Issues with Transcoding

Ok, here is my setup: Encoding with the Monarch HDX, sending to Wowza, transcoding to source + 3 transcoded bit rates, sending to Akamai. When viewing downstream in Akamai, I am only seeing source, and no transcoded streams. NOTE: this is the same transcode/transrate settings I use for everything else, so I know they work. But apparently the Monarch HDX sends something else along that gets included in the transcoded bit rates that has issues.

I just got off the phone with Akamai tech support, and here is the error they are seeing:

The onMetadata Sent by the encoder for the transcoded bitrates is not properly formatted which is causing the failures on Akamai.

First and value tags doesn’t have closing tag

onMetaDataEgANTQAAAAAAAAACAApvbk1ldGFEYXRhAwAIZHVyYXRpb24AAAAAAAAAAAAACGZpbGVzaXplAAAAAAAAAAAAAAlnc3

I did get a hint from Matrox as well on this issue, but I have tried to set the properties correctly based on these instructions:

There are two properties you can use:

“removeMetadataObjects”:”true"

Or

“filteredMetadataItems”:”gstFiller"

Here is my the portion of my XML for my transcoding application:

filteredMetadataItems

gstFiller

String

removeMetadataObjects

true

Boolean

I currently use 4.1.2 in Production for a variety of reasons, but have been trying to troubleshoot with 4.3 (the XML snippets are from my 4.3 server).

Am I missing something? How am I setting these properties wrong, or do I need to set it at a global level?

Any thoughts would be most helpful.

Thank you,

bob

Hi,

This is being addressed in support ticket #151938

Daren

Thank you for sharing your findings with the community. Glad to hear you sorted this out.

Regards,

salvadore

Just wanted to give everyone an update on this and provide some documentation for the solution.

The solution lies in the PushPublishMap settings.

Here is the page that explains the properties of the PushPublishMap, but the one you need to worry about is “removeMetadataObjects”

https://www.wowza.com/docs/how-to-push-streams-to-cdns-and-other-services-push-publishing

Here is a representative block from my PushPublishMap:

Live_1_1@123456_source={profile:“rtmp-akamai”, streamName:“Live_1_source@123456”, akamai.streamId:123456, userName:“user”, password:“password”, adaptiveStreaming:true, removeMetadataObjects: true, debugLog:false}

Live_1_1@123456_720p={profile:“rtmp-akamai”, streamName:“Live_1_720@123456”, akamai.streamId:123456, userName:“user”, password:“password”, adaptiveStreaming:true, removeMetadataObjects: true, debugLog:false}

Live_1_1@123456_360p={profile:“rtmp-akamai”, streamName:“Live_1_360@123456”, akamai.streamId:123456, userName:“user”, password:“password”, adaptiveStreaming:true, removeMetadataObjects: true, debugLog:false}

Live_1_1@123456_240p={profile:“rtmp-akamai”, streamName:“Live_1_240@123456”, akamai.streamId:123456, userName:“user”, password:“password”, adaptiveStreaming:true, removeMetadataObjects: true, debugLog:false}

Live_1_1@123456_160p={profile:“rtmp-akamai”, streamName:“Live_1_160@123456”, akamai.streamId:123456, userName:“user”, password:“password”, adaptiveStreaming:true, removeMetadataObjects: true, debugLog:false}

The key is setting the value for remoteMetadataObjects to true like this:

removeMetadataObjects: true

That’s all there was.

Note: This only works in WowzaStreamingEngine 4.2 and later. So if you are like me, still running 4.1.2, you need to work on your upgrade path to at least 4.2.

Hope this helps someone else and reduces their time to resolution.

Cheers,

Bob