A.R Drone 2.0 视频流延迟

Posted

技术标签:

【中文标题】A.R Drone 2.0 视频流延迟【英文标题】:A.R Drone 2.0 Video Streaming Latency 【发布时间】:2017-09-05 23:45:25 【问题描述】:

我正在使用我在互联网上找到的不同代码使用 AR Drone 2.0 处理视频流。 我已经尝试ffplay tcp://192.168.1.1:5555 来自 AR Drone 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)

它在很短的时间内传输了大量图像。延迟仍然很明显,我正在寻找视频。

还有其他方法可以显着降低视频流的延迟吗?

【问题讨论】:

【参考方案1】:

延迟多少?您还有哪些其他选项可以提供视频?

尽量减少对缓冲区的影响:

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

【讨论】:

延迟大约 3 秒 如果你无法访问固件并且无法修改它,最好你能得到什么 你给我的代码让延迟变得更糟。任何其他改善延迟的建议@bukkojot【参考方案2】:

现在,我在新的 Tello 无人机上遇到了同样的问题。 诀窍是强制比无人机提供的帧速率更高。否则,额外的帧将被缓冲,您将有一个不断增加的延迟。 所以在最后添加 -framerate 35 就可以了! (或更高的值)

【讨论】:

以上是关于A.R Drone 2.0 视频流延迟的主要内容,如果未能解决你的问题,请参考以下文章

没有从 Parrot AR Drone 的 cv2.VideoCapture 获取视频

Javadrone - 无法从 Parrot AR.Drone 2.0 获取图像

从 Ar Drone 2.0 获取 GPS 数据

AR Drone 2.0、Gstreamer、C++ RTMP 服务器(无需 SDK 的流式传输)

如何测量视频流的延迟?

IOS 设备的 Wowza 媒体服务器直播视频流延迟?