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

3

我想知道是否可以使用HTTP Live Streaming(苹果公司)来拼接两个不同的视频?例如,播放商业广告的视频1和电视节目的视频2的视频播放列表,并使用该协议使它们之间无缝播放,以便没有等待时间。

如果可能的话,请问有人能向我展示如何正确地形成播放列表.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,所以不幸的是,Flash不能用 :(

有没有适当的方法来解决这个问题?

1个回答

2
除非这些片段正在被准备成单一流,否则解码器不一定能够无缝地在它们之间切换。
在插入的片段前后应该引入#EXT-X-DISCONTINUITY行。这可能会导致客户端出现明显(但不会破坏性)的转换,因为视频解码器将被重置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接