从AR Drone流式传输视频

时间:2015-03-12 01:41:06

标签: ubuntu ffmpeg video-streaming ar.drone

我正试图从我的无人机中播放视频,但它无法正常工作。我安装了ffmpeg 2.6版本,使用的是Ubuntu 14.04,node.js和ar-drone npm模块。我也在使用ar无人机的1.0版本。有人告诉我,我需要使用2.0,因为这是使用的模块,但如果我不需要,我宁愿不购买新的.Below是我正在使用的代码

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

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

1 个答案:

答案 0 :(得分:0)

AR.Drone 1.0处理视频的方式与AR.Drone的2.0版本不同。根据{{​​3}},

  • 1.0使用名为“P264”的自定义Parrot格式; 2.0使用标准H264(指南第7.2节)。
  • 1.0通过UDP传输视频; TCP上的2.0流(指南第2.10节)。

如果没有大量工作,您将无法使用node-ar-drone库来访问视频流:

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

相关问题