Wowza Stream Engine 4 可以识别和读取以下媒体和文件类型:
- FLV (.flv)
- MP3 文件 (.mp3)
- MP4 (QuickTime container - .mp4, .f4v, .mov, .m4v, .mp4a, .3gp, .3g2等等)
- SMIL (Synchronized Multimedia Integration Language - .smil)
- AMLST (API-based MediaList)
Media type用于在VOD业务中为StreamName增加一个前缀。例如要播放一个文件名为mycoolvideo.mov的MP4文件,你需要采用mp4:mycoolvideo.mov作为StreamName,在这里mp4:就是media type前缀。如果你没有指定任何前缀,系统会默认采用flv:作为前缀。 下面的表格列出了Wowza Media Server支持的media type 前缀:
Media type prefix | 描述 |
---|---|
flv: | flv视频 (默认的media type前缀) |
id3: | MP3 文件 (但只向播放器返回ID3标签信息),id3是mp3文件中的描述信息,包括曲名、专辑、音轨编号、类型、声波图等 |
mp3: | MP3 文件 |
mp4: | QuickTime container |
smil: | 同步多媒体集成语言(Synchronized Multimedia Integration Language) (用于码率自适应流传输) |
ngrp: | Named Group (用于码率自适应流传输) |
amlst: | API-based MediaList (用于码率自适应流传输) |
注意:StreamName前缀都是小写,不要写错了!
同步多媒体集成语言Synchronized Multimedia Integration Language (.smil) 文件提供了一个方法将相同VOD内容但有多个不同码率的多个文件组织为一个文件组,用于实现码率自适应时的文件切换。 为了实现正确的流切换,多个不同码率的多个文件的关键帧(key frames)必须要对齐。这个smil:作为media type前缀就是用于让播放器播放在这个.smil文件中的定义的不同码率的媒体文件。
Wowza Transcoder 使用一个模版将一组直播流组织到一个逻辑组里(Wowza称之为Stream Name Groups) ,以实现直播流的码率自适应传输。 Stream Name Groups 和SMIL 文件的目的是一样的,两个方法都可以被用于直播流播放。 Stream Name Groups 是在转码的模版文件里定义的,在播放时,只要加上ngrp:的media type前缀即可。
Wowza Stream Engine 4有一个API可以用于拦截播放请求并实现码率自适应,它可以通过调用API为客户端提供一组流信息。 要使用这个功能,你必须使用stream name 前缀amlst:并使用一组Java对象来描述多个码率的流信息(即API-based MediaList)。 当Wowza Media Server reads读取一个SMIL文件时,它实际上也是用这个SMIL中的信息创建了一个MediaList对象,并将这个对象提供给了底层负责流媒体传输的对象。 现在相当与你可以自己用Java API去动态地创建了一个MediaList对象(至于是否用smil文件来描述多个码率的流取决与你)