如何以单一文件格式将基于RecordRTC的音频+视频录制上传到服务器?
RecordRTC似乎生成两个单独的文件:一个用于音频(如WAV),另一个用于视频(如WebM).如何在PHP服务器上同时上传这两个文件?
我想记录用户的麦克风5秒长的段,并将每个段上传到服务器。我尝试使用MediaRecorder并以5秒的时间间隔调用了start()和stop()方法,但是当我串联这些录音时,它们之间会发出“滴”声。因此,我尝试使用start()方法的timelice参数记录5秒的时间段:
navigator.mediaDevices.getUserMedia({ audio: { channelCount: 2, volume: 1.0, echoCancellation: false, noiseSuppression: false } }).then(function(stream) {
const Recorder = new MediaRecorder(stream, { audioBitsPerSecond: 128000, mimeType: "audio/ogg; codecs=opus" });
Recorder.start(5000);
Recorder.addEventListener("dataavailable", function(event) {
const audioBlob = new Blob([event.data], { type: 'audio/ogg' });
upload(audioBlob);
});
});
Run Code Online (Sandbox Code Playgroud)
但是只有第一部分是可玩的。我该怎么办,或者如何使所有Blob都可播放?我必须记录然后上传每个片段。我无法创建blob数组(因为用户可以记录24小时或更长时间的数据,并且用户需要在记录的同时将数据上传到服务器上-延迟5秒)。
谢谢!