如何向HLS切片流中添加分辨率和编码信息?
转载请注明:文章来自www.wowza.cn
注意: 要访问最新的技术资料,请访问http://www.ttstream.com/wowza/
注意: 这些设置在 Wowza Stream Engine 4中是默认启用的。

HLS的播放列表是支持在playlist.m3u8文件中参加CODECSRESOLUTION 参数的。www.wowza.cn 这些元数据用于让终端基于自己的能力选择合适流来播放,例如一个很老的iPhone 3 只能播放H.264 Baseline Level 3.0 或更低Level的流,但一个iPad 却可以播放H.264 Main level 3.1 或更低level的流。 这个特性可以让你创建包含以上两类格式的多码率流。iPad将会播放更高在质量的流,iPhone 3将播放低质量的流。

要对单个流添加这个元数据,你可以在[install-dir]/conf/[application]/Application.xml文件的HTTPStreamer/Properties中添加下面两个参数,

Code:
<Property>
	<Name>cupertinoCalculateCodecs</Name>
	<Value>true</Value>
	<Type>Boolean</Type>
</Property>
<Property>
	<Name>cupertinoCalculateResolution</Name>
	<Value>true</Value>
	<Type>Boolean</Type>
</Property>
对于用SMIL文件描述的多个流,请在SMIL中添加widthheight 以及<param name="" value="" valuetype="data"> 语句:
Code:
<smil>
	<head>
	</head>
	<body>
		<switch>
			<video src="mp4:myStream1" system-bitrate="340000" width="320" height="240">
				<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
				<param name="videoCodecId" value="avc1.66.30" valuetype="data"/>
			</video>
		</switch>
	</body>
</smil>
这里的视频codecId的格式为avc1.[profile].[level] ,其中 [level] 是H.264 码率和帧率大小的Level乘以10,[profile] 是:
  • Baseline: 66
  • Main: 77
  • High: 100


这里的音频codecId的格式为mp4a.40.[objectType] ,其中object type 为:
  • AAC-LC: 2
  • HE-AAC: 5
  • MP3: 34


举例如下:
  • H.264 Baseline Profile level 3.0: avc1.66.30
  • H.264 Main Profile level 3.0: avc1.77.30
  • AAC-LC: mp4a.40.2
  • HE-AAC: mp4a.40.5
  • MP3: mp4a.40.34



注意: 这个功能需要Wowza Media Server 2.2.0 及以上版本的支持。www.wowza.cn
  • 关于我们
    • 电话:           13381282581
    •  QQ:            23024067
    •  QQ技术群:  154337267