| | |
| | | } |
| | | Json::Value value; |
| | | if (value_reader.isMember("id")) { |
| | | if (value_reader["id"].isNull()) return "{\"ret_status\": \"id内容有误,请检查!\"}"; |
| | | value["connect_status"] = "True"; |
| | | std::string rtmp_url = appConfig.getStringProperty("srsAddr"); |
| | | rtmp_url.append("cam").append(value_reader["id"].asCString()); |
| | | value["video_url"] = rtmp_url; |
| | | out = value.toStyledString(); |
| | | |
| | | } else { |
| | | //TODO |
| | | //调用rtsp流rtsp://admin:a1234567@192.168.1.215:554/h264/ch1/main/av_stream |
| | | if (value_reader["id"].isNull()) { |
| | | //本地视频源 第一次测试连接 |
| | | //TODO |
| | | //调用rtsp流rtsp://admin:a1234567@192.168.1.215:554/h264/ch1/main/av_stream |
| | | // std::string rtsp_url = "rtsp://" + username + ":" + passwd + "@" + ip + ":" + std::to_string(port) + "/h264/ch1/main/av_stream"; |
| | | bool ret = cam_connect_video_start(value_reader["str_ip"].asString(), value_reader["n_port"].asInt(), \ |
| | | bool ret = cam_connect_video_start(value_reader["str_ip"].asString(), value_reader["n_port"].asInt(), \ |
| | | value_reader["str_username"].asString(), value_reader["str_password"].asString(), \ |
| | | value_reader["str_brand"].asString()); |
| | | if (!ret) { |
| | | if (!ret) { |
| | | return "{\"ret_status\": \"内容有误,请检查!\"}"; |
| | | } |
| | | std::string rtmp_url = m_rtmp[value_reader["str_ip"].asCString()].appPC->getRtmp(); |
| | | value["connect_status"] = "True"; |
| | | value["video_url"] = rtmp_url; |
| | | out = value.toStyledString(); |
| | | } else if (!value_reader["type"].isNull()) { |
| | | |
| | | value["connect_status"] = "True"; |
| | | std::string rtmp_url = appConfig.getStringProperty("srsAddr"); |
| | | rtmp_url.append("cam").append(value_reader["id"].asCString()); |
| | | value["video_url"] = rtmp_url; |
| | | out = value.toStyledString(); |
| | | { |
| | | std::string topic = "VideoToImageMulth"; |
| | | Json::Value json_cfg; |
| | | json_cfg["cam_startPublish"] = content; |
| | | std::string msg = json_cfg.toStyledString(); |
| | | DBG("msg:" << msg); |
| | | nsqMsgProducer->Publish(topic, (void *) (&msg)); |
| | | } |
| | | } else { |
| | | return "{\"ret_status\": \"内容有误,请检查!\"}"; |
| | | } |
| | | |
| | | std::string rtmp_url = m_rtmp[value_reader["str_ip"].asCString()].appPC->getRtmp(); |
| | | value["connect_status"] = "True"; |
| | | value["video_url"] = rtmp_url; |
| | | out = value.toStyledString(); |
| | | } else { |
| | | return "{\"ret_status\": \"内容有误,请检查!\"}"; |
| | | } |
| | | |
| | | return out; |
| | |
| | | if (!reader.parse(content, value_reader)) { |
| | | return "{\"ret_status\": \"传输错误,请检查!\"}"; |
| | | } |
| | | |
| | | //TODO |
| | | //调用rtsp流rtsp://admin:a1234567@192.168.1.215:554/h264/ch1/main/av_stream |
| | | // std::string rtsp_url = "rtsp://" + username + ":" + passwd + "@" + ip + ":" + std::to_string(port) + "/h264/ch1/main/av_stream"; |
| | | DBG("cam_connect_video_stop begin"); |
| | | bool ret = cam_connect_video_stop(value_reader["str_ip"].asString()); |
| | | if (!ret) { |
| | | return "{\"ret_status\": \"传输错误,请检查!\"}"; |
| | | } |
| | | DBG("cam_connect_video_stop end"); |
| | | |
| | | Json::Value value; |
| | | value["ret_status"] = "ok_ack"; |
| | | if (value_reader.isMember("id")) { |
| | | value["ret_status"] = "ok_ack"; |
| | | { |
| | | std::string topic = "VideoToImageMulth"; |
| | | Json::Value json_cfg; |
| | | json_cfg["cam_stopPublish"] = content; |
| | | std::string msg = json_cfg.toStyledString(); |
| | | DBG("msg:" << msg); |
| | | nsqMsgProducer->Publish(topic, (void *) (&msg)); |
| | | } |
| | | } else { |
| | | //TODO |
| | | //调用rtsp流rtsp://admin:a1234567@192.168.1.215:554/h264/ch1/main/av_stream |
| | | // std::string rtsp_url = "rtsp://" + username + ":" + passwd + "@" + ip + ":" + std::to_string(port) + "/h264/ch1/main/av_stream"; |
| | | DBG("cam_connect_video_stop begin"); |
| | | bool ret = cam_connect_video_stop(value_reader["str_ip"].asString()); |
| | | if (!ret) { |
| | | return "{\"ret_status\": \"传输错误,请检查!\"}"; |
| | | } |
| | | DBG("cam_connect_video_stop end"); |
| | | |
| | | value["ret_status"] = "ok_ack"; |
| | | } |
| | | |
| | | |
| | | std::string out = value.toStyledString(); |
| | | |