chenshijun
2019-04-22 291dbcd9331cd0df41addef74defa4654ee034fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "AppPipeController.h"
#include <basic/util/app/AppPreference.hpp>
#include <basic/util/app/AppConfig.h>
#include <basic/util/app/AppUtil.h>
//#include <sstream>
#include <algorithm>
 
AppPipeController::AppPipeController(int index, const Json::Value &json) :
    videoCaptureElement(json["rtsp"].asString(), 25, 3000, appPref.getIntData("gpu.index")),
    index(index), videoPublishElement(appPref.getStringData("publish.basepath") + ".flv",
                                      cv::Size(appConfig.getIntProperty("pulish.width"),
                                               appConfig.getIntProperty("pulish.height")),
                                      "flv", 25, appPref.getIntData("gpu.index")) {
    if (appConfig.getIntProperty("pulish.width") < 0 || appConfig.getIntProperty("pulish.height") < 0) {
        ERR("pulish.width:  " << appConfig.getIntProperty("pulish.width") << "  Height: "
                              << appConfig.getIntProperty("pulish.height"));
    }
    videoCaptureElement.registerConnector([&] {
        //if(!videoPublishElement.isBusy()){
        videoPublishElement.setImage(videoCaptureElement.getImage());
//        videoPublishElement.submit();
        //}
    });
 
    registerElement(videoCaptureElement);
//    registerElement(videoPublishElement);
 
    //videoCaptureElement.setOutPutInterval(3);
}
 
std::string AppPipeController::getRtmp() {
    std::string ret = videoPublishElement.getPath();
    size_t pos = ret.find(".flv");
    ret = ret.substr(0, pos);
    INFO(ret);
    return ret;
}