【发布时间】:2018-03-19 12:52:44
【问题描述】:
我目前有一个使用 MediaRecorder 录制的 MediaStream。在录制结束时在 recorder.stop() 之后,它会产生一个 Blob,我可以播放该视频。我的目标不是在最后播放整个视频,而是在录制时播放一段。目前,在录制未结束时无法播放块。
我怎样才能使用 javascript 做到这一点?最终目标是通过 websocket 发送一个可播放的块,即使正在录制。
我无法带来新的解决方案。任何人都可以帮助或至少解释一下吗?
我试过的是
navigator.mediaDevices.getUserMedia().then(function(media_stream) {
var recorder = new MediaRecorder(media_stream);
recorder.ondataavailable = event => {
//How to play each chunk without waiting for recorder.stop() ???
//event.data represent the data of a chunk (i.e. a blob)
};
recorder.start(1000);
});
【问题讨论】:
-
可以使用 ffmpeg 将这些块发送到 nodejs 进程并将其重新流式传输到浏览器。你需要一些转码
-
感谢您的回答。不幸的是,我不知道 ffmpeg。此外,我只想留在 javascript 上(我没有级别......)。不得不等到录制结束才能播放已经录制的内容,这是一种耻辱。我真的不知道如何在录制时播放块。
-
您的问题解决了吗?我有同样的...
标签: video blob mediarecorder chunks mediastream