html - 更改移动设备的 HTML5 视频源

标签 html video

希望对某些人来说应该是一个简单的答案,我正在制作的网站有我不想在移动设备上加载的视频。

想知道是否有办法将小于 800px 宽度的屏幕的每个视频源更改为 1kb 视频,但在桌面上播放完整视频,

我并不是要降低移动用户的质量,移动用户根本看不到视频,因为它们被替换为图像以节省数据流量。我想完全阻止移动用户在后台加载视频,因为我不希望他们下载他们网站版本中未包含的视频,如果我不能阻止他们加载低于 800px 那么是否有可能用 1kb 视频替换该断点处的源作为一种保存移动数据的 hack。

<video autoplay loop id="video-background" muted plays-inline>
<source src="VIDEO/BG-VID.mp4" type="video/mp4"> 
<source src="VIDEO/1kb-vid.mp4" type="video/mp4"> 
</video>

最佳答案

移动用户可以轻松显示全高清视频,只是将断点设置为 400px(或其他)。这并不意味着它们没有高清分辨率,事实上许多移动设备具有更高的分辨率。 Youtube、Netflix,它们都可以在移动设备上加载高清内容。

不再支持源标签中的媒体查询,这在几年前才有可能。

人们不想在移动设备上看到分辨率较低的视频,他们希望看到全分辨率视频(如果带宽允许的话)

这就是为什么实现它的唯一方法与 Netflix 或 Youtube 实现此类事情的方式相同:动态地将不同大小的视频发送到不同的带宽。这意味着它们在播放过程中会发生变化,无法以固定的方式定义它。

您的问题的解决方案是 MPEG-Dash ,这需要在服务器上做一些工作,还需要对视频进行特定编码。 由于这是一个很大的话题,我将只链接 one (good?) tutorial , 但如果您搜索 MPEG-Dash,您可以找到更多信息。

关于html - 更改移动设备的 HTML5 视频源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53701660/

相关文章:

audio - 使用不同编解码器的视频样本集合

html - 如何增加选择的高度?

html - firefox 没有为我的表格标题呈现正确的宽度

php - Chrome 将 PHP 文件的内容加载到 CSS 文件中

html - MVC Gridview 排序箭头改变颜色

c# - 在录制视频ffmpeg中增加fps

c++ - 裁剪具有定义的宽度、长度和像素位置的视频文件

node.js - 将 Node.js 服务器设置为 WebRTC 对等点,并将视频从 USB 摄像头发送到客户端浏览器

javascript - 营业时间 - DIV 取决于星期几和小时

jquery - 如何在 DOM 之后加载视频 HTML5 并循环播放?