试图了解HTML5 / JS的视频播放质量

时间:2018-01-19 00:49:17

标签: javascript html5 video video-streaming

我一直在研究这一点,但我没有得到我的确切问题的直接答案。我正在努力了解视频播放器切换视频质量的过程(480p,720p,1080p等)。

为了达到这个目的,我首先要问的是,这更像是一个前端还是后端的东西?为了说明第一个答案,请做一个:

A)以最高质量将一个视频文件上传到服务器(S3 / Google Cloud),然后在HTML中使用video标记并添加属性以指定所需的质量?

B)以最高质量将一个视频文件上传到服务器(S3 / Google Cloud),然后使用JS控制播放质量?

C)使用服务器代码将最高质量的上传文件拆分为多个具有不同流媒体质量的文件,然后使用前端JS选择需要哪种质量?

D)意识到这比看起来更多的工作,应该留给专业的视频流服务,比如JWPlayer?

或者我没有看到没有流媒体服务可能的其他选项,而没有实际构建流媒体服务?

如果答案几乎是D,你推荐什么服务?

注意:我知道YouTube和Vimeo可以解决这个问题,但我并没有尝试过那种开销。

1 个答案:

答案 0 :(得分:0)

这是答案' C'正如评论中所述,也许可以部分回答' D'还

您需要一个支持流行的可调节比特率流协议(ABR)DASH或HLS之一的视频流服务器。 ABR允许客户端设备或播放器以块的形式下载视频,例如10秒块,并从最适合当前网络条件的比特率中选择下一个块。

有可用的开源流媒体服务器,如GStreamer和Wowza等许可的服务器,如果您想自己托管视频,可以提起诉讼。

对于ABR的一些示例,请参阅此答案:https://stackoverflow.com/a/42365034/334402