# mediastreamvalidator cruft

**URL:** <https://community.wowza.com/t/mediastreamvalidator-cruft/320>\
**Category:** Wowza Streaming Engine\
**Created:** [August 17, 2010, 5:05pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320 "2010-08-17T17:05:30Z")\
**Posts on this page:** 15\
**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:** [August 17, 2010, 5:05pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/1 "2010-08-17T17:05:30Z")

</div>

Can someone tell me what I am supposed to do about these messages in the mediastreamvalidtor? The video plays fine on the iphone and everywhere else for that matter consisting of a single image video at 1fps + 44Kb audio so I am really not sure where the 201Kbps segment bitrate is coming from. My server version is

> Wowza Media Server 2 Perpetual 2.1.2 build24878

```auto
ERROR: Invalid media segment: The validator helper exited due to a fatal error: failed to create format reader: [errno: -12847] format reader file not recognized.
 5: media_1.ts?wowzasessionid=1642790267
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR: Invalid media segment: The validator helper exited due to a fatal error: failed to create format reader: [errno: -12847] format reader file not recognized.
 7: media_2.ts?wowzasessionid=1642790267
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR: Invalid media segment: The validator helper exited due to a fatal error: failed to create format reader: [errno: -12847] format reader file not recognized.
 9: media_3.ts?wowzasessionid=1642790267
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR: Invalid media segment: The validator helper exited due to a fatal error: failed to create format reader: [errno: -12847] format reader file not recognized.
11: media_4.ts?wowzasessionid=1642790267
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR: Invalid response from the validator helper: a track is missing the 'type' property.
13: media_5.ts?wowzasessionid=1642790267
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WARNING: Media segment duration outside of expected duration by 156.000 % (2.56 vs. 1.00 seconds, limit is 20 %).
13: media_5.ts?wowzasessionid=1642790267
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WARNING: Media segment bitrate outside of target playlist bitrate by 214.863 % (201512 vs. 64000 bps, limit is 10 %).
13: media_5.ts?wowzasessionid=1642790267
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Average segment duration: 2.56 seconds
Playlist target bitrate: 64.00 kbit/s
Average segment bitrate: 201.51 kbit/s (68.24 % of target)

```

---

<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:** [August 18, 2010, 1:40pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/2 "2010-08-18T13:40:36Z")

</div>

I tried it my self and got these results:

```auto
mediastreamvalidator validate --timeout=60 http://192.168.1.22:1935/automulti/myStream/playlist.m3u8
Validating http://192.168.1.22:1935/automulti/myStream/playlist.m3u8 against iPhone OS 3.2.0
Validating child playlist http://192.168.1.22:1935/automulti/myStream/playlist.m3u8?wowzasessionid=955682088 [427.29 kbit/s]
Validating child playlist http://192.168.1.22:1935/automulti/myStream/playlist.m3u8?wowzaaudioonly&wowzasessionid=955682088 [64.00 kbit/s]
WARNING: The playlist should use relative URIs to reduce its size.
--------------------------------------------------------------------------------------------------------------
REPORT FOR CHILD PLAYLIST 'http://192.168.1.22:1935/automulti/myStream/playlist.m3u8?wowzasessionid=955682088'
--------------------------------------------------------------------------------------------------------------
Average segment duration: 10.36 seconds
Playlist target bitrate: 427.29 kbit/s
Average segment bitrate: 430.56 kbit/s (0.76 % of target)
Average segment structural overhead: 39.34 kbit/s (9.14 %)
Video codec: avc1
Video resolution: 320x240 pixels
Video frame rate: 23.97, 23.94, 24.22, 24.04 fps
Average video bitrate: 325.68 kbit/s
H.264 profile: Baseline
H.264 level: 3.0
Audio codec: aac 
Audio sample rate: 22050 Hz
Average audio bitrate: 65.54 kbit/s
-----------------------------------------------------------------------------------------------------------------------------
REPORT FOR CHILD PLAYLIST 'http://192.168.1.22:1935/automulti/myStream/playlist.m3u8?wowzaaudioonly&wowzasessionid=955682088'
-----------------------------------------------------------------------------------------------------------------------------
Average segment duration: 10.36 seconds
Playlist target bitrate: 64.00 kbit/s
Average segment bitrate: 65.51 kbit/s (2.31 % of target)
Audio codec: aac 
Audio sample rate: 22050 Hz

```

I used FMLE as the encoder.

I would double check to be sure you put all the properties in all the right places. Here is my Application.xml:

```auto
<Root>
	<Application>
		<!-- Uncomment to set application level timeout values
		<ApplicationTimeout>60000</ApplicationTimeout>
		<PingTimeout>12000</PingTimeout>
		<ValidationFrequency>8000</ValidationFrequency>
		<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
		<MaximumSetBufferTime>60000</MaximumSetBufferTime>
		<MaximumStorageDirDepth>25</MaximumStorageDirDepth>
		-->
		<Connections>
			<AutoAccept>true</AutoAccept>
			<AllowDomains></AllowDomains>
		</Connections>
		<!--
			StorageDir path variables
			
			${com.wowza.wms.AppHome} - Application home directory
			${com.wowza.wms.ConfigHome} - Configuration home directory
			${com.wowza.wms.context.VHost} - Virtual host name
			${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
			${com.wowza.wms.context.Application} - Application name
			${com.wowza.wms.context.ApplicationInstance} - Application instance name
			
		-->
		<Streams>
			<StreamType>live</StreamType>
			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
			<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater -->
			<LiveStreamPacketizers>cupertinostreamingpacketizer</LiveStreamPacketizers>			
			<!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
			<Properties>
			</Properties>
		</Streams>
		<!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming -->
		<HTTPStreamers>sanjosestreaming,cupertinostreaming,smoothstreaming</HTTPStreamers>			
		<SharedObjects>
			<StorageDir></StorageDir>
		</SharedObjects>
		<Client>
			<IdleFrequency>-1</IdleFrequency>
			<Access>
				<StreamReadAccess>*</StreamReadAccess>
				<StreamWriteAccess>*</StreamWriteAccess>
				<StreamAudioSampleAccess></StreamAudioSampleAccess>
				<StreamVideoSampleAccess></StreamVideoSampleAccess>
				<SharedObjectReadAccess>*</SharedObjectReadAccess>
				<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
			</Access>
		</Client>
		<RTP>
			<!-- RTP/Authentication/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
			<Authentication>
				<PublishMethod>digest</PublishMethod>
				<PlayMethod>digest</PlayMethod>
			</Authentication>
			<!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
			<AVSyncMethod>senderreport</AVSyncMethod>
			<MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
			<IdleFrequency>75</IdleFrequency>
			<RTSPSessionTimeout>90000</RTSPSessionTimeout>
			<RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
			<RTSPBindIpAddress></RTSPBindIpAddress>
			<RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
			<RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
			<IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
			<!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
			<Properties>
			</Properties>
		</RTP>
		<MediaCaster>
			<!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
			<Properties>
			</Properties>
		</MediaCaster>
		<MediaReader>
			<!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
			<Properties>
			</Properties>
		</MediaReader>
		<MediaWriter>
			<!-- Properties defined here will override any properties defined in conf/MediaWriter.xml for any MediaWriter loaded by this applications -->
			<Properties>
			</Properties>
		</MediaWriter>
		<LiveStreamPacketizer>
			<!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
			<Properties>
				<Property>
					<Name>cupertinoCreateAudioOnlyRendition</Name>
					<Value>true</Value>
					<Type>Boolean</Type>
				</Property>
			</Properties>
		</LiveStreamPacketizer>
		<HTTPStreamer>
			<!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
			<Properties>
				<Property>
					<Name>cupertinoAutoCreateMultibitratePlaylist</Name>
					<Value>true</Value>
					<Type>Boolean</Type>
				</Property>
				<Property>
					<Name>cupertinoUseCalculatedVideoBitrate</Name>
					<Value>true</Value>
					<Type>Boolean</Type>
				</Property>
				<Property>
					<Name>cupertinoUseCalculatedAudioBitrate</Name>
					<Value>true</Value>
					<Type>Boolean</Type>
				</Property>
				<Property>
					<Name>cupertinoDefaultVideoBitrate</Name>
					<Value>250000</Value>
					<Type>Integer</Type>
				</Property>
				<Property>
					<Name>cupertinoMaxCalulatedVideoBitrate</Name>
					<Value>0</Value>
					<Type>Integer</Type>
				</Property>
				<Property>
					<Name>cupertinoDefaultAudioBitrate</Name>
					<Value>64000</Value>
					<Type>Integer</Type>
				</Property>
				<Property>
					<Name>cupertinoMaxCalulatedAudioBitrate</Name>
					<Value>64000</Value>
					<Type>Integer</Type>
				</Property>
			</Properties>
		</HTTPStreamer>
		<Repeater>
			<OriginURL></OriginURL>
			<QueryString><![CDATA[]]></QueryString>
		</Repeater> 
		<Modules>
			<Module>
				<Name>base</Name>
				<Description>Base</Description>
				<Class>com.wowza.wms.module.ModuleCore</Class>
			</Module>
			<Module>
				<Name>properties</Name>
				<Description>Properties</Description>
				<Class>com.wowza.wms.module.ModuleProperties</Class>
			</Module>
			<Module>
				<Name>logging</Name>
				<Description>Client Logging</Description>
				<Class>com.wowza.wms.module.ModuleClientLogging</Class>
			</Module>
			<Module>
				<Name>flvplayback</Name>
				<Description>FLVPlayback</Description>
				<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
			</Module> 
		</Modules>
		<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
		<Properties>
		</Properties>
	</Application>
</Root>

```

I would also be sure to grab the most recent validator. I am running version: 1.1.2

Charlie

---

<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:** [August 18, 2010, 4:00pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/3 "2010-08-18T16:00:00Z")

</div>

Stream type should be live.

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:** [August 17, 2010, 9:28pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/4 "2010-08-17T21:28:05Z")

</div>

I’m not sure about the Errors , but the Warnings mean you are not providing the required 64kbs version.

If you just have a single stream and are not doing multi-bitrate, you can satisfy the Apple requirements, if the audio track of the stream is 64kbs or less, by using this technique:

[https://www.wowza.com/docs/how-to-create-apple-app-store-compliant-streams](https://www.wowza.com/docs/how-to-create-apple-app-store-compliant-streams)

Richard

---

<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:** [August 17, 2010, 3:09pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/5 "2010-08-17T15:09:50Z")

</div>

The validator may not like the 1fps of your stream. Try increasing the frame rate to something like 24fps to see if the errors go away.

You may want to contact Apple and see if they have more information.

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:** [August 18, 2010, 8:13pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/6 "2010-08-18T20:13:51Z")

</div>

Are you using the [Auto generate multibitrate stream for iPhone/iPad/iPod touch w/audio-only (64K)](https://www.wowza.com/docs/how-to-create-apple-app-store-compliant-streams) technique?

Richard

---

<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:** [August 18, 2010, 8:21pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/7 "2010-08-18T20:21:08Z")

</div>

The stream has to have a 64kbs audio track for this to work properly and satisfy Apple requirements. If the audio bitrate is higher, then I think it will still extract audio track, but it will be whatever bitrate it is

Richard

---

<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:** [August 20, 2010, 1:53pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/8 "2010-08-20T13:53:30Z")

</div>

Zip up your conf and logs folders along with screen shots of all the encoder settings and post that on your web server, then send a link to support@wowza.com. Include a link back to this thread.

Richard

---

<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:** [April 17, 2012, 12:36pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/9 "2012-04-17T12:36:53Z")

</div>

I don’t don’t think there is a way to do that in Wowza. The average bitrate of a file (video and audio) is

bytes on disk \* 8 / length in seconds

You can get this info from FFmpeg. The output of this command breaks out audio and video bitrate:

ffmpeg -i yourvideo.mp4

Richard

---

<div class="post-metadata">

**Author:** ![Bron\_Davies](https://avatars.discourse-cdn.com/v4/letter/b/d9b06d/32.png) [@Bron\_Davies](https://community.wowza.com/u/Bron_Davies)\
**Post date:** [August 18, 2010, 8:05pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/10 "2010-08-18T20:05:00Z")

</div>

After applying the patch and updating the configs I am getting the following m3u8 output

```auto
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=543051
http://myserver/content/live/mp4:myfile.mp4/playlist.m3u8?wowzasessionid=844726281
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000
http://myserver/content/live/mp4:myfile.mp4/playlist.m3u8?wowzaaudioonly&wowzasessionid=844726281

```

looks good! 🙂

Then in the apple validator I get the following for the 64k stream (sample):

```auto
WARNING: INF tag with duration 2 seconds or more above the playlist's target duration (10.000 seconds).
246: #EXTINF:16,
                ~~ 
WARNING: Media segment bitrate outside of target playlist bitrate by 840.141 % (601690 vs. 64000 bps, limit is 10 %).
  5: media_1.ts?wowzasessionid=767856801
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Average segment duration: 14.56 seconds
Playlist target bitrate: 64.00 kbit/s
Average segment bitrate: 600.85 kbit/s (89.35 % of target)
Average segment structural overhead: 54.20 kbit/s (9.02 %)
Video codec: avc1
Video resolution: 640x360 pixels
Video frame rate: 29.97 fps
Average video bitrate: 480.11 kbit/s
H.264 profile: Baseline
H.264 level: 1.3
Audio codec: aac 
Audio sample rate: 48000 Hz
Average audio bitrate: 66.54 kbit/s

```

So it appears to be streaming the video as well as the audio.

For the Full video stream, the validator says:

```auto
WARNING: INF tag with duration 2 seconds or more above the playlist's target duration (10.000 seconds).
246: #EXTINF:16,
                ~~ 
ERROR: Invalid media segment: The validator helper exited due to a fatal error: failed to parse segment as either an MPEG-2 TS or an ES: error -12971.
  5: media_1.ts?wowzasessionid=671812796
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WARNING: Media segment bitrate outside of target playlist bitrate by 17.988 % (640736 vs. 543051 bps, limit is 10 %).
  9: media_3.ts?wowzasessionid=671812796
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Average segment duration: 16.64 seconds
Playlist target bitrate: 543.05 kbit/s
Average segment bitrate: 547.14 kbit/s (0.75 % of target)
Average segment structural overhead: 53.98 kbit/s (9.86 %)
Video codec: avc1
Video resolution: 640x360 pixels
Video frame rate: 29.97 fps
Average video bitrate: 426.31 kbit/s
H.264 profile: Baseline
H.264 level: 1.3
Audio codec: aac 
Audio sample rate: 48000 Hz
Average audio bitrate: 66.86 kbit/s

```

Any idea what I may need still to get the 64k stream to be just audio?

---

<div class="post-metadata">

**Author:** ![Bron\_Davies](https://avatars.discourse-cdn.com/v4/letter/b/d9b06d/32.png) [@Bron\_Davies](https://community.wowza.com/u/Bron_Davies)\
**Post date:** [August 18, 2010, 8:15pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/11 "2010-08-18T20:15:46Z")

</div>

Yes - I followed those exact steps.

---

<div class="post-metadata">

**Author:** ![Bron\_Davies](https://avatars.discourse-cdn.com/v4/letter/b/d9b06d/32.png) [@Bron\_Davies](https://community.wowza.com/u/Bron_Davies)\
**Post date:** [August 18, 2010, 8:40pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/12 "2010-08-18T20:40:51Z")

</div>

Our videos are encoded with 64kbps audio luckily but from the output of the validator it looks like video is also being output in the 64k stream.

```auto
Playlist target bitrate: 64.00 kbit/s
Average segment bitrate: 600.85 kbit/s (89.35 % of target)
...
Average audio bitrate: 66.54 kbit/s
Average video bitrate: 480.11 kbit/s

```

---

<div class="post-metadata">

**Author:** ![Bron\_Davies](https://avatars.discourse-cdn.com/v4/letter/b/d9b06d/32.png) [@Bron\_Davies](https://community.wowza.com/u/Bron_Davies)\
**Post date:** [August 18, 2010, 11:52pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/13 "2010-08-18T23:52:09Z")

</div>

I did a diff and found that:

I have my StreamType set to _default_ instead of _live_.

I do not have _sanjosestreaming_ listed

other than that, everything is the same. Should I change those or does it matter?

---

<div class="post-metadata">

**Author:** ![Bron\_Davies](https://avatars.discourse-cdn.com/v4/letter/b/d9b06d/32.png) [@Bron\_Davies](https://community.wowza.com/u/Bron_Davies)\
**Post date:** [August 20, 2010, 12:48pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/14 "2010-08-20T12:48:10Z")

</div>

After looking at the configuration closer, I have a vhost configuration where my live application is hosting from and it is set up like the example StreamType=live and all other properties as outlined are set correctly. Still no joy. I am using the 1.1.2 validator.

---

<div class="post-metadata">

**Author:** ![Cassie\_Robert](https://avatars.discourse-cdn.com/v4/letter/c/977dab/32.png) [@Cassie\_Robert](https://community.wowza.com/u/Cassie_Robert)\
**Post date:** [April 17, 2012, 12:58pm UTC](https://community.wowza.com/t/mediastreamvalidator-cruft/320/15 "2012-04-17T12:58:30Z")

</div>

Could you help me for a second?

why I can’t validate the Average audio bitrate & Average video bitrate ???

Could you just do me a favor?

lzero1319@163.com
