首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >S3直播-这些假设是正确的吗?

S3直播-这些假设是正确的吗?
EN

Stack Overflow用户
提问于 2017-03-07 10:47:12
回答 1查看 1.2K关注 0票数 2

我想做一条活生生的小溪。我想用HLS。

据我所知,HLS活动流只是一个具有“.m3u8”扩展名的主播放列表文件,其中列出了要播放的所有文件。

但是,对于实时流来说,由于所有的文件都不是随时可用的,所以当它们进来时就会添加它们。

我现在想使用S3来托管这些文件和播放列表文件。

现在,我想更新S3中的播放列表文件。但实际上它将取代现有的播放列表文件,而不仅仅是更新它(根据this answer)。

所以,我假设在文件替换过程中不会有死时间。如果有死期,我该如何克服呢?是这样做的,还是有其他更好的方法来做到这一点。

我使用的是NodeJS服务器,只是FYI。

*没有文件的死区时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-09 01:41:11

我想做一条活生生的小溪。我想用HLS。

为什么是他?为什么不达什?破折号也是分割和实现几乎完全相同的HLS,但有更多的灵活性,就编解码器的选择和什么不是。这两种方法都可以,但如果您今天从头开始,我推荐DASH,以及使用Media扩展的DASH.js参考播放器代码。

据我所知,HLS活动流只是一个具有“.m3u8”扩展名的主播放列表文件,其中列出了要播放的所有文件。

对,是这样。

但是,对于实时流来说,由于所有的文件都不是随时可用的,所以当它们进来时就会添加它们。

对,是这样。

现在,我想更新S3中的播放列表文件。但实际上它将取代现有的播放列表文件,而不仅仅是更新它

是的,正如另一个答案所指出的,没有区别。播放列表文件将用新的完整副本覆盖。S3 API不允许附加到文件中,除非进行多部分上传,而这实际上并不是一回事。无论如何,活动流的播放列表文件不会包含每个片段。通常你只保留播放列表中最后几个片段,但这取决于你决定要走多远。

所以,我假设在文件替换过程中不会有死时间。

在上传和存储完整的新对象之前,S3不会替换该对象。永远不会有部分文件存在的情况。S3不像普通的文件系统。此外,如果后续上传失败,旧对象仍将保留。

HLS和DASH播放器在开始播放前会读取播放列表并缓冲大量数据。(这就是为什么它们有很高的延迟。)在上传新段并将其添加到播放列表之前,需要几秒钟的时间,所以重要的是,它们已经有了缓冲区中的数据可供播放。这就是为什么你不必担心任何辍学,除非有一个未能及时上传。

我使用的是NodeJS服务器,只是FYI。

是真地吗?听起来你在用S3 .不知道Node.js和这一切有什么关系。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42646221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档