Wowza Community

iPhone and desktop using Microsoft Expression Encoder 4 Pro

I am trying to convert a video to a multi-bitrate video that is suitable for iPhone and desktop using Microsoft Expression Encoder 4 Pro. I see on https://www.wowza.com/docs/how-to-encode-video-on-demand-content there is two separate preset for iPhone and desktop. Can one present be created out of those two…? I am converting a lot of video and I think one preset will make it go faster.

Also I see you are using VBR Pass 2 in the preset…Is that necessary?

The main thing is that some devices cannot play Main Profile media. If you want to make a more universal encoding, stick with the iphone profile and add higher bitrate/resolution streams.

You can, but only for iOS:

https://www.wowza.com/docs/how-to-add-resolution-and-codec-metadata-to-ios-streams

Richard

It looks okay. You have to test it.

Richard

Thanks for the info…Beseline profile with high bitrate will be as good as main profile with medium/low bitrate?

What do I loose when doing “iphone profile and add higher bitrate/resolution streams” compare to “two separate preset for iPhone and desktop”

Thanks for the info…

lets say I create two encoding profile (iphone and desktop)

Can I combine it as one smil file to serve? even though there is main and baseline mixed

did I create a correct smil for ios? The first 3 was created with iphone preset from Microsoft Expression Encoder 4 Pro and the rest is created with desktop preset from Microsoft Expression Encoder 4 Pro

<smil>
	<head>
	</head>
	<body>
		<switch>
			<video src="mp4:myStream1" system-bitrate="170000" width="212" height="120">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.66.30" valuetype="data"/>
				<param name="audioOnly" value="TRUE" valuetype="data"/>
			</video>
			<video src="mp4:myStream1" system-bitrate="270000" width="320" height="180">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.66.30" valuetype="data"/>
			</video>
			<video src="mp4:myStream1" system-bitrate="470000" width="640" height="360">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.66.30" valuetype="data"/>
			</video>
			<video src="mp4:myStream1" system-bitrate="350000" width="320" height="180">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.77.30" valuetype="data"/>
			</video>
			<video src="mp4:myStream1" system-bitrate="650000" width="476" height="268">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.77.30" valuetype="data"/>
			</video>
			<video src="mp4:myStream1" system-bitrate="1000000" width="640" height="360">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.77.30" valuetype="data"/>
			</video>
			<video src="mp4:myStream1" system-bitrate="1400000" width="1080" height="608">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.77.30" valuetype="data"/>
			</video>
			<video src="mp4:myStream1" system-bitrate="2500000" width="1280" height="720">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.77.30" valuetype="data"/>
			</video>
		</switch>
	</body>
</smil>

Any update?

Correct me if I am wrong

Take a look at http://ewelby.com/mediainfo.png

According to https://www.wowza.com/docs/how-to-add-resolution-and-codec-metadata-to-ios-streams

it will be

<param name="audioCodecId" value="mp4a.40.2" for audio? for video?

Also what is the 40 in audio?

Any update please

Main and High profiles have support for more advanced algorithms, which means better compression, but also more CPU utilization when decoding/playing. The main difference being that baseline profile doesn’t have B-Frames.

So, Main and High will look better than Baseline at the same bit-rate and resolution.

It is a waste to send a high-resolution 1080p stream to a phone which only has 480p. If you are going to have different multi-bitrate .smil files for different devices, you might as well create different encodings. This is especially important for large sites/events where the cost of bandwidth is high.