【问题标题】:Is it worth using HLS/DASH for web videos, or should I stick with webm/mp4 [closed]是否值得将 HLS/DASH 用于网络视频,还是我应该坚持使用 webm/mp4 [关闭]
【发布时间】:2021-09-17 09:32:46
【问题描述】:

我正在开发一个需要托管大型视频(约 1 小时)的系统。
所以我正在考虑两种解决方案:

  1. 将上传的视频转换为几个不同分辨率(4k、1080p、720p、...)的 webm 文件
    以及一个 mp4 作为后备并直接提供给他们。
  2. 将上传的文件转换为 HLS 段(也支持多种分辨率)
    并生成 HLS 和 DASH 播放列表并照此提供。

据我了解,HLS 具有分段的优势,因此文件只会在实际播放视频时下载,并且只会以客户端互联网连接可以保持的格式下载。

另一方面,webm 理论上可以使用 HTTP 范围请求下载,但并非每个服务器都能正确处理它,我不确定浏览器是否会始终使用范围请求而不是下载整个文件。

使用 HLS 是否有助于减少服务器的网络使用量,还是坚持使用 webm 更好?
使用一种解决方案与另一种解决方案相比还有其他优势吗?

【问题讨论】:

  • 为什么这个问题是基于意见的?我在这个问题中有 2 个子问题:首先询问 2 个解决方案中的哪一个将使用更少的带宽。这里没有意见,只是海峡事实。第二个问题是关于我应该注意的其他问题以及使用每种解决方案的危险。尽管这是一个悬而未决的问题,但它仍然不是征求意见,而是征求事实。
  • 我认为这个问题也已关闭,因为它看起来与编程无关。请记住,关于 SO 的问题应包含一个特定、与编程相关的问题。

标签: video html5-video http-live-streaming webm


【解决方案1】:

HLS 与 mp4:

对于较长的视频,我认为流式传输 (HLS/DASH) 更好。

  1. 没有针对视频的媒体查询 - 您需要使用 JS 选择 webm/mp4,然后就可以了。您的选择是最终的。例如 - 如果您的页面逻辑决定根据屏幕尺寸向设备提供 480p,然后用户进入全屏模式 - 视频将保持 480p。
  2. HLS 将根据屏幕选择大小 - 以及网络连接 - 因此,如果连接速度较慢,它会降低到视频的较低版本以确保播放。

我认为最重要的是 - 为视频构建 HTTP 范围请求 - 可能会奏效,但有一个强大的基础架构支持视频播放器和交付,您只需将其添加到您的管道中,并且知道它们会有效 - 节省时间、调试等。

如果您要重新编码这些视频,我认为流式传输是您的最佳选择。

【讨论】:

    猜你喜欢
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多