流媒体服务器中3路频道组成HLS多码率频道。单独的子频道都可以单独播放,而多码率频道只能播放master playlist里排在第一条的子频道。
例如:channel21, channel22, channel23分别是单码率的HLS频道,均可以播放。sum频道是由channel21, channel22, channel23组成的多码率的HLS频道。wget 请求sum频道得到master playlist,内容如下:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=800000
http://10.33.0.9:80/live/flv/channel21/playlist.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1200000
http://10.33.0.9:80/live/flv/channel22/playlist.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=200000
http://10.33.0.9:80/live/flv/channel23/playlist.m3u8
其中http://10.33.0.9:80/live/flv/channel21/playlist.m3u8等均正常播放。VLC播放sum频道时,开始是channel23频道内容,几秒后会跳到channel22内容。但是iPad播放时,一开始就是channel21的内容。如果是channel22或channel23处在第一个的位置,则iPad一开始就播放channel22或channel23的内容。也就是说,不管网络好坏,iPad都是只播放master playlist里面第一条的单码率频道。
单独码率的HLS频道的m3u8文件(media playlist)是如下的样子并可以正常播放:
#EXTM3U
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:738#EXTINF:10,
e7c8d9891c91f264_13fb0b310c0_738.ts
#EXTINF:10,
e7c8d9891c91f264_13fb0b34044_739.ts
#EXTINF:10,
e7c8d9891c91f264_13fb0b36f54_740.ts
请教高手,这个可能是什么原因造成的?