云服务器内容精选

  • 核心代码 创建视频解析任务。 视频解析任务需要设置输入视频文件参数,如果有必要,还可以将元数据生成文件存放在指定的路径下。 1 2 3 4 5 6 7 8 9 10 //设置解析输入视频地址和输出路径 ObsObjInfo input = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("ok.mp4"); ObsObjInfo output = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("output"); //创建解析请求 CreateExtractTaskRequest req = new CreateExtractTaskRequest() .withBody(new CreateExtractTaskReq().withInput(input)); // 发起请求 CreateExtractTaskResponse rsp = initMpcClient().createExtractTask(req); // 打印结果 System.out.println("CreateExtractTaskResponse=" + JsonUtils.toJSON(rsp));
  • 响应示例 状态码: 200 查询视频解析任务成功。 { "total" : 1, "tasks" : [ { "task_id" : 7967, "status" : "SUCCEED", "create_time" : 20201119103821, "start_time" : 20201119103822, "end_time" : 20201119103827, "description" : "The task has completed.", "input" : { "bucket" : "obs-apitest-01", "location" : "region1", "object" : "mp4/4k.mp4" }, "output" : { "bucket" : "obs-apitest-01", "location" : "region1", "object" : "out_gamma/extract/", "file_name" : "video_001.txt" }, "metadata" : { "size" : 43231240, "duration_ms" : 60.186, "duration" : 60, "format" : "MP4", "bitrate" : 5605, "video" : [ { "width" : 3824, "height" : 2152, "bitrate" : 5481, "bitrate_bps" : 5613152, "frame_rate" : 23, "codec" : "H.265" } ], "audio" : [ { "codec" : "AAC", "sample" : 48000, "channels" : 2, "bitrate" : 124, "bitrate_bps" : 127992 } ] } } ]} 状态码: 400 查询视频解析任务失败。 { "error_code" : "MPC.10202", "error_msg" : "Invalid request parameter."}
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Project_Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息, 与路径参数中的项目ID相同。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 x-language 否 String 客户端语言
  • URI GET /v1/{project_id}/extract-metadata 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID 表2 Query参数 参数 是否必选 参数类型 描述 task_id 否 Array 任务ID。一次最多10个 status 否 String 任务执行状态。 取值如下: INIT:初始状态 WAITING:等待启动 PREPRO CES SING:处理中 SUCCEED:处理成功 FAILED:处理失败 CANCELED:已取消 start_time 否 String 起始时间。格式为yyyymmddhhmmss。必须是与时区无关的UTC时间,指定task_id时该参数无效。 end_time 否 String 结束时间。格式为yyyymmddhhmmss。必须是与时区无关的UTC时间,指定task_id时该参数无效。 page 否 Integer 分页编号。查询指定“task_id”时,该参数无效。 默认值:0。 size 否 Integer 每页记录数。查询指定“task_id”时,该参数无效。 取值范围:[1,100]。 默认值:10。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 任务总数 tasks Array of ExtractTask objects 任务列表 表5 ExtractTask 参数 参数类型 描述 task_id String 任务ID status String 任务状态。 取值如下: INIT:初始状态。 WAITING:等待启动。 PROCESSING:处理中。 SUCCEED:处理成功。 FAILED:处理失败。 CANCELED:已取消。 create_time String 任务创建时间 start_time String 任务启动时间 end_time String 任务结束时间 error_code String 任务的返回码。 description String 错误描述 user_data String 用户数据。 input ObsObjInfo object 源文件信息 output ObsObjInfo object 输出文件信息 metadata MetaData object 输出参数 表6 ObsObjInfo 参数 参数类型 描述 bucket String OBS的bucket名称。 location String OBS桶所在的区域,且必须与使用的MPC区域保持一致。 object String OBS对象路径,遵守OSS Object定义。 当用于指示input时,需要指定到具体对象。 当用于指示output时, 只需指定到转码结果期望存放的路径。 file_name String 文件名 当指定了此参数时,输出的对象名为object/file_name 。 当不指定此参数时,输出的对象名为object/xxx,其中xxx由MPC指定。 在作为输出文件名时: 在转封装场景有效,指定输出文件名称 转码场景下需要指定输出文件名时,请使用output_filenames参数 在解析场景有效,解析场景如果指定文件名,则将解析参数写入指定文件名,通过查询接口响应json数据获取文件元数据信息 在截图场景无效 在转动图场景无效 表7 MetaData 参数 参数类型 描述 size Long 文件大小。 单位:byte。 duration_ms Double 视频时长,带小数位显示。 单位:秒。 duration Long 视频时长。 单位:秒。 format String 文件封装格式。 bitrate Long 总码率。 单位:bit/秒 video Array of VideoInfo objects 视频流元数据。 audio Array of AudioInfo objects 音频流元数据。 表8 VideoInfo 参数 参数类型 描述 width Integer 视频宽度 height Integer 视频高度 bitrate Integer 视频码率。 单位: kbit/s bitrate_bps Long 视频码率。 单位: bit/s frame_rate Integer 帧率。 取值范围:0或[5,60],0表示自适应。 单位:帧每秒。 说明: 若设置的帧率不在取值范围内,则自动调整为0,若设置的帧率高于片源帧率,则自动调整为片源帧率。 codec String 视频编码格式 表9 AudioInfo 参数 参数类型 描述 codec String 音频编码格式 sample Integer 音频采样率 channels Integer 音频信道 bitrate Integer 音频码率。 单位: kbit/s bitrate_bps Long 音频码率。 单位: bit/s 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。