是否值得为网络视频使用 HLS/DASH,还是我应该坚持使用 webm/mp4
Is it worth using HLS/DASH for web videos, or should I stick with webm/mp4
我正在开发一个需要托管大型视频(约 1 小时长)的系统。
所以我正在考虑 2 种解决方案:
- 将上传的视频转换为几个不同分辨率(4k、1080p、720p、...)的 webm 文件
和一个 mp4 作为后备并直接为他们服务。
- 将上传的文件转换为 HLS 片段(也有多种分辨率)
并生成 HLS 和 DASH 播放列表并按原样提供它们。
据我了解,HLS 具有分段的优势,因此只有在实际播放视频时才会下载文件,并且只会以客户端互联网连接可以保持的格式下载。
另一方面,理论上可以使用 HTTP 范围请求下载 webm,但并非每个服务器都能正确处理它,我不确定浏览器是否始终使用范围请求而不是下载整个文件。
使用 HLS 是否有助于减少服务器的网络使用,还是坚持使用 webm 更好?
使用一种解决方案与另一种解决方案相比还有其他优势吗?
HLS 与 mp4:
对于较长的视频,我认为流媒体 (HLS/DASH) 更好。
- 没有针对视频的媒体查询 - 您需要使用 JS 选择 webm/mp4,仅此而已。您的选择是最终的。例如 - 如果您的页面逻辑决定根据屏幕尺寸向设备提供 480p,然后用户进入全屏 - 视频将保持 480p。
- HLS 将根据屏幕选择大小 - 也会根据网络连接 - 因此如果连接速度较慢,它将下降到较低版本的视频以确保播放。
我认为最重要的是 - 为视频构建 HTTP 范围请求 - 可能会奏效,但有一个强大的基础设施,支持视频播放器和交付,您可以将其添加到您的管道中,并且知道它们会奏效 -节省时间、调试等
如果您要重新编码这些视频,我认为流式传输是您的不二之选。
我正在开发一个需要托管大型视频(约 1 小时长)的系统。
所以我正在考虑 2 种解决方案:
- 将上传的视频转换为几个不同分辨率(4k、1080p、720p、...)的 webm 文件
和一个 mp4 作为后备并直接为他们服务。 - 将上传的文件转换为 HLS 片段(也有多种分辨率)
并生成 HLS 和 DASH 播放列表并按原样提供它们。
据我了解,HLS 具有分段的优势,因此只有在实际播放视频时才会下载文件,并且只会以客户端互联网连接可以保持的格式下载。
另一方面,理论上可以使用 HTTP 范围请求下载 webm,但并非每个服务器都能正确处理它,我不确定浏览器是否始终使用范围请求而不是下载整个文件。
使用 HLS 是否有助于减少服务器的网络使用,还是坚持使用 webm 更好?
使用一种解决方案与另一种解决方案相比还有其他优势吗?
HLS 与 mp4:
对于较长的视频,我认为流媒体 (HLS/DASH) 更好。
- 没有针对视频的媒体查询 - 您需要使用 JS 选择 webm/mp4,仅此而已。您的选择是最终的。例如 - 如果您的页面逻辑决定根据屏幕尺寸向设备提供 480p,然后用户进入全屏 - 视频将保持 480p。
- HLS 将根据屏幕选择大小 - 也会根据网络连接 - 因此如果连接速度较慢,它将下降到较低版本的视频以确保播放。
我认为最重要的是 - 为视频构建 HTTP 范围请求 - 可能会奏效,但有一个强大的基础设施,支持视频播放器和交付,您可以将其添加到您的管道中,并且知道它们会奏效 -节省时间、调试等
如果您要重新编码这些视频,我认为流式传输是您的不二之选。