我正在使用RecordRTC录制网络摄像头流并使用ffmpeg将输出转换为.mp4录制的1分钟视频很好,浏览器将音频和视频合并为单个.mp4但是录制时间超过1分钟遇到这个错误。
我还问过RecordRTC的作者,他提到了一些关于缓冲区的问题,我已经改为0并且仍然遇到同样的问题。
我的示例代码
var audioRecorder, videoRecorder, videoURL, connectionStream;
function initRecorders(stream) {
//document.getElementById('start-recording').disabled = false;
document.getElementById('stop-recording').disabled = false;
document.getElementById('fullscreeniframe').disabled = false;
//document.getElementById('save-video').disabled = false;
//document.getElementById('start-recording').onclick = function() {
this.disabled = true;
audioRecorder = RecordRTC(stream, {
recorderType: StereoAudioRecorder,
bufferSize: 0, // mandatory: if 720p output is forced. otherwise: optional
width: 1280, // optional---- to get 720p output
height: 720
});
videoRecorder = RecordRTC(stream, {
type: 'video',
frameInterval: 90
});
videoRecorder.initRecorder(function() {
audioRecorder.initRecorder(function() {
audioRecorder.startRecording();
videoRecorder.startRecording();
});
});
//};``
我也更改了RecordRTC.js
中的值 // "0" means, let chrome decide the most accurate buffer-size for current platform.
var bufferSize = typeof config.bufferSize === 'undefined' ? 0: config.bufferSize;
if (legalBufferValues.indexOf(bufferSize) === -1) {
if (!config.disableLogs) {
console.warn('Legal values for buffer-size are ' + JSON.stringify(legalBufferValues, null, '\t'));
}
}
更新:RecordRTC开发者已回复
1)从此回购中获取所有代码:https://github.com/bgrins/videoconverter.js/
2)设置内存大小的最大可能值
3)设置数组缓冲区和其他东西的最大可能值
4)编译成“videoconveter.js”和“videoconvter.min.js”
5)使用RecordRTC编译文件
我下载了源代码但不确定如何设置内存/数组缓冲区等的最大值。 我如何使用RecordRTC的文件?