1

如何在ar无人机v1.0上使用node js获取视频流或png流

我一直在看到 v2.0 的代码,甚至 gitHub 的人都说这些视频流库不适用于 v1。

有没有其他方法可以在计算机上获取 png / 视频流?

谢谢并恭祝安康

4

1 回答 1

1

好问题。我一直在努力通过 Node.js 从我的 Parrot AR 无人机生成 PNG(图片)流或 TCP(视频)流。我假设你已经安装了 Node.js 并下载了 Felix Geisendörfer 的 AR-Drones 的 Node.js 包,并且你已经能够驾驶它。要获取 PNG 流,请确保您已安装 7zip(您将需要它)并且您还必须下载 FFMPEG,以便您的计算机可以在将无人机的流输出到浏览器之前轻松解析它。下载后使用 7zip 解压 FFMPEG 文件。创建一个 Node.js 文件 (.js) 并将以下源代码复制并粘贴到其中:

var arDrone = require('ar-drone');
var http = require('http');
console.log('Connecting png stream ...');
var pngStream = arDrone.createClient().getPngStream();
var lastPng;
pngStream.on('error', console.log).on('data', function(pngBuffer) {
    lastPng = pngBuffer
});
var server = http.createServer(function(req, res) {
    if (!lastPng) {
        res.writeHead(503);
        res.end('Did not receive any png data yet.');
        return
    }
    res.writeHead(200, {
        'Content-Type': 'image/png'
    });
    res.end(lastPng)
});
server.listen(8080, function() {
    console.log('Serving latest png on port 8080 ...')
});

将文件另存为“video.js”之类的文件(只要它以 .js 结尾)。确保 JavaScript 文件设置为使用 Node.js(您安装的用于驾驶无人机的软件)运行。然后,打开你的无人机并连接到它的 wifi。然后,浏览 FFMPEG 文件,直到找到一个名为“ff-prompt.bat”的文件。在该批处理文件的提示中,键入或粘贴 video.js 的文件路径(或您所称的任何名称)。然后按回车键,它应该开始在 localhost (127.0.0.1) 的端口 8080 上广播。所以转到浏览器并输入“ http://localhost:8080 ”,你应该能够看到来自无人机的图像。如果您有任何问题,请随时发表评论,我会尽快解决。谢谢!

于 2015-09-06T19:16:43.667 回答