Ubuntu 来自AR无人机的流式视频

Ubuntu 来自AR无人机的流式视频,ubuntu,ffmpeg,video-streaming,ar.drone,Ubuntu,Ffmpeg,Video Streaming,Ar.drone,我正在尝试从我的ar无人机上传输视频,但它不起作用。我已经安装了ffmpeg 2.6版,我使用的是Ubuntu 14.04、node.js和ar-drone npm模块。我也在使用ar无人机的1.0版。我被告知我需要使用2.0,因为模块是用2.0构建的,但如果不需要,我宁愿不购买新的。下面是我正在使用的代码 var arDrone = require('ar-drone'); var http = require('http'); console.log('Connecting png

我正在尝试从我的ar无人机上传输视频,但它不起作用。我已经安装了ffmpeg 2.6版,我使用的是Ubuntu 14.04、node.js和ar-drone npm模块。我也在使用ar无人机的1.0版。我被告知我需要使用2.0,因为模块是用2.0构建的,但如果不需要,我宁愿不购买新的。下面是我正在使用的代码

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 ...');
});

当我运行它并在浏览器中转到时,我收到错误消息“尚未收到任何png数据”。这是因为我使用的是无人机版本1.0吗???

AR.drone 1.0处理视频与AR.drone的版本2.0不同。据报道,

  • 1.0使用名为“P264”的自定义Parrot格式;2.0使用标准H264(指南第7.2节)
  • 1.0通过UDP传输视频;TCP上的2.0流(指南第2.10节)
如果不进行大量工作,您将无法使用node ar无人机库访问视频流:

  • 将视频流处理更改为使用UDP
  • 更改视频解码逻辑。P264几乎是H264,并且有。或者,您可以从a开始,根据Parrot对P264格式的描述(本指南第7.2.3节)对其进行修改

但实际上,几乎可以肯定的是,最好的选择是购买AR.Drone 2.0(截至2015年4月,新版本售价约为300美元),并使用其他人支持和使用的现有代码。

我认为node AR Drone没有经过无人机1.0版的良好测试。除了PNG流之外的所有东西都能工作吗?看起来AR的版本1使用UDP作为视频流,而版本2使用TCP。这是一个长期的尝试,但也许您可以尝试将节点ar无人机代码转换为使用UDP。