在页面中嵌入许多小电影(gif vs mp4 vs webm vs?)

时间:2015-12-11 16:01:54

标签: performance video ffmpeg gif animated-gif

我正在制作一个网页,其中包含大约20-25个小分辨率(~56x56)和短长度(~3秒)的电影,这些电影将被设置为自动播放和循环,因此它们将在页面上循环播放一直。它们大多分散在整个页面中,因此不能轻易合并成更大的电影。

我正在尝试决定使用正确的格式,平衡文件大小,质量和处理器开销。

在质量和文件大小方面,mp4似乎是最好的选择,但是在页面上嵌入许多小的mp4对我来说感觉很慢并且让我的计算机变热了。尽管它们只有一个mp4,但它只有300x240左右 - 如果它们被分割,似乎会有很多CPU开销。

gif是较低质量的更大的文件大小,但CPU性能感觉更顺畅。我无法证明这一点,因为我没有测量它 - 已知gif比mp4更好的性能?

我还没有尝试其他格式(webm,avi,ogg等),但我不确定大多数浏览器对所有这些格式的支持程度如何,我希望可以从多个浏览器/国家/地区查看该网页。

如何确定用于这些视频的最佳格式?有没有一个工具可以衡量我的网页的CPU性能,所以我可以量化性能问题?

1 个答案:

答案 0 :(得分:3)

对于大多数操作系统来说,在单个页面上播放许多视频是一个问题,因为视频解码和播放是CPU密集型的。

某些系统在视频播放“管道”中也会有硬件元素(硬件加速)(OS,浏览器和播放器执行的一系列功能,用于解压缩,解码,准备和显示视频),这些元素可能不支持或者并行播放的能力有限。

如果您事先知道要在页面上播放哪些视频,并且如果您没有为不同用户提供太多不同的视频组合等,则此方案有一个相当常见的解决方法:这是合并视频在服务器端转换成单个视频。这意味着用户仍然可以看到多个视频,但是您正在服务器端进行所有繁重的工作。

缺点是您无法启动或停止单个视频或快速更改视频组合。

如果您计划支持移动浏览器,您应该知道大多数移动设备不支持自动播放(以帮助节省用户带宽),而较小的设备(如手机)通常不支持内嵌视频(视频将始终播放完整屏幕)。 [ 2017年2月更新:随着移动数据费用的增加,移动设备开始支持自动播放,大多数现在支持内联,iOS在iOS 10中添加此功能]