全部产品
云市场
云游戏

流预测

更新时间:2019-03-29 18:09:28

本文档描述流预测相关接口。包括:CreateStreamPredict、StartStreamPredict、StopStreamPredict、DescribeStreamPredictResult、DescribeStreamPredicts、DeleteStreamPredict。

初始化

  1. String region = "<RegionId>";
  2. String accessKeyId = "<AccessKeyId>";
  3. String accessKeySecret = "<AccessKeySecret>";
  4. DefaultProfile profile = DefaultProfile.getProfile(region, accessKeyId, accessKeySecret);
  5. client = new DefaultAcsClient(profile);

创建流预测

可以直接通过CreateStreamPredict接口创建流预测。

  1. CreateStreamPredictRequest request = new CreateStreamPredictRequest();
  2. // 流类型,Live:直播流,VS:监控流。
  3. request.setStreamType("Live");
  4. // 直播流的流ID,从直播平台获取。
  5. request.setStreamId("<streamId>");
  6. // 流截图存储地址前缀。如:http://test-bucket.oss-cn-beijing.aliyuncs.com/test/
  7. request.setOutput("http://test-bucket.oss-cn-beijing.aliyuncs.com/test/");
  8. // 流预测通知配置,支持MNS Queue,如:{"MNSQueue":"test-queue"}
  9. request.setNotify("{\"MNSQueue\":\"test-queue\"}");
  10. // 预测的模型ID列表,最多5个,支持系统模型和训练模型。
  11. request.setModelIds("<modelId>");
  12. // 是否自动开始预测,"true":自动开始,"false"手动开始。
  13. request.setAutoStart("false");
  14. // 如果出错,可能会抛出ClientException或ServerException异常
  15. CreateStreamPredictResponse response = client.getAcsResponse(request);
  16. System.out.println("PredictId:" + response.getPredictId());

开始流预测

可以直接通过StartStreamPredict接口开始流预测。

  1. StartStreamPredictRequest request = new StartStreamPredictRequest();
  2. // 创建流预测时,会返回流预测ID。
  3. request.setPredictId(predictId);
  4. // 如果出错,可能会抛出ClientException或ServerException异常
  5. StartStreamPredictResponse response = client.getAcsResponse(request);
  6. System.out.println("PredictId:" + response.getPredictId());

结束流预测

通过StopStreamPredict接口结束流预测。

  1. StopStreamPredictRequest request = new StopStreamPredictRequest();
  2. // 创建流预测时,会返回流预测ID。
  3. request.setPredictId(predictId);
  4. // 如果出错,可能会抛出ClientException或ServerException异常
  5. StopStreamPredictResponse response = client.getAcsResponse(request);
  6. System.out.println("PredictId:" + response.getPredictId());

查询流预测结果

通过DescribeStreamPredictResult接口查询流预测结果。

  1. DescribeStreamPredictResultRequest request = new DescribeStreamPredictResultRequest();
  2. request.setPredictId(predictId);
  3. request.setModelId(modelId);
  4. // 如果出错,可能会抛出ClientException或ServerException异常
  5. DescribeStreamPredictResultResponse response = client.getAcsResponse(request);
  6. for (DescribeStreamPredictResultResponse.StreamPredictData data : response.getStreamPredictDatas()) {
  7. System.out.println("StreamPredictResult:" + JSON.toJSONString(data));
  8. }

查询流预测列表

通过DescribeStreamPredicts接口查询流预测列表。

  1. DescribeStreamPredictsRequest request = new DescribeStreamPredictsRequest();
  2. // 如果为空,会列出所有的流预测列表
  3. request.setPredictIds(predictId);
  4. // 如果出错,可能会抛出ClientException或ServerException异常
  5. DescribeStreamPredictsResponse response = client.getAcsResponse(request);
  6. for (DescribeStreamPredictsResponse.StreamPredict streamPredict : response.getStreamPredicts()) {
  7. System.out.println("StreamPredict:" + JSON.toJSONString(streamPredict));
  8. }

删除流预测

通过DeleteStreamPredict接口删除流预测。

  1. DeleteStreamPredictRequest request = new DeleteStreamPredictRequest();
  2. request.setPredictId(predictId);
  3. // 如果出错,可能会抛出ClientException或ServerException异常
  4. DeleteStreamPredictResponse response = client.getAcsResponse(request);
  5. System.out.println("StreamPredictId:" + response.getPredictId());