多协议、性能稳定、丰富API的流媒体服务器软件
Apple iOS设备支持的Profile和level信息
在这篇文章中,下面每一行的连接都提供了Apple iOS设备播放音视频时的音视频编码信息,同时也总结了设备所支持的H.264 视频 profile和level信息。

如果你遇到一些iOS设备上的播放问题,请检查音视频流的编码是否是H.264 视频和 AAC/MP3 立体声音频,以及是否是该设备支持的Profile和level。 对于一些老的设备, 44100 Hz和128 kbps可以很好的用于播放MP3文件。对于新设备,请检查该设备所支持的各项技术规范。

在Apple的技术规范中,可以找到每一个设备所支持的Profile和level。

  • iPhone 3GS 和更早的设备支持 Baseline Profile level 3.0 及更低的级别
  • iPhone 4S 支持 High Profile level 4.1 及更低的级别
  • iPhone 5C 支持 High Profile level 4.1 及更低的级别
  • iPhone 5S 支持 High Profile level 4.1 及更低的级别
  • iPad 1 支持 Main Profile level 3.1 及更低的级别
  • iPad 2 支持 Main Profile level 3.1 及更低的级别
  • iPad with Retina display 支持 High Profile level 4.1 及更低的级别
  • iPad mini 支持 High Profile level 4.1 及更低的级别


采用Baseline Profile level 3.0编码的一个视频流在所有iOS设备上进行播放测试,可以得到最低的通用支持信息。使用例子视频文件进行播放测试的详细步骤,请阅读Wowza Streaming Engine 4快速上手

对于面向Apple iOS设备的多码率自适应(ABR)流媒体技术,你可以用一个Synchronized Multimedia Integration Language (SMIL) 文件在给定的设备和带宽条件下提供最佳的播放体验。 播放器将依据流的描述信息(metadata)选择一个最适合。

例如,假定你有3个流,分别采用不同的码率和profile level编码。myStream_baseline.stream (Baseline Profile level 3.0, 总计200 kbps的码率) 以iPhone 3GS 为目标终端, myStream_main.stream (Main Profile level 3.1, 总计200 kbps码率) 以iPad 1、iPad 2、iPhone 4S 为目标终端,myStream_high.stream (High Profile level 4.1 总计 300 kbps码率)以New iPad 为目标终端。 采用一个文本编辑器在[install-dir]/content 文件夹下创建一个名称为myStream.smil的SMIL文件,内容如下:

<smil>
    <head>
    </head>
    <body>
        <switch>
            <video src="myStream_baseline.stream" system-bitrate="200000"/>
            <video src="myStream_main.stream" system-bitrate="200000"/>
            <video src="myStream_high.stream" system-bitrate="300000"/>
        </switch>
    </body>
</smil>
		
你可以看到,在<switch>中,每个<video>实体代表了一个流。system-bitrate的值为这个流的音视频总码率bits-per-second

使用一个Apple iOS 设备 (Cupertino/Apple HTTP Live Streaming)
在该设备的Safari浏览器上输入下面的URL:
http://[wowza-address]:1935/vod/smil:myStream.smil/playlist.m3u8
为了实现多码率自适应(ABR)功能,你需要用一个编码器将一个源视频编码为多个不同码率的、关键帧对齐的输出流。Wowza Transcoder 插件可以被注入一个高码率的实时流并动态地输出多个低码率的关键帧对齐的输出流。 另一个推荐的编码器是Microsoft Expression Encoder, 它也可以创建多个不同码率关键帧对齐的输出流,以适应不同码率的VOD点播业务。

当终端设备因为不支持当前音视频流的profile和level而引起播放问题时,Wowza Media Server的log文件会给出相关反馈。 下面的警告信息暗示有一个iPhone 3 或更早的设备因为视频是采用Main Profile level 3.1编码的而遇到了播放故障。因为iPhone 3及更早的设备仅支持Baseline Profile level 3.0和更低的级别。