video-streaming - 嵌入多个非常大的视频文件
问题描述
对于一个网络应用程序,基本上是一个艺术项目,我想做一件事。
一组固定的8个 24 小时长的视频将同时观看。其中 7 个为缩略图大小,一个为几乎全屏。用户可以将全屏视频切换为另一个。24 小时后,它们循环播放。
每个视频都与一天中的时间同步,不能跳过,因此如果您在 10:09:08 访问网站,所有视频也应该在 10:09:08 开始。所以没有停顿或寻求。
由于视频文件的大小很大,我不确定哪种方式是处理这个项目的好方法。我认为,由于加载时间的原因,仅将它们放在<video>
标签中不会带来良好的用户体验。
开关动作的快速反应是关键;立即切换或尽可能短的加载时间。7个小视频的质量可以降低,但大的应该尽可能好。此外,它应该是移动和桌面友好的。
我需要什么样的服务- 谷歌云存储对于这些视频文件是否智能?
DASH.js的Adaptive Streaming似乎是适用于所有桌面的好解决方案,但它不适用于移动浏览器。有现成的解决方案吗?我是否应该为此使用服务(可以选择扔一点钱)?或者 youtube API,甚至普通的 youtube iframe 可以处理这样的事情吗?这感觉就像一个可怕的黑客攻击。
非常感谢您的任何意见!
解决方案
您应该使用 HLS 格式 - 浏览器只会按需加载您需要的实际文件。具体来说,它允许您将 m3u8 文件中的时间戳指定为时间戳,因此查找应该更容易。HLS 还将实际的视频片段分解成更小的块,您可以存储在 S3/云存储中。hls.js是适用于桌面 + 移动设备的外部库的一个选项,尽管能够在页面上组合视频而不是自动全屏可能取决于移动设备。我认为您应该为缩略图做的是创建 1 个将这些流平铺的视频,然后使用元素在屏幕上排列这些流。然后,您可以按需加载不同的大型视频流(也可以是 HLS - 如果您想花哨的话,甚至可以在同一个 m3u8 中使用不同的级别)。
推荐阅读
- android - context.startForegroundService(startServiceIntent) 多次会调用 onCreate 多次?
- javascript - React/Redux:等待 reducer 获取 props
- python - 将透视图像转换为顶视图
- java - 来自 Slider On fxml 的标签
- php - 使用 htaccess 文件进行 URL 重定向,对 url 友好重定向的 url 友好
- excel - 填充 ListBox 时宏卡在 For Each 循环中
- jquery - 使用包含相对路径的图像的 CORS 加载外部 AJAX
- java - raf.seek(pos) 的类比
- regex - 仅使用正则表达式从主页重定向并保留 UTM 参数
- excel - 从 Excel 粘贴到 Word 的 VBA 代码在某些 PC 上运行,在其他 PC 上返回错误 4198