用户将从浏览器上传需要存储在服务器上并播放的视频。谷歌的第一个理解建议我需要在这里进行 HTTP 直播(HLS)。但我不确定它是如何在内部工作的?
上述工作流程包含三个组件,即用于保存和检索视频的客户端/服务器/数据存储。
保存流程: 我相信我需要插入 HLS 客户端以发送流数据。客户端本身是否将文件分成块,同时发送和维护这些块的链接,每个块指向下一个块?像这样的东西,因为我认为服务器是愚蠢的,并且将以与 http 上传功能相同的方式工作,并且这里不需要其他智能?但不确定 HLS 服务器端组件如何在这里工作,即它将保存为单个文件还是将单个文件拆分为多个文件然后保存在磁盘上?我相信它将文件存储为像常规 http 上传文件一样的单个文件?
检索部分 在正常的常规 http 文件下载中,客户端请求文件数据,服务器以块的形式发回响应,但所有响应块都针对同一个请求发回。
我相信在 HLS 的情况下,它的拉取基于客户端为每个流请求发起拉取请求。在每个块拉取请求中,客户端获取下一个块的文件名并将请求发送到服务器每个轮询请求的单个文件中的相关块等?因此,对于服务器来说,它是一种常规的 http 文件下载请求,所有的智能都取决于客户端