首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在java中使用OpenCV读取rtmp流

在java中使用OpenCV读取rtmp流
EN

Stack Overflow用户
提问于 2018-10-27 04:09:03
回答 1查看 610关注 0票数 0

目标:

将使用opencv的python代码翻译成java。

问题:

java版本无法捕获rtmp流

详细信息:

这是一个用于4G无人机的无人机控制基础代码,用于将其摄像头视频流传输到nodejs rtmp服务器。下面是它的代码:

代码语言:javascript
复制
const { NodeMediaCluster } = require('node-media-server');
const numCPUs = require('os').cpus().length;
const config = {
rtmp: {
    port: 1935,
    chunk_size: 600000,
    gop_cache: false,
    ping: 60,
    ping_timeout: 30
    },
http: {
    port: 8000,
    allow_origin: '*'
},
cluster: {
    num: numCPUs
}
   };

   var nmcs = new NodeMediaCluster(config)
  nmcs.run(); 

然后,该流被控制基础捕获(用于涉及opencv功能的进一步操作)

在python版本的代码中,我使用了

代码语言:javascript
复制
cap = cv2.VideoCapture('rtmp://192.168.1.12:1935/live/STREAM_NAME')

从测试本地网络上的服务器读取。

在java中,我下载了官方的opencv教程示例应用程序,网址是here。这是一个关于如何使用VideoCapture对象来读取摄像头的教程。

就像我之前在python中所做的那样,我将参数0(第一个cam)替换为rtmp url:

代码语言:javascript
复制
//private static int cameraId = 0;
 String cameraId = "rtmp://192.168.1.12:1935/live/STREAM_NAME";
/**
 * The action triggered by pushing the button on the GUI
 *
 * @param event
 *            the push button event
 */
@FXML
protected void startCamera(ActionEvent event)
{
    if (!this.cameraActive)
    {
        // start the video capture
        this.capture.open(cameraId);

this.capture.isOpened()返回false。

并且不进行到服务器的连接尝试

你能指出我哪里出错了吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-27 08:56:05

我花了几个小时才意识到哪里出了问题。该问题已在here中得到解决

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

https://stackoverflow.com/questions/53015668

复制
相关文章

相似问题

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