Ree*_*ard 5 html javascript webrtc web-mediarecorder mediastream
我正在尝试制作类似于
https://recordscreen.io/ 的东西,
它将用户相机定位在屏幕录制上
我现在分别拥有两个流。
我试过将一个放在另一个上,但我希望它在单个视频元素中进行记录
我试图创建一个组合媒体流,其中包含来自其他两个流的轨道,但我根本无法定位它们
/**
* Edge has a slightly incorrect implementation of getDisplayMedia
* Typescript currently uses this so typing is incorrect
*/
const screenMediaStream = await (navigator.getDisplayMedia ?
navigator.getDisplayMedia(constraints) :
(navigator.mediaDevices as any).getDisplayMedia(constraints)
) as MediaStream;
const cameraMediaStream = await navigator.mediaDevices.getUserMedia({
audio: true,
video: { width: 150, height: 150 }
});
const combinedMediaStream = new MediaStream([...cameraMediaStream.getTracks(), ...screenMediaStream.getTracks()]);
screenVideoElement.srcObject = combinedMediaStream;
Run Code Online (Sandbox Code Playgroud)
这仅显示网络摄像头。我希望能够将网络摄像头定位在屏幕录制的顶部。
小智 0
基本上,您必须在画布中渲染两个流,并具有适当的位置和尺寸,以便屏幕捕获流能够充满窗口和高度。对于用户相机流捕获,它将位于左下角,尺寸为 150X150。现在您必须开始将这些流写入画布。通过 captureStream() 方法,我们可以访问组合的视频流并开始使用它。
| 归档时间: |
|
| 查看次数: |
872 次 |
| 最近记录: |