chenshijun
2019-04-22 291dbcd9331cd0df41addef74defa4654ee034fb
QiaoJiaSystem/VideoToImageMulth/pushStream/PushStreamAppPipeController.cpp
@@ -12,29 +12,30 @@
    index(chanPubID),
    videoPublishElement(nullptr) {
    string path = appConfig.getStringProperty("srsAddr") + "cam" + chanPubID + ".flv";
    cv::Size size_(appPref.getIntData("pulish.width"), appPref.getIntData("pulish.height"));
    int gupIdx = appPref.getIntData("gpu.index");
    videoPublishElement = new ffmpeg::VideoPublishElement(path, size_, "flv", 25, gupIdx);
    if (appPref.getIntData("pulish.width") < 0 || appPref.getIntData("pulish.height") < 0) {
        ERR("pulish.width:  " << appPref.getIntData("pulish.width") << "  Height: "
                              << appPref.getIntData("pulish.height"));
    }
    videoCaptureElement.registerConnector([&] {
        //if(!videoPublishElement.isBusy()){
        videoPublishElement->setImage(videoCaptureElement.getImage());
        //videoPublishElement.submit();
        //}
    });
//    string path = appConfig.getStringProperty("srsAddr") + "cam" + chanPubID + ".flv";
//    cv::Size size_(appConfig.getIntProperty("pulish.width"), appConfig.getIntProperty("pulish.height"));
//    int gupIdx = appPref.getIntData("gpu.index");
//    videoPublishElement = new ffmpeg::VideoPublishElement(path, size_, "flv", 25, gupIdx);
//    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);
//    registerElement(*videoPublishElement);
//    videoCaptureElement.setOutPutInterval(3);
}
std::string PushStreamAppPipeController::getRtmp() {
    std::string ret = videoPublishElement->getPath();
    //#todo videoPublishElement is nullptr
    std::string ret = "";// videoPublishElement->getPath();
    size_t pos = ret.find(".flv");
    ret = ret.substr(0, pos);
    INFO(ret);
@@ -48,3 +49,12 @@
void PushStreamAppPipeController::SetVideoMinMaxSeconds(const int minSeconds, const int maxSeconds) {
    videoCaptureElement.SetVideoMinMaxSeconds(minSeconds, maxSeconds);
}
void PushStreamAppPipeController::startPublishVideo() {
    videoCaptureElement.startPublishVideo();
}
void PushStreamAppPipeController::stopPublishVideo() {
    videoCaptureElement.stopPublishVideo();
}