2017-09-05 118 views
0

我正在使用我在互联网上找到的不同代码与AR Drone 2.0进行视频流式传输。 我试图ffplay tcp://192.168.1.1:5555来自AR Drone 2.0的视频流;然而,延迟太高。A.R 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}) 

它流大量的图片在很短的时间量。延迟仍然很重要,我正在寻找一个视频。

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

回答

0

延迟多少?您必须提供哪些其他选项才能提供视频?

尽量减少缓冲区的影响:

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

它是大约3秒钟的延迟 – Danny

+0

如果你不访问固件并不能修改它,它最擅长的事情,你可以得到 – bukkojot

+0

你给那个代码我让延迟变得更糟。任何其他建议,使延迟更好@bukkojot – Danny