如何以单一文件格式将基于RecordRTC的音频+视频录制上传到服务器?
RecordRTC似乎生成两个单独的文件:一个用于音频(如WAV),另一个用于视频(如WebM).如何在PHP服务器上同时上传这两个文件?
我正在做一个项目,我需要用户能够录制屏幕、音频和麦克风。目前我只能让它识别屏幕和音频。
首先,我正在捕获屏幕和其中的音频并将其保存到变量中。然后我捕获该变量以显示视频组件。
invokeGetDisplayMedia(success, error) {
let displaymediastreamconstraints = {
video: {
displaySurface: 'monitor', // monitor, window, application, browser
logicalSurface: true,
cursor: 'always' // never, always, motion
}
};
// above constraints are NOT supported YET
// that's why overridnig them
displaymediastreamconstraints = {
video: true,
audio:true
};
if (navigator.mediaDevices.getDisplayMedia) {
navigator.mediaDevices.getDisplayMedia(displaymediastreamconstraints).then(success).catch(error);
}
else {
navigator.getDisplayMedia(displaymediastreamconstraints).then(success).catch(error);
}
},
captureScreen(callback) {
this.invokeGetDisplayMedia((screen) => {
this.addStreamStopListener(screen, () => {
//
});
callback(screen);
}, function (error) {
console.error(error);
alert('Unable to capture your screen. Please …Run Code Online (Sandbox Code Playgroud)我创建了一个带有视频元素的 HTML5 页面。播放示例视频。在我尝试在视频元素中记录流之后。我正在使用 RecordRTC 库来实现录制功能。我有以下代码
var stream = document.getElementById("my_video").captureStream();
var recorder = RecordRTC(stream, {
type: 'video'
});
recorder.startRecording();
Run Code Online (Sandbox Code Playgroud)
录制在 Chrome 浏览器和 Mozilla 浏览器上成功运行,直到版本 57。但在去年 1 月,Mozilla 浏览器更新到版本 58。此更新后,尝试使用 Mozilla 录制视频时出现错误。
错误信息是:
TypeError
message: document.getElementById("my_video").captureStream is not a function"
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
我想将从网络摄像头捕获的视频保存到本地文件。到目前为止,我已经能够:
getUserMedia RecordRTCRecordRTC我不知道如何将视频保存到文件中。调用save()上RecordRTC让我下载的视频文件,但我想要的一切,以对的NodeJS进一步处理发生。无论如何,该文件是可播放的。我试图将 blob 和 dataURL 写入文件,但该文件无法播放。