使用Http Live Streaming连接视频以形成无缝播放列表

时间:2012-04-12 15:06:32

标签: ios ios5 video-streaming http-live-streaming

我有兴趣看看我是否可以使用HTTP Live Streaming(Apple)来连接两个不同的视频?例如,为了能够播放例如电视节目的商业和视频2的视频1的视频播放列表,并使用该协议在它们之间实现无间隙回放,因此在它们之间没有等待。

如果可以,有人可以告诉我如何正确形成播放列表.m3u8吗?

我尝试了以下示例:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:10,
commercial-00001.ts
#EXTINF:10,
commercial-00002.ts
#EXTINF:9,
commercial-00003.ts
#EXTINF:7,
commercial-00004.ts
#EXTINF:10,
tv-00001.ts
#EXTINF:10,
tv-00002.ts
#EXTINF:10,
tv-00003.ts
#EXTINF:10,
tv-00004.ts
#EXTINF:10,
tv-00005.ts
#EXTINF:10,
tv-00006.ts
#EXTINF:7,
tv-00007.ts
#EXT-X-ENDLIST

然而,iOS上的播放器在播放第一个视频(商业广告)后就会冻结。缓冲条只显示它已缓冲到第一个视频的末尾。

注意:我的目标是iOS,不幸的是,闪存是不可能的:(

有没有正确的方法来执行此操作?

1 个答案:

答案 0 :(得分:2)

除非将片段准备为单个流,否则解码器不一定能够在它们之间无缝切换。

您应该在插入的细分受众群之前和之后引入#EXT-X-DISCONTINUITY行。这可能会导致客户端发生明显(但不是破坏性)的转换,因为视频解码器将被重置。