首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NodeJS中读取连续二进制数据流

在NodeJS中读取连续二进制数据流
EN

Stack Overflow用户
提问于 2013-10-11 00:29:04
回答 1查看 4.1K关注 0票数 1

我试图从Node中的流(从子进程创建)中读取大量二进制数据。我正在为我的进程使用stdout.on('data')事件来获取数据。

不管我搜索了多少,似乎在传递给回调的参数上找不到任何文档。typeof(data)说它是一个对象,但据我所知,它只是一个数组。

是数组吗?还是一根绳子?不管它是什么,我如何才能得到一个字节数组?

这是我的密码:

代码语言:javascript
复制
var childProc = require('child_process'),
    spawn = childProc.spawn;

// /home/ubuntu/bin/ffmpeg -f video4linux2 -r 1 -s 640x480 -i /dev/video0 -c:v rawvideo -f rawvideo -pix_fmt rgb8 -

var streamProc = spawn('/home/ubuntu/bin/ffmpeg', [
    '-f', 'video4linux2',
    '-r', '1',
    '-s', '640x480',
    '-i', '/dev/video0',
    '-c:v', 'rawvideo',
    '-f', 'rawvideo',
    '-pix_fmt', 'rgb24',
    '-'
    ]);

streamProc.stdout.on('data', function(data) {

    var bytes = [];

    //Do some magical conversion here to populate the array

    //debugger;
    console.log('OUT: ' + bytes.join()); //Just some debugging steps
});

streamProc.stderr.on('data', function(data) {
    //debugger;
    if(process.argv.indexOf('showerr') != -1)
        console.log('ERR: ' + data);
});

streamProc.on('close',function(exitCode) {
    console.log('EXT: Program exited with code ' + exitCode);
});

我漏掉了什么明显的东西吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-11 00:54:27

它是缓冲区实例

还可以看看NodeBasicFFMPEGffmpeg节点节点-fluent

注意," data“事件只为您提供了一部分数据,您可能需要使用类似于缓冲表库的方法重新组装它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19308388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档