这是关于系统级优化的概念性查询.通过阅读NodeJS文档,我的理解是管道可以方便地对流进行流量控制.
背景:我有麦克风流进来,我想避免额外的复制操作,以节省整体系统MIPS.据我所知,对于音频流来说,即使在引擎盖下有记忆镜,也不会花费大量的MIPS,但我也计划在30fps和UHD分辨率下以相机帧流式传输.以30fps制作UHD分辨率像素数据的多个副本是非常低效的,因此需要一些关于此的建议.
示例代码:
var spawn = require('child_process').spawn
var PassThrough = require('stream').PassThrough;
var ps = null;
//var audioStream = new PassThrough;
//var infoStream = new PassThrough;
var start = function() {
if(ps == null) {
ps = spawn('rec', ['-b', 16, '--endian', 'little', '-c', 1, '-r', 16000, '-e', 'signed-integer', '-t', 'raw', '-']);
//ps.stdout.pipe(audioStream);
//ps.stderr.pipe(infoStream);
exports.audioStream = ps.stdout;
exports.infoStream = ps.stderr;
}
};
var stop = function() {
if(ps) {
ps.kill();
ps = null;
}
};
//exports.audioStream = audioStream;
//exports.infoStream = infoStream;
exports.startCapture …Run Code Online (Sandbox Code Playgroud)