如何构建简单的视频流服务器?

问题描述 投票:0回答:1

我是视频流的新手,我只是建立一个播放视频的示例网站。在这里,我只是将视频文件位置放在html5中的视频标签中。我刚注意到在youtube中,视频标签包含blob网址,并对此进行了调查。我发现视频数据是分段的,并且遇到了一个称为伪流的术语。虽然看起来像我建立的网站下载整个文件并播放视频。我不想尝试任何直播,只是尝试流式传输本地视频。我想也许视频流服务器可以完成分段接收视频数据的方式。我遇到了RED5开源流媒体服务器,但大部分的例子都是实时流媒体,我没有尝试过。这几天我不确定我是否走在正确的轨道上

youtube video-streaming streaming html5-video blob
1个回答
0
投票

您参考的分段方法是支持自适应比特率流 - ABR。

ABR允许客户端设备或播放器以块的形式下载视频,例如10秒块,并从最适合当前网络条件的比特率中选择下一个块。请看这里的例子:

对于您现有的站点,只要您的服务器支持范围请求,您可能实际上并未下载整个视频。使用范围请求,浏览器或播放器将一次只请求部分文件,以便在下载整个文件之前开始播放。

对于MP4文件,值得注意的是,您需要在文件的开头而不是结尾处包含标题信息,该信息包含在名为MOOV atom的“块”或“原子”中 - 它最后是常规MP4文件。有许多工具可以让你把它移到一开始 - 例如:

您的调查肯定是在正确的轨道上 - 视频托管和流媒体是一个专业领域,因此通常更容易利用现有的流媒体技术和服务,而不是自己构建它们。一些寻找开源解决方案的好地方:

© www.soinside.com 2019 - 2024. All rights reserved.