问题描述
我需要从服务器流式传输视频。我看到 this video example 提供视频流,其中视频存储在某处 在服务器上。
我的问题是它在内部是如何工作的?
方法 1: 我的意思是它会在内部一次性下载文件并从下载的文件开始流(基本上用户体验过它 作为流式视频,但首先在内部下载)
方法 2: 另一种方法可以是它实际上是从后端以块形式流式传输的,而 html 视频标签实际上是在获取内容时对其进行流式传输?在这种情况下,当客户端在浏览器中使用视频标签时,视频文件是否会自动处理它们以块形式发送数据?
不确定 html 5 视频流采用哪种方法?如果是方法2,后端的视频如何知道它需要发送什么特定的字节块,因为它只是后端的视频文件,没有任何服务?
解决方法
html5 视频流并不是一个真正的术语。 HLS(HTTP Live Streaming)使用 HTML5 视频播放器之外的视频播放器。
创建 HLS 视频流比发送 mp4 块要复杂一些。这是我写的一篇关于 HLS 流如何工作的文章:https://api.video/blog/video-trends/what-is-hls-video-streaming-and-how-does-it-work