是否可以在不使用任何流媒体服务器的情况下进行 http 流媒体?
6 回答
当然。您可以输出和刷新,它会在您结束脚本之前到达客户端,因此它是流式传输的。
对于仅分段的实时流媒体,例如 Apple HLS,目前还没有广泛支持分段 HLS 的其他变体(例如 OSMF)。来自微软的 IIS 也可以进行流畅的流式传输(Apple HLS 也是如此)。当您将流预先分段为块并仅上传到 Web 服务器路径时,任何 Web 服务器都可以支持 Apple HLS。
对于 VoD 流媒体,所有 Web 服务器都有很多模块。
是的,尽管图书馆有不同程度的支持。需要使用的是“http 分块”,这样 lib 不会尝试在内存中缓冲整个请求/响应(以计算内容长度标头),而是指示内容以块的形式出现。
是的,这不仅是可能的,而且已经被各种媒体服务器公司实施,唯一的原因是他们仍然出于商业目的使用服务器。基本上,您要流式传输的内容应分为块/数据包,然后客户端机器可以通过简单的 HTTP 获取请求来请求这些块。
是的,您的 http 流媒体问题的答案是 MPEG-DASH 技术
好吧,如果您有可用的 WebSockets,您实际上可以通过将视频帧作为 jpeg 发送来为低 fps 场景获得相当低的延迟流。
您还可以单独发送音频并使用浏览器上的 WebAudio 播放。我想它可以适用于不需要完美音视频同步的场景。
另一种方法是通过 WebSocket 流式传输 MPEG 块,使用 jsmpeg 在 JS 中对其进行解码并渲染到画布上。您可以在此处找到更多信息(仅限视频):
http://phoboslab.org/log/2013/09/html5-live-video-streaming-via-websockets