如果你遇到一些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>