#include "basic/util/resource/ResourcesManager.h" #include #include #include #include #include #include #include #include #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; }