小编Jac*_*way的帖子

WebRTC 视频/音频流不同步(MediaStream -> MediaRecorder -> MediaSource -> Video Element)

我正在使用一个 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

8
推荐指数
1
解决办法
3647
查看次数

是否有可能用盐解密MD5哈希?

我需要解密这个哈希密码:e59dc19f2a3a569417fa183696f91604并且有盐:4067.是否可以使用此信息恢复密码?

md5

5
推荐指数
2
解决办法
3万
查看次数

有没有办法将视频数据从视频标签/媒体流发送到 OffscreenCanvas?

基本上我希望能够有效地执行相同的代码:


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 ?

javascript canvas web-worker media-source mediastream

2
推荐指数
1
解决办法
2957
查看次数