首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在本地网络中通过OpenCV (C++)实时传输图像

在本地网络中通过OpenCV (C++)实时传输图像
EN

Stack Overflow用户
提问于 2020-02-07 11:54:28
回答 1查看 502关注 0票数 1

首先,我的项目的几个关键事实:

  • one计算机(用OpenCV、C++处理图像)必须向本地网络中的其他三台计算机提供实时的
  • ,我们已经在Raspberry Pi (工作正常)
  • 上建立了一个NGINX +热点,三个客户端应该能够轻松地访问这些图像(参见下面的示例代码)

#include #include 使用命名空间cv;使用命名空间std;int main() { const string url = "rtmp://192.168.4.1/myapp/mystream";cv::VideoCapture capture(url);if (!capture.isOpened()) { cout << "No data!“<< endl;} namedWindow("Stream",WINDOW_NORMAL);resizeWindow("Image",600,600);Mat frame;同时(1) { if (!capture.read(frame)) { cout << "No data!“<< endl;} imshow("Stream",frame);waitKey(30);}

问题:

  • 不知道如何通过ffmpeg
  • 直接从C++程序流到NGINX我们尝试了通过
  • ,但是我们经历了超过4秒的延迟。

一般来说,这是一个错误的方法,还是有一些秘密库可用?另一个选择是C++套接字系统--它会更合适吗?

EN

回答 1

Stack Overflow用户

发布于 2020-02-12 12:28:24

我认为NGINX是一个很好的解决你问题的方法。易于设置和使用+通常较低的延迟比其他。在您的代码中,我建议更改

代码语言:javascript
复制
waitKey(30);

代码语言:javascript
复制
waitKey(5);

以减少输入缓冲区。

OBS应该是设置流的最快方法之一。您可以尝试将高级输出选项中的“调谐器”切换为“零”。还要确保在高级选项中禁用流延迟!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60113005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档