鸟语天空
WebRTC 从canvas获取媒体流
post by:追风剑情 2024-9-2 21:40

调用 HTMLCanvasElement.captureStream() 方法可以从 canvas 实时获取视频流。

 MediaStream stream = canvas.captureStream(frameRate);  
// CanvasCaptureMediaStreamTrack 的定义
interface CanvasCaptureMediaStreamTrack : MediaStreamTrack {
  readonly attribute HTMLCanvasElement canvas;
  void requestFrame();
}  

CanvasCaptureMediaStreamTrack 继承自 MediaStreamTrack,增加了 canvas 属性和 requestFrame() 方法。

从 canvas 元素捕获视频流,将视频流发送给对等端。HTMLCanvasElement.captureStream() 方法示例。

// 获取canvas元素
const canvasElt = document.querySelector('canvas');
// 获取媒体流,帧率为25
const stream = canvasElt.captureStream(25);
// 使用RTCPeerConnection将媒体流发送给对等端
pc.addStream(stream); 
评论:
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容