iOS上的mediaRecorder的替代品

sca*_*ner 7 video html5 stream ios

我想将iOS设备(版本11及更高版本)的视频流发送到服务器(使用iOS上的html5从客户端发送).对于其他浏览器,我从中获取流navigator.getUserMedia,并使用mediaRecorder和WebSocket将其传递给服务器:

this.mediaRecorder = new MediaRecorder(this._stream);
this.mediaRecorder.start(50);
this.mediaRecorder.ondataavailable = function(e) {
    app.socket.emit("frameRequest", e.data);
}
Run Code Online (Sandbox Code Playgroud)

但是,iOS不支持MediaRecorder.是否有从iOS设备发送流的替代方案?

Der*_*ler 2

有一些 Polyfill 可以向本身不支持 MediaRecorder API 的浏览器(包括 iOS Safari)添加 MediaRecorder API 支持。我目前最喜欢的是Opus Media Recorder

我遇到的一个问题是它只支持以 Ogg 或 Wav 格式录制,但 iOS 不支持 Ogg 播放 - 只支持 Wav、AAC 或 MP3。不幸的是,Wav 和 AAC 文件太大。因此,我采用的是在浏览器中使用lamejs录制Wav并转码为MP3的方法。