我正在使用一个 MediaStream 并使用画布和 WebAudio API 合并两个单独的轨道(视频和音频)。MediaStream 本身似乎并没有失去同步,但是在将其读入 MediaRecorder 并将其缓冲到视频元素中后,音频似乎总是比视频早得多这是似乎存在问题的代码:
let stream = new MediaStream();
// Get the mixed sources drawn to the canvas
this.canvas.captureStream().getVideoTracks().forEach(track => {
stream.addTrack(track);
});
// Add mixed audio tracks to the stream
// /sf/ask/2949698181/
this.audioMixer.dest.stream.getAudioTracks().forEach(track => {
stream.addTrack(track);
});
// stream = stream;
let mediaRecorder = new MediaRecorder(stream, { mimeType: 'video/webm;codecs=opus,vp8' });
let mediaSource = new MediaSource();
let video = document.createElement('video');
video.src = URL.createObjectURL(mediaSource);
document.body.appendChild(video);
video.controls = true;
video.autoplay = true;
// Source open
mediaSource.onsourceopen = …Run Code Online (Sandbox Code Playgroud) webrtc media-source web-mediarecorder mediastream web-audio-api
我需要解密这个哈希密码:e59dc19f2a3a569417fa183696f91604并且有盐:4067.是否可以使用此信息恢复密码?
基本上我希望能够有效地执行相同的代码:
const video = document.getElementById('video');
const canvas = document.getElementById('canvas');
const context = canvas.getContext('2d');
const draw = () => {
context.drawImage(video, 0, 0);
requestAnimationFrame(draw);
}
video.onplay = () => {
requestAnimationFrame(draw);
}
Run Code Online (Sandbox Code Playgroud)
仅使用屏幕外画布。我可以通过消息向屏幕外画布所在的工作人员发送图像,但不能发送视频,因为它直接绑定到HTMLElement. 目前有没有办法以某种方式仍然MediaStream在屏幕外画布中渲染视频数据或 a ?