首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RTSP对Opencv进行处理后,从PC机向Android系统传输视频流

使用RTSP对Opencv进行处理后,从PC机向Android系统传输视频流
EN

Stack Overflow用户
提问于 2017-02-22 02:28:05
回答 1查看 459关注 0票数 0

经过opencv(合并两帧)处理后,我尝试将两个摄像头上的合并视频流到android应用程序。

在这里,我试图使用RTSP将视频流从opencv发送到Android(使用gstreamer管道)。

但是,我在如何将.sdp文件配置发送到客户端(文件名为live.sdp)方面遇到了困难,下面是我迄今为止使用的代码。

代码语言:javascript
复制
//basic
#include <iostream>
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>


//opencv libraries
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/opencv.hpp"




using namespace cv;
using namespace std;






int main(int argc,char **argv){

Mat im1;
Mat im2;




VideoCapture cap1(1);
VideoCapture cap2(2);


VideoWriter video;
video.open("appsrc ! videoconvert ! x264enc noise-reduction=10000 tune=zerolatency byte-stream=true threads=4 ! mpegtsmux ! rtpmp2tpay send-config=true config-interval=10 pt=96 ! udpsink host=localhost port=5000 -v"
            , 0, (double)20,Size(1280, 480), true);



if(video.isOpened()){
    cout << "Video Writer is opened!"<<endl;
}else{
    cout << "Video Writer is Closed!"<<endl;
 return -1;
}




while(1){

    cap1.grab();
    cap2.grab();

    bool bSuccess1 = cap1.read(im2);
    bool bSuccess2 = cap2.read(im1);

        Size sz1 = im1.size();
        Size sz2 = im2.size();
        Mat im3(sz1.height, sz1.width+sz2.width, CV_8UC3);
        Mat left(im3, Rect(0, 0, sz1.width, sz1.height));
        im1.copyTo(left);
        Mat right(im3, Rect(sz1.width, 0, sz2.width, sz2.height));
        im2.copyTo(right);
            video << im3;

        //imshow("im3", im3);


            if(waitKey(10) == 27){

                break;
            }
        }
        cap1.release();
        cap2.release();
        video.release();

    return 0;

}

以及.sdp文件配置,

代码语言:javascript
复制
v=0
m=video 5000 RTP/AVP 96
c=IN IP4 localhost
a=rtpmap:96 MP2T/90000

我可以在本地文件夹中播放vlc中的流,使用

代码语言:javascript
复制
vlc live.sdp

但不是在网络里,通过使用,

代码语言:javascript
复制
vlc rtsp://localhost:5000/live.sdp
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-04 17:04:00

使用Gstreamer与opencv解决了问题,但仍有较小的滞后性。

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

https://stackoverflow.com/questions/42381619

复制
相关文章

相似问题

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