VideoFrame: rotation 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

注意:此功能在 专用 Web Workers 中可用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

VideoFrame 接口的 rotation 属性返回视频帧的旋转角度。

一个整数,表示顺时针旋转的角度(0、90、180 或 270)。默认为 0。任意数字(包括负数)将四舍五入到最近的四分之一圈。

示例

检测摄像头视频是否旋转

给定一个使用 MediaStreamTrackProcessor 获取的摄像头视频帧流,你可以检查 VideoFrame 对象的 rotation 属性,以查看帧是否旋转。

js
const stream = await navigator.mediaDevices.getUserMedia({ video: true });
const track = stream.getTracks()[0];

const trackProcessor = new MediaStreamTrackProcessor(track);

const reader = trackProcessor.readable.getReader();
while (true) {
  const result = await reader.read();
  if (result.done) break;
  const frameFromCamera = result.value;
  // Returns 0, 90, 180, or 270 indicating the frame's rotation
  console.log(frameFromCamera.rotation);
}

规范

规范
WebCodecs
# dom-videoframe-rotation

浏览器兼容性