A.R无人机2.0视频流延迟



我正在使用我在互联网上找到的不同代码进行视频流的工作。我尝试过ffplay tcp://192.168.1.1:5555从AR无人机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 ...');
});

此仅流图像。我不得不每秒刷新浏览器。

我的第三种选择是使用此选项:

var arDrone=require('ar-drone')
var client= arDrone.createclient();
require('ar-drone-png-stream')(client,{port:8000})

它在短时间内流式传输了许多图像。延迟仍然很重要,我正在寻找视频。

是否还有其他方法可以大大降低视频流的延迟?

多少延迟?您还必须喂视频其他选项?

尝试最大程度地减少缓冲液影响:

ffplay -vf setpts=PTS/2 tcp://192.168.1.1:5555

fwiw现在,我对较新的Tello无人机也遇到了同样的问题。诀窍是强迫比无人机提供的更高的帧率。否则,额外的框架将被缓冲,您将延迟不断增加。因此,末尾添加-Framerate 35,然后您去!(或更高的值)

相关内容

  • 没有找到相关文章