【发布时间】:2014-12-01 20:14:35
【问题描述】:
我只想显示给定视频的部分视频帧。让我用例子来解释我的意思:
- 我有一个宽屏视频 (852 x 480),但我想通过使用 CSS 或 JavaScript 模拟裁剪将其显示为全屏视频 (640 x 480)。视频文件不变;该脚本只是隐藏了两侧的像素。
- 我有一个非标准尺寸的视频,它是两个 640 x 480 视频并排的自定义混合,因此总尺寸为 1280 x 480。无需编辑视频,我想模拟在一个页面上同时播放两个视频,但它将来自这个单一来源的视频。我想制作两个 640 x 480 的视频元素,一个聚焦于 1280 原始视频源的左侧部分,另一个聚焦于右侧部分。
我想设置像top和left这样的属性来指定视频的起点,然后设置像bottom和right或height和width这样的属性来指定视频的宽度和高度视频将从起点开始播放。
我非常喜欢纯 CSS 的解决方案。然而,我怀疑是否存在。我对 javascript/jquery 没问题。我有一个基于the solution in this answer 的想法,但这似乎有点不合时宜。基本上,我可以制作一个我想要视频大小的 div,相对定位它并将溢出设置为隐藏。然后我会将视频元素放在 div 内并绝对定位,以便在 div 中看到我想要显示的部分,但其他部分溢出并被隐藏。这确实有不需要 javascript 的好处,但如果它们存在并且没有添加 HTML,我更愿意使用真实属性。
这里有一些图片来展示我想要完成的事情,但不知道任何非黑客解决方案。白色部分是视频帧的大小以及向用户显示的内容。灰色部分是隐藏的。
视频帧从左上角开始为 640 x 480。源是 852 x 480。 视频帧从右上角开始为 640 x 480。源是 852 x 480。 视频帧为 640 x 480,从顶部开始,从左侧开始 106 像素。源是 852 x 480。 视频帧为 320 x 240,从顶部 140 像素和左侧 212 像素开始。源是 852 x 480。
【问题讨论】:
-
只需使用 4 个元素(上、左、下、右)+ CSS 创建一个遮罩。
标签: javascript css html5-video