如何使用ar drone v1.0上的节点js获取视频流或png流
我一直在看v2.0的代码,甚至gitHub的人也说这些视频流库不适用于v1。
有没有其他方法可以在计算机上获取png /视频流?
感谢和问候
答案 0 :(得分:1)
好问题。我一直在努力从我的Parrot AR无人机通过Node.js生成PNG(图片)流或TCP(视频)流。我假设您已经安装了Node.js并下载了FelixGeisendö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的文件路径(或您调用的任何文件路径)。然后按回车键,它应该开始在端口8080上广播到你的本地主机(127.0.0.1)。所以进入你的浏览器并输入“http://localhost:8080”,你应该能够看到无人机的图像。如果您有任何疑问,请随时发表评论,我会尽快解决。谢谢!