关于javascript:MediaStreamRecorder无法录制一个小时以上?

MediaStreamRecorder can't record more than an hour?

我正在创建一个视频会议,该会议需要1个小时。而且它无法保存,因为有效载荷太大

这是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const data = [];
multiStreamRecorder.ondataavailable = function (blob) {
    data.push(blob);

    var fileName = getFileName('webm');
    var scheduleId = $('#stop-recording').data('id');
    var fileObject = new File([data[0]], fileName, {
        type: data[0].type
    });
    var objectUrl = URL.createObjectURL(data[0]);

    var formData = new FormData();
        formData.append('video_blob', fileObject);
        formData.append('video_filename', fileObject.name);
        formData.append('schedule_id', scheduleId);

    $.ajax({
        url: '{{ url('/') }}/store',
        data: formData,
        cache: false,
        contentType: false,
        processData: false,
        type: 'POST',
        success: function(response) {
            //
        }
    });
};
multiMediaRecorder.start();

我需要记录整个会议。


"有效载荷太大"错误来自您的服务器,而不是来自MediaRecorder API。

您可能有办法在服务器的配置中提高该限制。
或者,您可以按块发送最终文件,但这可能不是最佳选择。

无关的注释:
发送blobURI是没有用的,该URI仅对创建它的上下文有效。