记得上下班打卡 | git大法好,push需谨慎

Commit 4439854a authored by jiangxiulong's avatar jiangxiulong

视频人流量 完善url 人体检测

parent a97e0c67
...@@ -10,6 +10,7 @@ import com.aliyuncs.facebody.model.v20191230.DetectPedestrianRequest; ...@@ -10,6 +10,7 @@ import com.aliyuncs.facebody.model.v20191230.DetectPedestrianRequest;
import com.aliyuncs.facebody.model.v20191230.DetectPedestrianResponse; import com.aliyuncs.facebody.model.v20191230.DetectPedestrianResponse;
import com.aliyuncs.http.MethodType; import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.DefaultProfile;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
...@@ -29,6 +30,7 @@ import io.swagger.annotations.ApiImplicitParams; ...@@ -29,6 +30,7 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.io.InputStream; import java.io.InputStream;
...@@ -49,6 +51,11 @@ import java.util.List; ...@@ -49,6 +51,11 @@ import java.util.List;
@RequestMapping("/camera") @RequestMapping("/camera")
public class KylinCameraController { public class KylinCameraController {
@Value("${liquidnet.aliyun.oss.accessKeyId}")
private String accessKeyId;
@Value("${liquidnet.aliyun.oss.accessKeySecret}")
private String accessKeySecret;
@Autowired @Autowired
private KylinCameraMapper cameraMapper; private KylinCameraMapper cameraMapper;
...@@ -80,12 +87,7 @@ public class KylinCameraController { ...@@ -80,12 +87,7 @@ public class KylinCameraController {
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize
) { ) {
// TODO: 2022/1/10 jxltodo 改成配置 DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", accessKeyId, accessKeySecret);
DefaultProfile profile = DefaultProfile.getProfile(
"cn-beijing",
"LTAI5t5kniDKEadiKHWiCM9Q",
"hIZPi0AluvrgBE5xg5Pa9fBvvAqnbw"
);
IAcsClient client = new DefaultAcsClient(profile); IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest(); CommonRequest request = new CommonRequest();
...@@ -93,7 +95,7 @@ public class KylinCameraController { ...@@ -93,7 +95,7 @@ public class KylinCameraController {
request.setSysDomain("vs.cn-beijing.aliyuncs.com"); request.setSysDomain("vs.cn-beijing.aliyuncs.com");
request.setSysVersion("2018-12-12"); request.setSysVersion("2018-12-12");
request.setSysAction("DescribeDevices"); request.setSysAction("DescribeDevices");
request.putQueryParameter("GroupId", "410751715516867255-cn-beijing"); // request.putQueryParameter("GroupId", "410751715516867255-cn-beijing");
request.putQueryParameter("PageNum", String.valueOf(pageNum)); request.putQueryParameter("PageNum", String.valueOf(pageNum));
request.putQueryParameter("PageSize", String.valueOf(pageSize)); request.putQueryParameter("PageSize", String.valueOf(pageSize));
try { try {
...@@ -139,32 +141,38 @@ public class KylinCameraController { ...@@ -139,32 +141,38 @@ public class KylinCameraController {
} }
@GetMapping(value = "detectPedestrian") @GetMapping(value = "detectPedestrian")
@ApiOperation("DetectPedestrian") @ApiOperation("人体识别")
public String detectPedestrian() { public String detectPedestrian() {
String accessKey = "LTAI4FxrURzMvvu9reFgwY5o"; //您的AccessKeyID List<KylinCamera> cameraList = cameraMapper.selectList(
String accessKeySecret = "Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV"; //您的AccessKeySecret Wrappers.lambdaQuery(KylinCamera.class)
String regionId = "cn-beijing"; .eq(KylinCamera::getStatus, "on")
//String file = "/home/admin/file/1.jpg"; //或者本地上传 );
String file = "https://camera.zhengzai.tv/camera/live/20220101202301070001.jpg"; if (!CollectionUtils.isEmpty(cameraList)) {
for (KylinCamera kylinCamera : cameraList) {
try { try {
InputStream inputStream = ViapiFileUtilAdvance.buildInputStream(file); InputStream inputStream = ViapiFileUtilAdvance.buildInputStream(kylinCamera.getImgUrl());
ViapiFileUtilAdvance fileUtils = ViapiFileUtilAdvance.getInstance(accessKey, accessKeySecret, regionId); ViapiFileUtilAdvance fileUtils = ViapiFileUtilAdvance.getInstance(accessKeyId, accessKeySecret, "cn-beijing");
String ossTempFileUrl = fileUtils.upload(inputStream); String ossTempFileUrl = fileUtils.upload(inputStream);
System.out.println(ossTempFileUrl);
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTAI4FxrURzMvvu9reFgwY5o", "Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV"); DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile); IAcsClient client = new DefaultAcsClient(profile);
DetectPedestrianRequest request = new DetectPedestrianRequest(); DetectPedestrianRequest request = new DetectPedestrianRequest();
request.setImageURL(ossTempFileUrl); request.setImageURL(ossTempFileUrl);
DetectPedestrianResponse response = client.getAcsResponse(request); DetectPedestrianResponse response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response)); List<DetectPedestrianResponse.Data.Element> elementList = response.getData().getElements();
return "success"; if (!CollectionUtils.isEmpty(elementList)) {
for (DetectPedestrianResponse.Data.Element element : elementList) {
System.out.println(element.getType());
System.out.println(element.getScore());
}
}
} catch (Exception e) { } catch (Exception e) {
log.error("获取设备列表Exception:[msg={}, e={}]", e.getMessage(), e); log.error("获取设备列表Exception:[msg={}, e={}]", e.getMessage(), e);
return "error";
} }
} }
}
return "success";
}
} }
...@@ -7,12 +7,6 @@ import com.aliyun.oss.models.PostObjectRequest; ...@@ -7,12 +7,6 @@ import com.aliyun.oss.models.PostObjectRequest;
import com.aliyun.tea.TeaConverter; import com.aliyun.tea.TeaConverter;
import com.aliyun.tea.TeaPair; import com.aliyun.tea.TeaPair;
import com.aliyun.teautil.models.RuntimeOptions; import com.aliyun.teautil.models.RuntimeOptions;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.facebody.model.v20191230.DetectPedestrianRequest;
import com.aliyuncs.facebody.model.v20191230.DetectPedestrianResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.io.File; import java.io.File;
...@@ -28,36 +22,6 @@ import java.util.concurrent.ConcurrentHashMap; ...@@ -28,36 +22,6 @@ import java.util.concurrent.ConcurrentHashMap;
public class ViapiFileUtilAdvance { public class ViapiFileUtilAdvance {
public static void main(String[] args) throws Exception {
String accessKey = "LTAI4FxrURzMvvu9reFgwY5o"; //您的AccessKeyID
String accessKeySecret = "Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV"; //您的AccessKeySecret
String regionId = "cn-beijing";
//String file = "/home/admin/file/1.jpg"; //或者本地上传
String file = "https://camera.zhengzai.tv/camera/live/20220101202301070001.jpg";
try (InputStream inputStream = buildInputStream(file)) {
ViapiFileUtilAdvance fileUtils = ViapiFileUtilAdvance.getInstance(accessKey, accessKeySecret, regionId);
String ossTempFileUrl = fileUtils.upload(inputStream);
System.out.println(ossTempFileUrl);
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTAI4FxrURzMvvu9reFgwY5o", "Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV");
/** use STS Token
DefaultProfile profile = DefaultProfile.getProfile(
"<your-region-id>", // The region ID
"<your-access-key-id>", // The AccessKey ID of the RAM account
"<your-access-key-secret>", // The AccessKey Secret of the RAM account
"<your-sts-token>"); // STS Token
**/
IAcsClient client = new DefaultAcsClient(profile);
DetectPedestrianRequest request = new DetectPedestrianRequest();
request.setImageURL(ossTempFileUrl);
DetectPedestrianResponse response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
}
}
public static InputStream buildInputStream(String filePath) throws IOException { public static InputStream buildInputStream(String filePath) throws IOException {
if (StringUtils.startsWithAny(filePath, new CharSequence[]{"http://", "https://"})) { if (StringUtils.startsWithAny(filePath, new CharSequence[]{"http://", "https://"})) {
filePath = URLDecoder.decode(filePath, "UTF-8"); filePath = URLDecoder.decode(filePath, "UTF-8");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment