在Opencv4nodejs

时间:2018-07-31 07:01:23

标签: node.js opencv ffmpeg udp video-capture

我目前尝试使用opencv分析udp流的屏幕截图。

目前,我正在使用带有ffmpeg的shell脚本来生成图像并将其以1 fps的速度保存到磁盘中,然后使用opencv4nodejs进行读取。但是我认为这不是最好的做法。

我正在使用opencv4nodejs:https://github.com/justadudewhohacks/opencv4nodejs

现在我已经厌倦了使用opencv的VideoCapture功能。

为进行调试,我目前打开流,获取屏幕快照并将其保存到磁盘。

const cv   = require('opencv4nodejs');
const vCap = new cv.VideoCapture('udp://239.1.1.1:6670');

let frame;

class Streamer {

    streamTest () {
        frame = vCap.read();
        cv.imwrite('./resources/output.png', frame);
    };
}

module.exports = Streamer;

如果我使用的是UDP流,则配给比例是错误的,总是设置为4:3,但流显示的是16:9图像。

我可以调整帧的大小,但这不是这种情况下的合适解决方案,因为在此流中我还获得了4:3的图像。

如何以正确的比例分析udp流中的帧?

顺便说一句。我也无法使用

更改udp流的fps
.set(cv.CAP_PROP_FPS, 1); 

仅当我使用连接的网络摄像头流时,此方法才有效。

const vCap = new cv.VideoCapture(0);

0 个答案:

没有答案