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