#include "basic/util/resource/ResourcesManager.h"
|
#include <string>
|
#include <iostream>
|
#include <unistd.h>
|
#include <thread>
|
|
#include <basic/pipe/PipeElement.h>
|
#include <basic/pipe_element/ImageShowElement.h>
|
#include <basic/pipe/PipeController.h>
|
#include <basic/pipe_element/ffmpeg/VideoCaptureElement.h>
|
#include "ImageDrawElement.h"
|
#include "YoloRpcElement.h"
|
class Controllor : public PipeController
|
{
|
public:
|
Controllor(const int index,const std::string& rtsp):m_videoCaptureElement(rtsp,25,1000,0),
|
m_YoloRpcElement(std::to_string(index)+"YoloRpc")
|
{
|
m_rtsp = rtsp;
|
m_videoCaptureElement.registerConnector([&]{
|
if(!m_YoloRpcElement.isBusy()){
|
m_YoloRpcElement.setImage(m_videoCaptureElement.getImage());
|
// paElement.setImage(videoCaptureElement.getImage());
|
// paNumElement.setImage(videoCaptureElement.getImage());
|
m_YoloRpcElement.submit();
|
}
|
if(!m_imageDrawElement.isBusy()){
|
m_imageDrawElement.setImage(m_videoCaptureElement.getImage());
|
m_imageDrawElement.submit();
|
}
|
});
|
|
m_YoloRpcElement.registerConnector([&]{
|
m_imageDrawElement.setRects(m_YoloRpcElement.getRects());
|
});
|
|
m_imageDrawElement.registerConnector([&]{
|
ImageShowElement::showImage(m_rtsp,*m_imageDrawElement.getImage());
|
|
});
|
m_videoCaptureElement.setOutPutInterval(2);
|
registerElement(m_videoCaptureElement);
|
registerElement(m_YoloRpcElement);
|
registerElement(m_imageDrawElement);
|
}
|
virtual ~Controllor()
|
{}
|
|
private:
|
std::string m_rtsp;
|
ffmpeg::VideoCaptureElement m_videoCaptureElement;
|
YoloRpcElement m_YoloRpcElement;
|
ImageDrawElement m_imageDrawElement;
|
};
|
|
//using namespace std;
|
int main(int argc, char *argv[])
|
{
|
SAVE_APP_ARGS
|
Controllor _Controllor(0,"/home/basic/video/201804/day0416/01010002606000000-slice1.mp4");
|
_Controllor.start();
|
|
Controllor _Controllor0(1,"/home/basic/video/201804/day0416/01010002606000000-slice2.mp4");
|
_Controllor0.start();
|
cout << "Hello World!" << endl;
|
Controllor _Controllor1(2,"/home/basic/video/201804/day0416/01010002609000000-slice.mp4");
|
_Controllor1.start();
|
Controllor _Controllor2(3,"/home/basic/video/201804/day0416/01010002611000000-slice.mp4");
|
_Controllor2.start();
|
Controllor _Controllor3(4,"/home/basic/video/201804/night0418/02000000652000100-slice.mp4");
|
_Controllor3.start();
|
Controllor _Controllor4(5,"/home/basic/video/201804/night0418/02000000654000100-slice.mp4");
|
_Controllor4.start();
|
Controllor _Controllor5(6,"/home/basic/video/201804/night0418/02000000659000100-slice.mp4");
|
_Controllor5.start();
|
while(true)
|
{sleep(1);}
|
return 0;
|
}
|