HLS直播服务器

2024-04-27 02:29:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我计划为一个小项目使用HLS协议用python编写自己的实时流服务器

我的想法是使用AmazonS3进行存储,让python服务器只输出m3u8文件

现在的问题很简单:我想通过一个不可靠的网络从一个摄像头流式传输实时视频,如果出现拥塞,播放器可能最终完成m3u8文件中引用的最后一个文件的播放。我是否可以以某种方式将流标记为实时流,让玩家在特定时间内重新加载m3u8以查找下一个片段,或者应该如何处理使用HLS的实时流? 可能不支持通过HLS进行直播


Tags: 文件项目标记网络服务器协议视频方式
1条回答
网友
1楼 · 发布于 2024-04-27 02:29:39

这在HLS spec中明确允许作为“实时播放列表”。需要注意的是,第6.2.1节中有几点:

The server MUST NOT change the Media Playlist file, except to:

o Append lines to it (Section 6.2.1).

如果我们看看第4.3.3.4节:

The EXT-X-ENDLIST tag indicates that no more Media Segments will be added to the Media Playlist file. It MAY occur anywhere in the Media Playlist file.

换句话说,如果播放列表不包含#EXT-X-ENDLIST标记,则播放器将继续以一定频率从其最初加载的任何源加载播放列表,并寻找服务器将片段附加到播放列表中

大多数玩家都会考虑到当前的网络状况,这样他们就有机会在播放开始前获得新的片段。如果服务器需要中断这些段,或者引入间隙,那么它有责任引入#EXT-X-DISCONTINUITY-SEQUENCE标记

苹果在其开发者网站上提供了一个更具体的example of a Live Playlist

相关问题 更多 >