videorecog-20200320/client/client.go (2,076 lines of code) (raw):

// This file is auto-generated, don't edit it. Thanks. package client import ( openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client" endpointutil "github.com/alibabacloud-go/endpoint-util/service" openapiutil "github.com/alibabacloud-go/openapi-util/service" openplatform "github.com/alibabacloud-go/openplatform-20191219/v2/client" fileform "github.com/alibabacloud-go/tea-fileform/service" oss "github.com/alibabacloud-go/tea-oss-sdk/client" ossutil "github.com/alibabacloud-go/tea-oss-utils/service" util "github.com/alibabacloud-go/tea-utils/v2/service" "github.com/alibabacloud-go/tea/tea" "io" ) type DetectVideoShotRequest struct { // This parameter is required. // // example: // // http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videorecog/DetectVideoShot/DetectVideoShot2.mp4 VideoUrl *string `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s DetectVideoShotRequest) String() string { return tea.Prettify(s) } func (s DetectVideoShotRequest) GoString() string { return s.String() } func (s *DetectVideoShotRequest) SetVideoUrl(v string) *DetectVideoShotRequest { s.VideoUrl = &v return s } type DetectVideoShotAdvanceRequest struct { // This parameter is required. // // example: // // http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videorecog/DetectVideoShot/DetectVideoShot2.mp4 VideoUrlObject io.Reader `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s DetectVideoShotAdvanceRequest) String() string { return tea.Prettify(s) } func (s DetectVideoShotAdvanceRequest) GoString() string { return s.String() } func (s *DetectVideoShotAdvanceRequest) SetVideoUrlObject(v io.Reader) *DetectVideoShotAdvanceRequest { s.VideoUrlObject = v return s } type DetectVideoShotResponseBody struct { Data *DetectVideoShotResponseBodyData `json:"Data,omitempty" xml:"Data,omitempty" type:"Struct"` Message *string `json:"Message,omitempty" xml:"Message,omitempty"` // example: // // 0033B795-09C7-4EB9-A33C-EBA325192B0D RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty"` } func (s DetectVideoShotResponseBody) String() string { return tea.Prettify(s) } func (s DetectVideoShotResponseBody) GoString() string { return s.String() } func (s *DetectVideoShotResponseBody) SetData(v *DetectVideoShotResponseBodyData) *DetectVideoShotResponseBody { s.Data = v return s } func (s *DetectVideoShotResponseBody) SetMessage(v string) *DetectVideoShotResponseBody { s.Message = &v return s } func (s *DetectVideoShotResponseBody) SetRequestId(v string) *DetectVideoShotResponseBody { s.RequestId = &v return s } type DetectVideoShotResponseBodyData struct { // 1 ShotFrameIds []*int32 `json:"ShotFrameIds,omitempty" xml:"ShotFrameIds,omitempty" type:"Repeated"` } func (s DetectVideoShotResponseBodyData) String() string { return tea.Prettify(s) } func (s DetectVideoShotResponseBodyData) GoString() string { return s.String() } func (s *DetectVideoShotResponseBodyData) SetShotFrameIds(v []*int32) *DetectVideoShotResponseBodyData { s.ShotFrameIds = v return s } type DetectVideoShotResponse struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` StatusCode *int32 `json:"statusCode,omitempty" xml:"statusCode,omitempty"` Body *DetectVideoShotResponseBody `json:"body,omitempty" xml:"body,omitempty"` } func (s DetectVideoShotResponse) String() string { return tea.Prettify(s) } func (s DetectVideoShotResponse) GoString() string { return s.String() } func (s *DetectVideoShotResponse) SetHeaders(v map[string]*string) *DetectVideoShotResponse { s.Headers = v return s } func (s *DetectVideoShotResponse) SetStatusCode(v int32) *DetectVideoShotResponse { s.StatusCode = &v return s } func (s *DetectVideoShotResponse) SetBody(v *DetectVideoShotResponseBody) *DetectVideoShotResponse { s.Body = v return s } type EvaluateVideoQualityRequest struct { // example: // // vqa_plus Mode *string `json:"Mode,omitempty" xml:"Mode,omitempty"` // This parameter is required. // // example: // // http://public-vigen-video.oss-cn-shanghai.aliyuncs.com/Common/xxx/dont_delete/decaption/123.mp4 VideoUrl *string `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s EvaluateVideoQualityRequest) String() string { return tea.Prettify(s) } func (s EvaluateVideoQualityRequest) GoString() string { return s.String() } func (s *EvaluateVideoQualityRequest) SetMode(v string) *EvaluateVideoQualityRequest { s.Mode = &v return s } func (s *EvaluateVideoQualityRequest) SetVideoUrl(v string) *EvaluateVideoQualityRequest { s.VideoUrl = &v return s } type EvaluateVideoQualityAdvanceRequest struct { // example: // // vqa_plus Mode *string `json:"Mode,omitempty" xml:"Mode,omitempty"` // This parameter is required. // // example: // // http://public-vigen-video.oss-cn-shanghai.aliyuncs.com/Common/xxx/dont_delete/decaption/123.mp4 VideoUrlObject io.Reader `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s EvaluateVideoQualityAdvanceRequest) String() string { return tea.Prettify(s) } func (s EvaluateVideoQualityAdvanceRequest) GoString() string { return s.String() } func (s *EvaluateVideoQualityAdvanceRequest) SetMode(v string) *EvaluateVideoQualityAdvanceRequest { s.Mode = &v return s } func (s *EvaluateVideoQualityAdvanceRequest) SetVideoUrlObject(v io.Reader) *EvaluateVideoQualityAdvanceRequest { s.VideoUrlObject = v return s } type EvaluateVideoQualityResponseBody struct { Data *EvaluateVideoQualityResponseBodyData `json:"Data,omitempty" xml:"Data,omitempty" type:"Struct"` Message *string `json:"Message,omitempty" xml:"Message,omitempty"` // example: // // 1d33e538-c949-4fcd-83f6-4d57e4b31527 RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty"` } func (s EvaluateVideoQualityResponseBody) String() string { return tea.Prettify(s) } func (s EvaluateVideoQualityResponseBody) GoString() string { return s.String() } func (s *EvaluateVideoQualityResponseBody) SetData(v *EvaluateVideoQualityResponseBodyData) *EvaluateVideoQualityResponseBody { s.Data = v return s } func (s *EvaluateVideoQualityResponseBody) SetMessage(v string) *EvaluateVideoQualityResponseBody { s.Message = &v return s } func (s *EvaluateVideoQualityResponseBody) SetRequestId(v string) *EvaluateVideoQualityResponseBody { s.RequestId = &v return s } type EvaluateVideoQualityResponseBodyData struct { // example: // // http://vibktprfx-prod-prod-damo-eas-cn-shanghai.oss-cn-shanghai.aliyuncs.com/eas-video-quality-assessment/2023-01-13-10/31%3A08-cVeN9ZQlzIPfGqsa.json?Expires=1673578869&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=AiSsOsZ7rYfhf9w3Mxn%2Fq4GKKy**** JsonUrl *string `json:"JsonUrl,omitempty" xml:"JsonUrl,omitempty"` // example: // // http://vibktprfx-prod-prod-damo-eas-cn-shanghai.oss-cn-shanghai.aliyuncs.com/eas-video-quality-assessment/2023-01-13-10/31%3A08-cVeN9ZQlzIPfGqsa.pdf?Expires=1673578869&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=xULlZzVuhoYWAXRbp9A4EzzZcS**** PdfUrl *string `json:"PdfUrl,omitempty" xml:"PdfUrl,omitempty"` VideoQualityInfo *EvaluateVideoQualityResponseBodyDataVideoQualityInfo `json:"VideoQualityInfo,omitempty" xml:"VideoQualityInfo,omitempty" type:"Struct"` } func (s EvaluateVideoQualityResponseBodyData) String() string { return tea.Prettify(s) } func (s EvaluateVideoQualityResponseBodyData) GoString() string { return s.String() } func (s *EvaluateVideoQualityResponseBodyData) SetJsonUrl(v string) *EvaluateVideoQualityResponseBodyData { s.JsonUrl = &v return s } func (s *EvaluateVideoQualityResponseBodyData) SetPdfUrl(v string) *EvaluateVideoQualityResponseBodyData { s.PdfUrl = &v return s } func (s *EvaluateVideoQualityResponseBodyData) SetVideoQualityInfo(v *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) *EvaluateVideoQualityResponseBodyData { s.VideoQualityInfo = v return s } type EvaluateVideoQualityResponseBodyDataVideoQualityInfo struct { // example: // // 0.15 Blurriness *float32 `json:"Blurriness,omitempty" xml:"Blurriness,omitempty"` // example: // // 0.55 ColorContrast *float32 `json:"ColorContrast,omitempty" xml:"ColorContrast,omitempty"` // example: // // 0.17 ColorSaturation *float32 `json:"ColorSaturation,omitempty" xml:"ColorSaturation,omitempty"` // example: // // 0.48 Colorfulness *float32 `json:"Colorfulness,omitempty" xml:"Colorfulness,omitempty"` // example: // // 0.25 CompressiveStrength *float32 `json:"CompressiveStrength,omitempty" xml:"CompressiveStrength,omitempty"` // example: // // 0.51 Luminance *float32 `json:"Luminance,omitempty" xml:"Luminance,omitempty"` // example: // // 0.7048 MosScore *float32 `json:"MosScore,omitempty" xml:"MosScore,omitempty"` // example: // // 0.01 NoiseIntensity *float32 `json:"NoiseIntensity,omitempty" xml:"NoiseIntensity,omitempty"` } func (s EvaluateVideoQualityResponseBodyDataVideoQualityInfo) String() string { return tea.Prettify(s) } func (s EvaluateVideoQualityResponseBodyDataVideoQualityInfo) GoString() string { return s.String() } func (s *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) SetBlurriness(v float32) *EvaluateVideoQualityResponseBodyDataVideoQualityInfo { s.Blurriness = &v return s } func (s *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) SetColorContrast(v float32) *EvaluateVideoQualityResponseBodyDataVideoQualityInfo { s.ColorContrast = &v return s } func (s *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) SetColorSaturation(v float32) *EvaluateVideoQualityResponseBodyDataVideoQualityInfo { s.ColorSaturation = &v return s } func (s *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) SetColorfulness(v float32) *EvaluateVideoQualityResponseBodyDataVideoQualityInfo { s.Colorfulness = &v return s } func (s *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) SetCompressiveStrength(v float32) *EvaluateVideoQualityResponseBodyDataVideoQualityInfo { s.CompressiveStrength = &v return s } func (s *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) SetLuminance(v float32) *EvaluateVideoQualityResponseBodyDataVideoQualityInfo { s.Luminance = &v return s } func (s *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) SetMosScore(v float32) *EvaluateVideoQualityResponseBodyDataVideoQualityInfo { s.MosScore = &v return s } func (s *EvaluateVideoQualityResponseBodyDataVideoQualityInfo) SetNoiseIntensity(v float32) *EvaluateVideoQualityResponseBodyDataVideoQualityInfo { s.NoiseIntensity = &v return s } type EvaluateVideoQualityResponse struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` StatusCode *int32 `json:"statusCode,omitempty" xml:"statusCode,omitempty"` Body *EvaluateVideoQualityResponseBody `json:"body,omitempty" xml:"body,omitempty"` } func (s EvaluateVideoQualityResponse) String() string { return tea.Prettify(s) } func (s EvaluateVideoQualityResponse) GoString() string { return s.String() } func (s *EvaluateVideoQualityResponse) SetHeaders(v map[string]*string) *EvaluateVideoQualityResponse { s.Headers = v return s } func (s *EvaluateVideoQualityResponse) SetStatusCode(v int32) *EvaluateVideoQualityResponse { s.StatusCode = &v return s } func (s *EvaluateVideoQualityResponse) SetBody(v *EvaluateVideoQualityResponseBody) *EvaluateVideoQualityResponse { s.Body = v return s } type GenerateVideoCoverRequest struct { // This parameter is required. // // example: // // false IsGif *bool `json:"IsGif,omitempty" xml:"IsGif,omitempty"` // This parameter is required. // // example: // // http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videorecog/videorecog/videorecog1.mp4 VideoUrl *string `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s GenerateVideoCoverRequest) String() string { return tea.Prettify(s) } func (s GenerateVideoCoverRequest) GoString() string { return s.String() } func (s *GenerateVideoCoverRequest) SetIsGif(v bool) *GenerateVideoCoverRequest { s.IsGif = &v return s } func (s *GenerateVideoCoverRequest) SetVideoUrl(v string) *GenerateVideoCoverRequest { s.VideoUrl = &v return s } type GenerateVideoCoverAdvanceRequest struct { // This parameter is required. // // example: // // false IsGif *bool `json:"IsGif,omitempty" xml:"IsGif,omitempty"` // This parameter is required. // // example: // // http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videorecog/videorecog/videorecog1.mp4 VideoUrlObject io.Reader `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s GenerateVideoCoverAdvanceRequest) String() string { return tea.Prettify(s) } func (s GenerateVideoCoverAdvanceRequest) GoString() string { return s.String() } func (s *GenerateVideoCoverAdvanceRequest) SetIsGif(v bool) *GenerateVideoCoverAdvanceRequest { s.IsGif = &v return s } func (s *GenerateVideoCoverAdvanceRequest) SetVideoUrlObject(v io.Reader) *GenerateVideoCoverAdvanceRequest { s.VideoUrlObject = v return s } type GenerateVideoCoverResponseBody struct { Data *GenerateVideoCoverResponseBodyData `json:"Data,omitempty" xml:"Data,omitempty" type:"Struct"` Message *string `json:"Message,omitempty" xml:"Message,omitempty"` // example: // // 5B95B724-C5B9-4F77-A743-0CA4EA95CC82 RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty"` } func (s GenerateVideoCoverResponseBody) String() string { return tea.Prettify(s) } func (s GenerateVideoCoverResponseBody) GoString() string { return s.String() } func (s *GenerateVideoCoverResponseBody) SetData(v *GenerateVideoCoverResponseBodyData) *GenerateVideoCoverResponseBody { s.Data = v return s } func (s *GenerateVideoCoverResponseBody) SetMessage(v string) *GenerateVideoCoverResponseBody { s.Message = &v return s } func (s *GenerateVideoCoverResponseBody) SetRequestId(v string) *GenerateVideoCoverResponseBody { s.RequestId = &v return s } type GenerateVideoCoverResponseBodyData struct { Outputs []*GenerateVideoCoverResponseBodyDataOutputs `json:"Outputs,omitempty" xml:"Outputs,omitempty" type:"Repeated"` } func (s GenerateVideoCoverResponseBodyData) String() string { return tea.Prettify(s) } func (s GenerateVideoCoverResponseBodyData) GoString() string { return s.String() } func (s *GenerateVideoCoverResponseBodyData) SetOutputs(v []*GenerateVideoCoverResponseBodyDataOutputs) *GenerateVideoCoverResponseBodyData { s.Outputs = v return s } type GenerateVideoCoverResponseBodyDataOutputs struct { // example: // // 6.1819260887924425 Confidence *float32 `json:"Confidence,omitempty" xml:"Confidence,omitempty"` // example: // // http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/video-cover/2020-05-11-07/pic_lOyxGGAqQYSANGxP.mp4_202_544_960_c9f88b2a5f75e17c093d1a65f5edff4d_beautified.png?Expires=1589185385&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=PAalKsfeZC4UQzYDTU%2F3D1G7Xt**** ImageURL *string `json:"ImageURL,omitempty" xml:"ImageURL,omitempty"` } func (s GenerateVideoCoverResponseBodyDataOutputs) String() string { return tea.Prettify(s) } func (s GenerateVideoCoverResponseBodyDataOutputs) GoString() string { return s.String() } func (s *GenerateVideoCoverResponseBodyDataOutputs) SetConfidence(v float32) *GenerateVideoCoverResponseBodyDataOutputs { s.Confidence = &v return s } func (s *GenerateVideoCoverResponseBodyDataOutputs) SetImageURL(v string) *GenerateVideoCoverResponseBodyDataOutputs { s.ImageURL = &v return s } type GenerateVideoCoverResponse struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` StatusCode *int32 `json:"statusCode,omitempty" xml:"statusCode,omitempty"` Body *GenerateVideoCoverResponseBody `json:"body,omitempty" xml:"body,omitempty"` } func (s GenerateVideoCoverResponse) String() string { return tea.Prettify(s) } func (s GenerateVideoCoverResponse) GoString() string { return s.String() } func (s *GenerateVideoCoverResponse) SetHeaders(v map[string]*string) *GenerateVideoCoverResponse { s.Headers = v return s } func (s *GenerateVideoCoverResponse) SetStatusCode(v int32) *GenerateVideoCoverResponse { s.StatusCode = &v return s } func (s *GenerateVideoCoverResponse) SetBody(v *GenerateVideoCoverResponseBody) *GenerateVideoCoverResponse { s.Body = v return s } type GetAsyncJobResultRequest struct { // This parameter is required. // // example: // // E75FE679-0303-4DD1-8252-1143B4FA8A27 JobId *string `json:"JobId,omitempty" xml:"JobId,omitempty"` } func (s GetAsyncJobResultRequest) String() string { return tea.Prettify(s) } func (s GetAsyncJobResultRequest) GoString() string { return s.String() } func (s *GetAsyncJobResultRequest) SetJobId(v string) *GetAsyncJobResultRequest { s.JobId = &v return s } type GetAsyncJobResultResponseBody struct { Data *GetAsyncJobResultResponseBodyData `json:"Data,omitempty" xml:"Data,omitempty" type:"Struct"` // example: // // A1F44EC4-118D-4A03-B213-F908F36F7DAA RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty"` } func (s GetAsyncJobResultResponseBody) String() string { return tea.Prettify(s) } func (s GetAsyncJobResultResponseBody) GoString() string { return s.String() } func (s *GetAsyncJobResultResponseBody) SetData(v *GetAsyncJobResultResponseBodyData) *GetAsyncJobResultResponseBody { s.Data = v return s } func (s *GetAsyncJobResultResponseBody) SetRequestId(v string) *GetAsyncJobResultResponseBody { s.RequestId = &v return s } type GetAsyncJobResultResponseBodyData struct { // example: // // InvalidParameter ErrorCode *string `json:"ErrorCode,omitempty" xml:"ErrorCode,omitempty"` // example: // // paramsIllegal ErrorMessage *string `json:"ErrorMessage,omitempty" xml:"ErrorMessage,omitempty"` // example: // // 7DFDA846-178B-4ADB-B69A-62C641214D81 JobId *string `json:"JobId,omitempty" xml:"JobId,omitempty"` // example: // // {\\"Outputs\\":[{\\"ImageURL\\":\\"http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/video-cover/2020-03-25-11/pic_4t7zW6R6SUGn4DLF.mp4_2375_1920_1080_96ce5a96b5b16628cd778c035b68356d_beautified.png?Expires=1585136160&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=MDd7BqbivlLRd16MTKbPFQHV3u****\\",\\"Confidence\\":8.426481079120514},{\\"ImageURL\\":\\"http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/video-cover/2020-03-25-11/pic_4t7zW6R6SUGn4DLF.mp4_2996_1920_1080_d5df0556bf420242c84fe6f7a45d01e1_beautified.png?Expires=1585136160&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=htaW5G%2BpqPBW%2BEMTe01ckVoGsQ****\\",\\"Confidence\\":6.225726566341124}]} Result *string `json:"Result,omitempty" xml:"Result,omitempty"` // example: // // PROCESS_SUCCESS Status *string `json:"Status,omitempty" xml:"Status,omitempty"` } func (s GetAsyncJobResultResponseBodyData) String() string { return tea.Prettify(s) } func (s GetAsyncJobResultResponseBodyData) GoString() string { return s.String() } func (s *GetAsyncJobResultResponseBodyData) SetErrorCode(v string) *GetAsyncJobResultResponseBodyData { s.ErrorCode = &v return s } func (s *GetAsyncJobResultResponseBodyData) SetErrorMessage(v string) *GetAsyncJobResultResponseBodyData { s.ErrorMessage = &v return s } func (s *GetAsyncJobResultResponseBodyData) SetJobId(v string) *GetAsyncJobResultResponseBodyData { s.JobId = &v return s } func (s *GetAsyncJobResultResponseBodyData) SetResult(v string) *GetAsyncJobResultResponseBodyData { s.Result = &v return s } func (s *GetAsyncJobResultResponseBodyData) SetStatus(v string) *GetAsyncJobResultResponseBodyData { s.Status = &v return s } type GetAsyncJobResultResponse struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` StatusCode *int32 `json:"statusCode,omitempty" xml:"statusCode,omitempty"` Body *GetAsyncJobResultResponseBody `json:"body,omitempty" xml:"body,omitempty"` } func (s GetAsyncJobResultResponse) String() string { return tea.Prettify(s) } func (s GetAsyncJobResultResponse) GoString() string { return s.String() } func (s *GetAsyncJobResultResponse) SetHeaders(v map[string]*string) *GetAsyncJobResultResponse { s.Headers = v return s } func (s *GetAsyncJobResultResponse) SetStatusCode(v int32) *GetAsyncJobResultResponse { s.StatusCode = &v return s } func (s *GetAsyncJobResultResponse) SetBody(v *GetAsyncJobResultResponseBody) *GetAsyncJobResultResponse { s.Body = v return s } type RecognizeVideoCastCrewListRequest struct { Params []*RecognizeVideoCastCrewListRequestParams `json:"Params,omitempty" xml:"Params,omitempty" type:"Repeated"` // This parameter is required. // // example: // // https://shanghai.oss-cn-shanghai.aliyuncs.com/download/xxxx.mp4 VideoUrl *string `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s RecognizeVideoCastCrewListRequest) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListRequest) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListRequest) SetParams(v []*RecognizeVideoCastCrewListRequestParams) *RecognizeVideoCastCrewListRequest { s.Params = v return s } func (s *RecognizeVideoCastCrewListRequest) SetVideoUrl(v string) *RecognizeVideoCastCrewListRequest { s.VideoUrl = &v return s } type RecognizeVideoCastCrewListRequestParams struct { // example: // // cast Type *string `json:"Type,omitempty" xml:"Type,omitempty"` } func (s RecognizeVideoCastCrewListRequestParams) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListRequestParams) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListRequestParams) SetType(v string) *RecognizeVideoCastCrewListRequestParams { s.Type = &v return s } type RecognizeVideoCastCrewListAdvanceRequest struct { Params []*RecognizeVideoCastCrewListAdvanceRequestParams `json:"Params,omitempty" xml:"Params,omitempty" type:"Repeated"` // This parameter is required. // // example: // // https://shanghai.oss-cn-shanghai.aliyuncs.com/download/xxxx.mp4 VideoUrlObject io.Reader `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s RecognizeVideoCastCrewListAdvanceRequest) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListAdvanceRequest) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListAdvanceRequest) SetParams(v []*RecognizeVideoCastCrewListAdvanceRequestParams) *RecognizeVideoCastCrewListAdvanceRequest { s.Params = v return s } func (s *RecognizeVideoCastCrewListAdvanceRequest) SetVideoUrlObject(v io.Reader) *RecognizeVideoCastCrewListAdvanceRequest { s.VideoUrlObject = v return s } type RecognizeVideoCastCrewListAdvanceRequestParams struct { // example: // // cast Type *string `json:"Type,omitempty" xml:"Type,omitempty"` } func (s RecognizeVideoCastCrewListAdvanceRequestParams) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListAdvanceRequestParams) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListAdvanceRequestParams) SetType(v string) *RecognizeVideoCastCrewListAdvanceRequestParams { s.Type = &v return s } type RecognizeVideoCastCrewListShrinkRequest struct { ParamsShrink *string `json:"Params,omitempty" xml:"Params,omitempty"` // This parameter is required. // // example: // // https://shanghai.oss-cn-shanghai.aliyuncs.com/download/xxxx.mp4 VideoUrl *string `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s RecognizeVideoCastCrewListShrinkRequest) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListShrinkRequest) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListShrinkRequest) SetParamsShrink(v string) *RecognizeVideoCastCrewListShrinkRequest { s.ParamsShrink = &v return s } func (s *RecognizeVideoCastCrewListShrinkRequest) SetVideoUrl(v string) *RecognizeVideoCastCrewListShrinkRequest { s.VideoUrl = &v return s } type RecognizeVideoCastCrewListResponseBody struct { Data *RecognizeVideoCastCrewListResponseBodyData `json:"Data,omitempty" xml:"Data,omitempty" type:"Struct"` Message *string `json:"Message,omitempty" xml:"Message,omitempty"` // example: // // EE5B1A95-064F-1C5E-A6FE-FEE0D734A632 RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty"` } func (s RecognizeVideoCastCrewListResponseBody) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBody) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBody) SetData(v *RecognizeVideoCastCrewListResponseBodyData) *RecognizeVideoCastCrewListResponseBody { s.Data = v return s } func (s *RecognizeVideoCastCrewListResponseBody) SetMessage(v string) *RecognizeVideoCastCrewListResponseBody { s.Message = &v return s } func (s *RecognizeVideoCastCrewListResponseBody) SetRequestId(v string) *RecognizeVideoCastCrewListResponseBody { s.RequestId = &v return s } type RecognizeVideoCastCrewListResponseBodyData struct { CastResults []*RecognizeVideoCastCrewListResponseBodyDataCastResults `json:"CastResults,omitempty" xml:"CastResults,omitempty" type:"Repeated"` OcrResults []*RecognizeVideoCastCrewListResponseBodyDataOcrResults `json:"OcrResults,omitempty" xml:"OcrResults,omitempty" type:"Repeated"` // example: // // http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_bGHMygKsFw.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=6KQb9OXQldsg30w%2FNurHwAbjiJs%3D OcrResultsUrl *string `json:"OcrResultsUrl,omitempty" xml:"OcrResultsUrl,omitempty"` // example: // // http://vibktprfx-prod-prod-media-ai-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-ocr/1665475907_VSRvetTHon.json?Expires=1665477707&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=wfQviVVSyVRLPVlHDKXi6cTefHY%3D OcrVideoResultsUrl *string `json:"OcrVideoResultsUrl,omitempty" xml:"OcrVideoResultsUrl,omitempty"` SubtitlesResults []*RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults `json:"SubtitlesResults,omitempty" xml:"SubtitlesResults,omitempty" type:"Repeated"` VideoOcrResults []*RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults `json:"VideoOcrResults,omitempty" xml:"VideoOcrResults,omitempty" type:"Repeated"` } func (s RecognizeVideoCastCrewListResponseBodyData) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyData) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyData) SetCastResults(v []*RecognizeVideoCastCrewListResponseBodyDataCastResults) *RecognizeVideoCastCrewListResponseBodyData { s.CastResults = v return s } func (s *RecognizeVideoCastCrewListResponseBodyData) SetOcrResults(v []*RecognizeVideoCastCrewListResponseBodyDataOcrResults) *RecognizeVideoCastCrewListResponseBodyData { s.OcrResults = v return s } func (s *RecognizeVideoCastCrewListResponseBodyData) SetOcrResultsUrl(v string) *RecognizeVideoCastCrewListResponseBodyData { s.OcrResultsUrl = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyData) SetOcrVideoResultsUrl(v string) *RecognizeVideoCastCrewListResponseBodyData { s.OcrVideoResultsUrl = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyData) SetSubtitlesResults(v []*RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) *RecognizeVideoCastCrewListResponseBodyData { s.SubtitlesResults = v return s } func (s *RecognizeVideoCastCrewListResponseBodyData) SetVideoOcrResults(v []*RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults) *RecognizeVideoCastCrewListResponseBodyData { s.VideoOcrResults = v return s } type RecognizeVideoCastCrewListResponseBodyDataCastResults struct { DetailInfo map[string]*string `json:"DetailInfo,omitempty" xml:"DetailInfo,omitempty"` // example: // // 0.6 EndTime *float32 `json:"EndTime,omitempty" xml:"EndTime,omitempty"` // example: // // 0.6 StartTime *float32 `json:"StartTime,omitempty" xml:"StartTime,omitempty"` } func (s RecognizeVideoCastCrewListResponseBodyDataCastResults) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyDataCastResults) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyDataCastResults) SetDetailInfo(v map[string]*string) *RecognizeVideoCastCrewListResponseBodyDataCastResults { s.DetailInfo = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataCastResults) SetEndTime(v float32) *RecognizeVideoCastCrewListResponseBodyDataCastResults { s.EndTime = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataCastResults) SetStartTime(v float32) *RecognizeVideoCastCrewListResponseBodyDataCastResults { s.StartTime = &v return s } type RecognizeVideoCastCrewListResponseBodyDataOcrResults struct { DetailInfo []*RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo `json:"DetailInfo,omitempty" xml:"DetailInfo,omitempty" type:"Repeated"` // example: // // 0.28 EndTime *float32 `json:"EndTime,omitempty" xml:"EndTime,omitempty"` // example: // // 0.28 StartTime *float32 `json:"StartTime,omitempty" xml:"StartTime,omitempty"` } func (s RecognizeVideoCastCrewListResponseBodyDataOcrResults) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyDataOcrResults) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResults) SetDetailInfo(v []*RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) *RecognizeVideoCastCrewListResponseBodyDataOcrResults { s.DetailInfo = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResults) SetEndTime(v float32) *RecognizeVideoCastCrewListResponseBodyDataOcrResults { s.EndTime = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResults) SetStartTime(v float32) *RecognizeVideoCastCrewListResponseBodyDataOcrResults { s.StartTime = &v return s } type RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo struct { Boxes []*int32 `json:"Boxes,omitempty" xml:"Boxes,omitempty" type:"Repeated"` CharProbs [][]*float32 `json:"CharProbs,omitempty" xml:"CharProbs,omitempty" type:"Repeated"` // example: // // 17 FrameIndex *int64 `json:"FrameIndex,omitempty" xml:"FrameIndex,omitempty"` Position []*RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition `json:"Position,omitempty" xml:"Position,omitempty" type:"Repeated"` // example: // // 92.07685702563117 Score *float32 `json:"Score,omitempty" xml:"Score,omitempty"` Text *string `json:"Text,omitempty" xml:"Text,omitempty"` // example: // // 0.9207685702563116 TextProb *float32 `json:"TextProb,omitempty" xml:"TextProb,omitempty"` // example: // // 0.28 TimeStamp *float32 `json:"TimeStamp,omitempty" xml:"TimeStamp,omitempty"` // example: // // 1 TrackId *int64 `json:"TrackId,omitempty" xml:"TrackId,omitempty"` } func (s RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetBoxes(v []*int32) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.Boxes = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetCharProbs(v [][]*float32) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.CharProbs = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetFrameIndex(v int64) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.FrameIndex = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetPosition(v []*RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.Position = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetScore(v float32) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.Score = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetText(v string) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.Text = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetTextProb(v float32) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.TextProb = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetTimeStamp(v float32) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.TimeStamp = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo) SetTrackId(v int64) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfo { s.TrackId = &v return s } type RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition struct { // example: // // 266 X *int64 `json:"X,omitempty" xml:"X,omitempty"` // example: // // 440 Y *int64 `json:"Y,omitempty" xml:"Y,omitempty"` } func (s RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition) SetX(v int64) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition { s.X = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition) SetY(v int64) *RecognizeVideoCastCrewListResponseBodyDataOcrResultsDetailInfoPosition { s.Y = &v return s } type RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults struct { SubtitlesAllResults map[string]*string `json:"SubtitlesAllResults,omitempty" xml:"SubtitlesAllResults,omitempty"` // example: // // url SubtitlesAllResultsUrl *string `json:"SubtitlesAllResultsUrl,omitempty" xml:"SubtitlesAllResultsUrl,omitempty"` SubtitlesChineseResults map[string]*string `json:"SubtitlesChineseResults,omitempty" xml:"SubtitlesChineseResults,omitempty"` // example: // // url1 SubtitlesChineseResultsUrl *string `json:"SubtitlesChineseResultsUrl,omitempty" xml:"SubtitlesChineseResultsUrl,omitempty"` // example: // // hello SubtitlesEnglishResults map[string]interface{} `json:"SubtitlesEnglishResults,omitempty" xml:"SubtitlesEnglishResults,omitempty"` // example: // // url2 SubtitlesEnglishResultsUrl *string `json:"SubtitlesEnglishResultsUrl,omitempty" xml:"SubtitlesEnglishResultsUrl,omitempty"` } func (s RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) SetSubtitlesAllResults(v map[string]*string) *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults { s.SubtitlesAllResults = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) SetSubtitlesAllResultsUrl(v string) *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults { s.SubtitlesAllResultsUrl = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) SetSubtitlesChineseResults(v map[string]*string) *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults { s.SubtitlesChineseResults = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) SetSubtitlesChineseResultsUrl(v string) *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults { s.SubtitlesChineseResultsUrl = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) SetSubtitlesEnglishResults(v map[string]interface{}) *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults { s.SubtitlesEnglishResults = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults) SetSubtitlesEnglishResultsUrl(v string) *RecognizeVideoCastCrewListResponseBodyDataSubtitlesResults { s.SubtitlesEnglishResultsUrl = &v return s } type RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults struct { DetailInfo []*RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo `json:"DetailInfo,omitempty" xml:"DetailInfo,omitempty" type:"Repeated"` // example: // // 0.92 EndTime *float32 `json:"EndTime,omitempty" xml:"EndTime,omitempty"` // example: // // 0.92 StartTime *float32 `json:"StartTime,omitempty" xml:"StartTime,omitempty"` } func (s RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults) SetDetailInfo(v []*RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults { s.DetailInfo = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults) SetEndTime(v float32) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults { s.EndTime = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults) SetStartTime(v float32) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResults { s.StartTime = &v return s } type RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo struct { Boxes []*int64 `json:"Boxes,omitempty" xml:"Boxes,omitempty" type:"Repeated"` Position []*RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition `json:"Position,omitempty" xml:"Position,omitempty" type:"Repeated"` // example: // // 92.07685702563117 Score *float32 `json:"Score,omitempty" xml:"Score,omitempty"` Text *string `json:"Text,omitempty" xml:"Text,omitempty"` // example: // // 0 TextType *int64 `json:"TextType,omitempty" xml:"TextType,omitempty"` } func (s RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo) SetBoxes(v []*int64) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo { s.Boxes = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo) SetPosition(v []*RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo { s.Position = v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo) SetScore(v float32) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo { s.Score = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo) SetText(v string) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo { s.Text = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo) SetTextType(v int64) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfo { s.TextType = &v return s } type RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition struct { // example: // // 269 X *int64 `json:"X,omitempty" xml:"X,omitempty"` // example: // // 423 Y *int64 `json:"Y,omitempty" xml:"Y,omitempty"` } func (s RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition) SetX(v int64) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition { s.X = &v return s } func (s *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition) SetY(v int64) *RecognizeVideoCastCrewListResponseBodyDataVideoOcrResultsDetailInfoPosition { s.Y = &v return s } type RecognizeVideoCastCrewListResponse struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` StatusCode *int32 `json:"statusCode,omitempty" xml:"statusCode,omitempty"` Body *RecognizeVideoCastCrewListResponseBody `json:"body,omitempty" xml:"body,omitempty"` } func (s RecognizeVideoCastCrewListResponse) String() string { return tea.Prettify(s) } func (s RecognizeVideoCastCrewListResponse) GoString() string { return s.String() } func (s *RecognizeVideoCastCrewListResponse) SetHeaders(v map[string]*string) *RecognizeVideoCastCrewListResponse { s.Headers = v return s } func (s *RecognizeVideoCastCrewListResponse) SetStatusCode(v int32) *RecognizeVideoCastCrewListResponse { s.StatusCode = &v return s } func (s *RecognizeVideoCastCrewListResponse) SetBody(v *RecognizeVideoCastCrewListResponseBody) *RecognizeVideoCastCrewListResponse { s.Body = v return s } type SplitVideoPartsRequest struct { MaxTime *int32 `json:"MaxTime,omitempty" xml:"MaxTime,omitempty"` MinTime *int32 `json:"MinTime,omitempty" xml:"MinTime,omitempty"` Template *string `json:"Template,omitempty" xml:"Template,omitempty"` // This parameter is required. // // example: // // https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/ocr/xxxx.mp4 VideoUrl *string `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s SplitVideoPartsRequest) String() string { return tea.Prettify(s) } func (s SplitVideoPartsRequest) GoString() string { return s.String() } func (s *SplitVideoPartsRequest) SetMaxTime(v int32) *SplitVideoPartsRequest { s.MaxTime = &v return s } func (s *SplitVideoPartsRequest) SetMinTime(v int32) *SplitVideoPartsRequest { s.MinTime = &v return s } func (s *SplitVideoPartsRequest) SetTemplate(v string) *SplitVideoPartsRequest { s.Template = &v return s } func (s *SplitVideoPartsRequest) SetVideoUrl(v string) *SplitVideoPartsRequest { s.VideoUrl = &v return s } type SplitVideoPartsAdvanceRequest struct { MaxTime *int32 `json:"MaxTime,omitempty" xml:"MaxTime,omitempty"` MinTime *int32 `json:"MinTime,omitempty" xml:"MinTime,omitempty"` Template *string `json:"Template,omitempty" xml:"Template,omitempty"` // This parameter is required. // // example: // // https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/ocr/xxxx.mp4 VideoUrlObject io.Reader `json:"VideoUrl,omitempty" xml:"VideoUrl,omitempty"` } func (s SplitVideoPartsAdvanceRequest) String() string { return tea.Prettify(s) } func (s SplitVideoPartsAdvanceRequest) GoString() string { return s.String() } func (s *SplitVideoPartsAdvanceRequest) SetMaxTime(v int32) *SplitVideoPartsAdvanceRequest { s.MaxTime = &v return s } func (s *SplitVideoPartsAdvanceRequest) SetMinTime(v int32) *SplitVideoPartsAdvanceRequest { s.MinTime = &v return s } func (s *SplitVideoPartsAdvanceRequest) SetTemplate(v string) *SplitVideoPartsAdvanceRequest { s.Template = &v return s } func (s *SplitVideoPartsAdvanceRequest) SetVideoUrlObject(v io.Reader) *SplitVideoPartsAdvanceRequest { s.VideoUrlObject = v return s } type SplitVideoPartsResponseBody struct { Data *SplitVideoPartsResponseBodyData `json:"Data,omitempty" xml:"Data,omitempty" type:"Struct"` Message *string `json:"Message,omitempty" xml:"Message,omitempty"` // example: // // A00A3C17-61D5-1489-860D-B709F83A7C40 RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty"` } func (s SplitVideoPartsResponseBody) String() string { return tea.Prettify(s) } func (s SplitVideoPartsResponseBody) GoString() string { return s.String() } func (s *SplitVideoPartsResponseBody) SetData(v *SplitVideoPartsResponseBodyData) *SplitVideoPartsResponseBody { s.Data = v return s } func (s *SplitVideoPartsResponseBody) SetMessage(v string) *SplitVideoPartsResponseBody { s.Message = &v return s } func (s *SplitVideoPartsResponseBody) SetRequestId(v string) *SplitVideoPartsResponseBody { s.RequestId = &v return s } type SplitVideoPartsResponseBodyData struct { Elements []*SplitVideoPartsResponseBodyDataElements `json:"Elements,omitempty" xml:"Elements,omitempty" type:"Repeated"` SplitVideoPartResults []*SplitVideoPartsResponseBodyDataSplitVideoPartResults `json:"SplitVideoPartResults,omitempty" xml:"SplitVideoPartResults,omitempty" type:"Repeated"` } func (s SplitVideoPartsResponseBodyData) String() string { return tea.Prettify(s) } func (s SplitVideoPartsResponseBodyData) GoString() string { return s.String() } func (s *SplitVideoPartsResponseBodyData) SetElements(v []*SplitVideoPartsResponseBodyDataElements) *SplitVideoPartsResponseBodyData { s.Elements = v return s } func (s *SplitVideoPartsResponseBodyData) SetSplitVideoPartResults(v []*SplitVideoPartsResponseBodyDataSplitVideoPartResults) *SplitVideoPartsResponseBodyData { s.SplitVideoPartResults = v return s } type SplitVideoPartsResponseBodyDataElements struct { // example: // // 10.06 BeginTime *float32 `json:"BeginTime,omitempty" xml:"BeginTime,omitempty"` // example: // // 17.3 EndTime *float32 `json:"EndTime,omitempty" xml:"EndTime,omitempty"` // example: // // 1 Index *int64 `json:"Index,omitempty" xml:"Index,omitempty"` } func (s SplitVideoPartsResponseBodyDataElements) String() string { return tea.Prettify(s) } func (s SplitVideoPartsResponseBodyDataElements) GoString() string { return s.String() } func (s *SplitVideoPartsResponseBodyDataElements) SetBeginTime(v float32) *SplitVideoPartsResponseBodyDataElements { s.BeginTime = &v return s } func (s *SplitVideoPartsResponseBodyDataElements) SetEndTime(v float32) *SplitVideoPartsResponseBodyDataElements { s.EndTime = &v return s } func (s *SplitVideoPartsResponseBodyDataElements) SetIndex(v int64) *SplitVideoPartsResponseBodyDataElements { s.Index = &v return s } type SplitVideoPartsResponseBodyDataSplitVideoPartResults struct { BeginTime *float32 `json:"BeginTime,omitempty" xml:"BeginTime,omitempty"` By *string `json:"By,omitempty" xml:"By,omitempty"` EndTime *float32 `json:"EndTime,omitempty" xml:"EndTime,omitempty"` Theme *string `json:"Theme,omitempty" xml:"Theme,omitempty"` Type *string `json:"Type,omitempty" xml:"Type,omitempty"` } func (s SplitVideoPartsResponseBodyDataSplitVideoPartResults) String() string { return tea.Prettify(s) } func (s SplitVideoPartsResponseBodyDataSplitVideoPartResults) GoString() string { return s.String() } func (s *SplitVideoPartsResponseBodyDataSplitVideoPartResults) SetBeginTime(v float32) *SplitVideoPartsResponseBodyDataSplitVideoPartResults { s.BeginTime = &v return s } func (s *SplitVideoPartsResponseBodyDataSplitVideoPartResults) SetBy(v string) *SplitVideoPartsResponseBodyDataSplitVideoPartResults { s.By = &v return s } func (s *SplitVideoPartsResponseBodyDataSplitVideoPartResults) SetEndTime(v float32) *SplitVideoPartsResponseBodyDataSplitVideoPartResults { s.EndTime = &v return s } func (s *SplitVideoPartsResponseBodyDataSplitVideoPartResults) SetTheme(v string) *SplitVideoPartsResponseBodyDataSplitVideoPartResults { s.Theme = &v return s } func (s *SplitVideoPartsResponseBodyDataSplitVideoPartResults) SetType(v string) *SplitVideoPartsResponseBodyDataSplitVideoPartResults { s.Type = &v return s } type SplitVideoPartsResponse struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` StatusCode *int32 `json:"statusCode,omitempty" xml:"statusCode,omitempty"` Body *SplitVideoPartsResponseBody `json:"body,omitempty" xml:"body,omitempty"` } func (s SplitVideoPartsResponse) String() string { return tea.Prettify(s) } func (s SplitVideoPartsResponse) GoString() string { return s.String() } func (s *SplitVideoPartsResponse) SetHeaders(v map[string]*string) *SplitVideoPartsResponse { s.Headers = v return s } func (s *SplitVideoPartsResponse) SetStatusCode(v int32) *SplitVideoPartsResponse { s.StatusCode = &v return s } func (s *SplitVideoPartsResponse) SetBody(v *SplitVideoPartsResponseBody) *SplitVideoPartsResponse { s.Body = v return s } type UnderstandVideoContentRequest struct { // This parameter is required. // // example: // // http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videorecog/UnderstandVideoContent/UnderstandVideoContent1.mp4 VideoURL *string `json:"VideoURL,omitempty" xml:"VideoURL,omitempty"` } func (s UnderstandVideoContentRequest) String() string { return tea.Prettify(s) } func (s UnderstandVideoContentRequest) GoString() string { return s.String() } func (s *UnderstandVideoContentRequest) SetVideoURL(v string) *UnderstandVideoContentRequest { s.VideoURL = &v return s } type UnderstandVideoContentAdvanceRequest struct { // This parameter is required. // // example: // // http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videorecog/UnderstandVideoContent/UnderstandVideoContent1.mp4 VideoURLObject io.Reader `json:"VideoURL,omitempty" xml:"VideoURL,omitempty"` } func (s UnderstandVideoContentAdvanceRequest) String() string { return tea.Prettify(s) } func (s UnderstandVideoContentAdvanceRequest) GoString() string { return s.String() } func (s *UnderstandVideoContentAdvanceRequest) SetVideoURLObject(v io.Reader) *UnderstandVideoContentAdvanceRequest { s.VideoURLObject = v return s } type UnderstandVideoContentResponseBody struct { Data *UnderstandVideoContentResponseBodyData `json:"Data,omitempty" xml:"Data,omitempty" type:"Struct"` Message *string `json:"Message,omitempty" xml:"Message,omitempty"` // example: // // 71EC3F13-F0CA-4558-AC7F-A351106F59F2 RequestId *string `json:"RequestId,omitempty" xml:"RequestId,omitempty"` } func (s UnderstandVideoContentResponseBody) String() string { return tea.Prettify(s) } func (s UnderstandVideoContentResponseBody) GoString() string { return s.String() } func (s *UnderstandVideoContentResponseBody) SetData(v *UnderstandVideoContentResponseBodyData) *UnderstandVideoContentResponseBody { s.Data = v return s } func (s *UnderstandVideoContentResponseBody) SetMessage(v string) *UnderstandVideoContentResponseBody { s.Message = &v return s } func (s *UnderstandVideoContentResponseBody) SetRequestId(v string) *UnderstandVideoContentResponseBody { s.RequestId = &v return s } type UnderstandVideoContentResponseBodyData struct { TagInfo map[string]interface{} `json:"TagInfo,omitempty" xml:"TagInfo,omitempty"` VideoInfo *UnderstandVideoContentResponseBodyDataVideoInfo `json:"VideoInfo,omitempty" xml:"VideoInfo,omitempty" type:"Struct"` } func (s UnderstandVideoContentResponseBodyData) String() string { return tea.Prettify(s) } func (s UnderstandVideoContentResponseBodyData) GoString() string { return s.String() } func (s *UnderstandVideoContentResponseBodyData) SetTagInfo(v map[string]interface{}) *UnderstandVideoContentResponseBodyData { s.TagInfo = v return s } func (s *UnderstandVideoContentResponseBodyData) SetVideoInfo(v *UnderstandVideoContentResponseBodyDataVideoInfo) *UnderstandVideoContentResponseBodyData { s.VideoInfo = v return s } type UnderstandVideoContentResponseBodyDataVideoInfo struct { // example: // // 43380 Duration *int64 `json:"Duration,omitempty" xml:"Duration,omitempty"` // example: // // 25.0 Fps *float32 `json:"Fps,omitempty" xml:"Fps,omitempty"` // example: // // 1280 Height *int64 `json:"Height,omitempty" xml:"Height,omitempty"` // example: // // 720 Width *int64 `json:"Width,omitempty" xml:"Width,omitempty"` } func (s UnderstandVideoContentResponseBodyDataVideoInfo) String() string { return tea.Prettify(s) } func (s UnderstandVideoContentResponseBodyDataVideoInfo) GoString() string { return s.String() } func (s *UnderstandVideoContentResponseBodyDataVideoInfo) SetDuration(v int64) *UnderstandVideoContentResponseBodyDataVideoInfo { s.Duration = &v return s } func (s *UnderstandVideoContentResponseBodyDataVideoInfo) SetFps(v float32) *UnderstandVideoContentResponseBodyDataVideoInfo { s.Fps = &v return s } func (s *UnderstandVideoContentResponseBodyDataVideoInfo) SetHeight(v int64) *UnderstandVideoContentResponseBodyDataVideoInfo { s.Height = &v return s } func (s *UnderstandVideoContentResponseBodyDataVideoInfo) SetWidth(v int64) *UnderstandVideoContentResponseBodyDataVideoInfo { s.Width = &v return s } type UnderstandVideoContentResponse struct { Headers map[string]*string `json:"headers,omitempty" xml:"headers,omitempty"` StatusCode *int32 `json:"statusCode,omitempty" xml:"statusCode,omitempty"` Body *UnderstandVideoContentResponseBody `json:"body,omitempty" xml:"body,omitempty"` } func (s UnderstandVideoContentResponse) String() string { return tea.Prettify(s) } func (s UnderstandVideoContentResponse) GoString() string { return s.String() } func (s *UnderstandVideoContentResponse) SetHeaders(v map[string]*string) *UnderstandVideoContentResponse { s.Headers = v return s } func (s *UnderstandVideoContentResponse) SetStatusCode(v int32) *UnderstandVideoContentResponse { s.StatusCode = &v return s } func (s *UnderstandVideoContentResponse) SetBody(v *UnderstandVideoContentResponseBody) *UnderstandVideoContentResponse { s.Body = v return s } type Client struct { openapi.Client } func NewClient(config *openapi.Config) (*Client, error) { client := new(Client) err := client.Init(config) return client, err } func (client *Client) Init(config *openapi.Config) (_err error) { _err = client.Client.Init(config) if _err != nil { return _err } client.EndpointRule = tea.String("regional") _err = client.CheckConfig(config) if _err != nil { return _err } client.Endpoint, _err = client.GetEndpoint(tea.String("videorecog"), client.RegionId, client.EndpointRule, client.Network, client.Suffix, client.EndpointMap, client.Endpoint) if _err != nil { return _err } return nil } func (client *Client) GetEndpoint(productId *string, regionId *string, endpointRule *string, network *string, suffix *string, endpointMap map[string]*string, endpoint *string) (_result *string, _err error) { if !tea.BoolValue(util.Empty(endpoint)) { _result = endpoint return _result, _err } if !tea.BoolValue(util.IsUnset(endpointMap)) && !tea.BoolValue(util.Empty(endpointMap[tea.StringValue(regionId)])) { _result = endpointMap[tea.StringValue(regionId)] return _result, _err } _body, _err := endpointutil.GetEndpointRules(productId, regionId, endpointRule, network, suffix) if _err != nil { return _result, _err } _result = _body return _result, _err } // @param request - DetectVideoShotRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return DetectVideoShotResponse func (client *Client) DetectVideoShotWithOptions(request *DetectVideoShotRequest, runtime *util.RuntimeOptions) (_result *DetectVideoShotResponse, _err error) { _err = util.ValidateModel(request) if _err != nil { return _result, _err } body := map[string]interface{}{} if !tea.BoolValue(util.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl } req := &openapi.OpenApiRequest{ Body: openapiutil.ParseToMap(body), } params := &openapi.Params{ Action: tea.String("DetectVideoShot"), Version: tea.String("2020-03-20"), Protocol: tea.String("HTTPS"), Pathname: tea.String("/"), Method: tea.String("POST"), AuthType: tea.String("AK"), Style: tea.String("RPC"), ReqBodyType: tea.String("formData"), BodyType: tea.String("json"), } _result = &DetectVideoShotResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } // @param request - DetectVideoShotRequest // // @return DetectVideoShotResponse func (client *Client) DetectVideoShot(request *DetectVideoShotRequest) (_result *DetectVideoShotResponse, _err error) { runtime := &util.RuntimeOptions{} _result = &DetectVideoShotResponse{} _body, _err := client.DetectVideoShotWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } func (client *Client) DetectVideoShotAdvance(request *DetectVideoShotAdvanceRequest, runtime *util.RuntimeOptions) (_result *DetectVideoShotResponse, _err error) { // Step 0: init client accessKeyId, _err := client.Credential.GetAccessKeyId() if _err != nil { return _result, _err } accessKeySecret, _err := client.Credential.GetAccessKeySecret() if _err != nil { return _result, _err } securityToken, _err := client.Credential.GetSecurityToken() if _err != nil { return _result, _err } credentialType := client.Credential.GetType() openPlatformEndpoint := client.OpenPlatformEndpoint if tea.BoolValue(util.Empty(openPlatformEndpoint)) { openPlatformEndpoint = tea.String("openplatform.aliyuncs.com") } if tea.BoolValue(util.IsUnset(credentialType)) { credentialType = tea.String("access_key") } authConfig := &openapi.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, SecurityToken: securityToken, Type: credentialType, Endpoint: openPlatformEndpoint, Protocol: client.Protocol, RegionId: client.RegionId, } authClient, _err := openplatform.NewClient(authConfig) if _err != nil { return _result, _err } authRequest := &openplatform.AuthorizeFileUploadRequest{ Product: tea.String("videorecog"), RegionId: client.RegionId, } authResponse := &openplatform.AuthorizeFileUploadResponse{} ossConfig := &oss.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Type: tea.String("access_key"), Protocol: client.Protocol, RegionId: client.RegionId, } ossClient, _err := oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj := &fileform.FileField{} ossHeader := &oss.PostObjectRequestHeader{} uploadRequest := &oss.PostObjectRequest{} ossRuntime := &ossutil.RuntimeOptions{} openapiutil.Convert(runtime, ossRuntime) detectVideoShotReq := &DetectVideoShotRequest{} openapiutil.Convert(request, detectVideoShotReq) if !tea.BoolValue(util.IsUnset(request.VideoUrlObject)) { authResponse, _err = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime) if _err != nil { return _result, _err } ossConfig.AccessKeyId = authResponse.Body.AccessKeyId ossConfig.Endpoint = openapiutil.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, client.EndpointType) ossClient, _err = oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj = &fileform.FileField{ Filename: authResponse.Body.ObjectKey, Content: request.VideoUrlObject, ContentType: tea.String(""), } ossHeader = &oss.PostObjectRequestHeader{ AccessKeyId: authResponse.Body.AccessKeyId, Policy: authResponse.Body.EncodedPolicy, Signature: authResponse.Body.Signature, Key: authResponse.Body.ObjectKey, File: fileObj, SuccessActionStatus: tea.String("201"), } uploadRequest = &oss.PostObjectRequest{ BucketName: authResponse.Body.Bucket, Header: ossHeader, } _, _err = ossClient.PostObject(uploadRequest, ossRuntime) if _err != nil { return _result, _err } detectVideoShotReq.VideoUrl = tea.String("http://" + tea.StringValue(authResponse.Body.Bucket) + "." + tea.StringValue(authResponse.Body.Endpoint) + "/" + tea.StringValue(authResponse.Body.ObjectKey)) } detectVideoShotResp, _err := client.DetectVideoShotWithOptions(detectVideoShotReq, runtime) if _err != nil { return _result, _err } _result = detectVideoShotResp return _result, _err } // Summary: // // 视频质量评估 // // @param request - EvaluateVideoQualityRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return EvaluateVideoQualityResponse func (client *Client) EvaluateVideoQualityWithOptions(request *EvaluateVideoQualityRequest, runtime *util.RuntimeOptions) (_result *EvaluateVideoQualityResponse, _err error) { _err = util.ValidateModel(request) if _err != nil { return _result, _err } body := map[string]interface{}{} if !tea.BoolValue(util.IsUnset(request.Mode)) { body["Mode"] = request.Mode } if !tea.BoolValue(util.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl } req := &openapi.OpenApiRequest{ Body: openapiutil.ParseToMap(body), } params := &openapi.Params{ Action: tea.String("EvaluateVideoQuality"), Version: tea.String("2020-03-20"), Protocol: tea.String("HTTPS"), Pathname: tea.String("/"), Method: tea.String("POST"), AuthType: tea.String("AK"), Style: tea.String("RPC"), ReqBodyType: tea.String("formData"), BodyType: tea.String("json"), } _result = &EvaluateVideoQualityResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } // Summary: // // 视频质量评估 // // @param request - EvaluateVideoQualityRequest // // @return EvaluateVideoQualityResponse func (client *Client) EvaluateVideoQuality(request *EvaluateVideoQualityRequest) (_result *EvaluateVideoQualityResponse, _err error) { runtime := &util.RuntimeOptions{} _result = &EvaluateVideoQualityResponse{} _body, _err := client.EvaluateVideoQualityWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } func (client *Client) EvaluateVideoQualityAdvance(request *EvaluateVideoQualityAdvanceRequest, runtime *util.RuntimeOptions) (_result *EvaluateVideoQualityResponse, _err error) { // Step 0: init client accessKeyId, _err := client.Credential.GetAccessKeyId() if _err != nil { return _result, _err } accessKeySecret, _err := client.Credential.GetAccessKeySecret() if _err != nil { return _result, _err } securityToken, _err := client.Credential.GetSecurityToken() if _err != nil { return _result, _err } credentialType := client.Credential.GetType() openPlatformEndpoint := client.OpenPlatformEndpoint if tea.BoolValue(util.Empty(openPlatformEndpoint)) { openPlatformEndpoint = tea.String("openplatform.aliyuncs.com") } if tea.BoolValue(util.IsUnset(credentialType)) { credentialType = tea.String("access_key") } authConfig := &openapi.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, SecurityToken: securityToken, Type: credentialType, Endpoint: openPlatformEndpoint, Protocol: client.Protocol, RegionId: client.RegionId, } authClient, _err := openplatform.NewClient(authConfig) if _err != nil { return _result, _err } authRequest := &openplatform.AuthorizeFileUploadRequest{ Product: tea.String("videorecog"), RegionId: client.RegionId, } authResponse := &openplatform.AuthorizeFileUploadResponse{} ossConfig := &oss.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Type: tea.String("access_key"), Protocol: client.Protocol, RegionId: client.RegionId, } ossClient, _err := oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj := &fileform.FileField{} ossHeader := &oss.PostObjectRequestHeader{} uploadRequest := &oss.PostObjectRequest{} ossRuntime := &ossutil.RuntimeOptions{} openapiutil.Convert(runtime, ossRuntime) evaluateVideoQualityReq := &EvaluateVideoQualityRequest{} openapiutil.Convert(request, evaluateVideoQualityReq) if !tea.BoolValue(util.IsUnset(request.VideoUrlObject)) { authResponse, _err = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime) if _err != nil { return _result, _err } ossConfig.AccessKeyId = authResponse.Body.AccessKeyId ossConfig.Endpoint = openapiutil.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, client.EndpointType) ossClient, _err = oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj = &fileform.FileField{ Filename: authResponse.Body.ObjectKey, Content: request.VideoUrlObject, ContentType: tea.String(""), } ossHeader = &oss.PostObjectRequestHeader{ AccessKeyId: authResponse.Body.AccessKeyId, Policy: authResponse.Body.EncodedPolicy, Signature: authResponse.Body.Signature, Key: authResponse.Body.ObjectKey, File: fileObj, SuccessActionStatus: tea.String("201"), } uploadRequest = &oss.PostObjectRequest{ BucketName: authResponse.Body.Bucket, Header: ossHeader, } _, _err = ossClient.PostObject(uploadRequest, ossRuntime) if _err != nil { return _result, _err } evaluateVideoQualityReq.VideoUrl = tea.String("http://" + tea.StringValue(authResponse.Body.Bucket) + "." + tea.StringValue(authResponse.Body.Endpoint) + "/" + tea.StringValue(authResponse.Body.ObjectKey)) } evaluateVideoQualityResp, _err := client.EvaluateVideoQualityWithOptions(evaluateVideoQualityReq, runtime) if _err != nil { return _result, _err } _result = evaluateVideoQualityResp return _result, _err } // @param request - GenerateVideoCoverRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return GenerateVideoCoverResponse func (client *Client) GenerateVideoCoverWithOptions(request *GenerateVideoCoverRequest, runtime *util.RuntimeOptions) (_result *GenerateVideoCoverResponse, _err error) { _err = util.ValidateModel(request) if _err != nil { return _result, _err } body := map[string]interface{}{} if !tea.BoolValue(util.IsUnset(request.IsGif)) { body["IsGif"] = request.IsGif } if !tea.BoolValue(util.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl } req := &openapi.OpenApiRequest{ Body: openapiutil.ParseToMap(body), } params := &openapi.Params{ Action: tea.String("GenerateVideoCover"), Version: tea.String("2020-03-20"), Protocol: tea.String("HTTPS"), Pathname: tea.String("/"), Method: tea.String("POST"), AuthType: tea.String("AK"), Style: tea.String("RPC"), ReqBodyType: tea.String("formData"), BodyType: tea.String("json"), } _result = &GenerateVideoCoverResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } // @param request - GenerateVideoCoverRequest // // @return GenerateVideoCoverResponse func (client *Client) GenerateVideoCover(request *GenerateVideoCoverRequest) (_result *GenerateVideoCoverResponse, _err error) { runtime := &util.RuntimeOptions{} _result = &GenerateVideoCoverResponse{} _body, _err := client.GenerateVideoCoverWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } func (client *Client) GenerateVideoCoverAdvance(request *GenerateVideoCoverAdvanceRequest, runtime *util.RuntimeOptions) (_result *GenerateVideoCoverResponse, _err error) { // Step 0: init client accessKeyId, _err := client.Credential.GetAccessKeyId() if _err != nil { return _result, _err } accessKeySecret, _err := client.Credential.GetAccessKeySecret() if _err != nil { return _result, _err } securityToken, _err := client.Credential.GetSecurityToken() if _err != nil { return _result, _err } credentialType := client.Credential.GetType() openPlatformEndpoint := client.OpenPlatformEndpoint if tea.BoolValue(util.Empty(openPlatformEndpoint)) { openPlatformEndpoint = tea.String("openplatform.aliyuncs.com") } if tea.BoolValue(util.IsUnset(credentialType)) { credentialType = tea.String("access_key") } authConfig := &openapi.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, SecurityToken: securityToken, Type: credentialType, Endpoint: openPlatformEndpoint, Protocol: client.Protocol, RegionId: client.RegionId, } authClient, _err := openplatform.NewClient(authConfig) if _err != nil { return _result, _err } authRequest := &openplatform.AuthorizeFileUploadRequest{ Product: tea.String("videorecog"), RegionId: client.RegionId, } authResponse := &openplatform.AuthorizeFileUploadResponse{} ossConfig := &oss.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Type: tea.String("access_key"), Protocol: client.Protocol, RegionId: client.RegionId, } ossClient, _err := oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj := &fileform.FileField{} ossHeader := &oss.PostObjectRequestHeader{} uploadRequest := &oss.PostObjectRequest{} ossRuntime := &ossutil.RuntimeOptions{} openapiutil.Convert(runtime, ossRuntime) generateVideoCoverReq := &GenerateVideoCoverRequest{} openapiutil.Convert(request, generateVideoCoverReq) if !tea.BoolValue(util.IsUnset(request.VideoUrlObject)) { authResponse, _err = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime) if _err != nil { return _result, _err } ossConfig.AccessKeyId = authResponse.Body.AccessKeyId ossConfig.Endpoint = openapiutil.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, client.EndpointType) ossClient, _err = oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj = &fileform.FileField{ Filename: authResponse.Body.ObjectKey, Content: request.VideoUrlObject, ContentType: tea.String(""), } ossHeader = &oss.PostObjectRequestHeader{ AccessKeyId: authResponse.Body.AccessKeyId, Policy: authResponse.Body.EncodedPolicy, Signature: authResponse.Body.Signature, Key: authResponse.Body.ObjectKey, File: fileObj, SuccessActionStatus: tea.String("201"), } uploadRequest = &oss.PostObjectRequest{ BucketName: authResponse.Body.Bucket, Header: ossHeader, } _, _err = ossClient.PostObject(uploadRequest, ossRuntime) if _err != nil { return _result, _err } generateVideoCoverReq.VideoUrl = tea.String("http://" + tea.StringValue(authResponse.Body.Bucket) + "." + tea.StringValue(authResponse.Body.Endpoint) + "/" + tea.StringValue(authResponse.Body.ObjectKey)) } generateVideoCoverResp, _err := client.GenerateVideoCoverWithOptions(generateVideoCoverReq, runtime) if _err != nil { return _result, _err } _result = generateVideoCoverResp return _result, _err } // @param request - GetAsyncJobResultRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return GetAsyncJobResultResponse func (client *Client) GetAsyncJobResultWithOptions(request *GetAsyncJobResultRequest, runtime *util.RuntimeOptions) (_result *GetAsyncJobResultResponse, _err error) { _err = util.ValidateModel(request) if _err != nil { return _result, _err } body := map[string]interface{}{} if !tea.BoolValue(util.IsUnset(request.JobId)) { body["JobId"] = request.JobId } req := &openapi.OpenApiRequest{ Body: openapiutil.ParseToMap(body), } params := &openapi.Params{ Action: tea.String("GetAsyncJobResult"), Version: tea.String("2020-03-20"), Protocol: tea.String("HTTPS"), Pathname: tea.String("/"), Method: tea.String("POST"), AuthType: tea.String("AK"), Style: tea.String("RPC"), ReqBodyType: tea.String("formData"), BodyType: tea.String("json"), } _result = &GetAsyncJobResultResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } // @param request - GetAsyncJobResultRequest // // @return GetAsyncJobResultResponse func (client *Client) GetAsyncJobResult(request *GetAsyncJobResultRequest) (_result *GetAsyncJobResultResponse, _err error) { runtime := &util.RuntimeOptions{} _result = &GetAsyncJobResultResponse{} _body, _err := client.GetAsyncJobResultWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } // Summary: // // 视频OCR // // @param tmpReq - RecognizeVideoCastCrewListRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return RecognizeVideoCastCrewListResponse func (client *Client) RecognizeVideoCastCrewListWithOptions(tmpReq *RecognizeVideoCastCrewListRequest, runtime *util.RuntimeOptions) (_result *RecognizeVideoCastCrewListResponse, _err error) { _err = util.ValidateModel(tmpReq) if _err != nil { return _result, _err } request := &RecognizeVideoCastCrewListShrinkRequest{} openapiutil.Convert(tmpReq, request) if !tea.BoolValue(util.IsUnset(tmpReq.Params)) { request.ParamsShrink = openapiutil.ArrayToStringWithSpecifiedStyle(tmpReq.Params, tea.String("Params"), tea.String("json")) } body := map[string]interface{}{} if !tea.BoolValue(util.IsUnset(request.ParamsShrink)) { body["Params"] = request.ParamsShrink } if !tea.BoolValue(util.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl } req := &openapi.OpenApiRequest{ Body: openapiutil.ParseToMap(body), } params := &openapi.Params{ Action: tea.String("RecognizeVideoCastCrewList"), Version: tea.String("2020-03-20"), Protocol: tea.String("HTTPS"), Pathname: tea.String("/"), Method: tea.String("POST"), AuthType: tea.String("AK"), Style: tea.String("RPC"), ReqBodyType: tea.String("formData"), BodyType: tea.String("json"), } _result = &RecognizeVideoCastCrewListResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } // Summary: // // 视频OCR // // @param request - RecognizeVideoCastCrewListRequest // // @return RecognizeVideoCastCrewListResponse func (client *Client) RecognizeVideoCastCrewList(request *RecognizeVideoCastCrewListRequest) (_result *RecognizeVideoCastCrewListResponse, _err error) { runtime := &util.RuntimeOptions{} _result = &RecognizeVideoCastCrewListResponse{} _body, _err := client.RecognizeVideoCastCrewListWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } func (client *Client) RecognizeVideoCastCrewListAdvance(request *RecognizeVideoCastCrewListAdvanceRequest, runtime *util.RuntimeOptions) (_result *RecognizeVideoCastCrewListResponse, _err error) { // Step 0: init client accessKeyId, _err := client.Credential.GetAccessKeyId() if _err != nil { return _result, _err } accessKeySecret, _err := client.Credential.GetAccessKeySecret() if _err != nil { return _result, _err } securityToken, _err := client.Credential.GetSecurityToken() if _err != nil { return _result, _err } credentialType := client.Credential.GetType() openPlatformEndpoint := client.OpenPlatformEndpoint if tea.BoolValue(util.Empty(openPlatformEndpoint)) { openPlatformEndpoint = tea.String("openplatform.aliyuncs.com") } if tea.BoolValue(util.IsUnset(credentialType)) { credentialType = tea.String("access_key") } authConfig := &openapi.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, SecurityToken: securityToken, Type: credentialType, Endpoint: openPlatformEndpoint, Protocol: client.Protocol, RegionId: client.RegionId, } authClient, _err := openplatform.NewClient(authConfig) if _err != nil { return _result, _err } authRequest := &openplatform.AuthorizeFileUploadRequest{ Product: tea.String("videorecog"), RegionId: client.RegionId, } authResponse := &openplatform.AuthorizeFileUploadResponse{} ossConfig := &oss.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Type: tea.String("access_key"), Protocol: client.Protocol, RegionId: client.RegionId, } ossClient, _err := oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj := &fileform.FileField{} ossHeader := &oss.PostObjectRequestHeader{} uploadRequest := &oss.PostObjectRequest{} ossRuntime := &ossutil.RuntimeOptions{} openapiutil.Convert(runtime, ossRuntime) recognizeVideoCastCrewListReq := &RecognizeVideoCastCrewListRequest{} openapiutil.Convert(request, recognizeVideoCastCrewListReq) if !tea.BoolValue(util.IsUnset(request.VideoUrlObject)) { authResponse, _err = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime) if _err != nil { return _result, _err } ossConfig.AccessKeyId = authResponse.Body.AccessKeyId ossConfig.Endpoint = openapiutil.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, client.EndpointType) ossClient, _err = oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj = &fileform.FileField{ Filename: authResponse.Body.ObjectKey, Content: request.VideoUrlObject, ContentType: tea.String(""), } ossHeader = &oss.PostObjectRequestHeader{ AccessKeyId: authResponse.Body.AccessKeyId, Policy: authResponse.Body.EncodedPolicy, Signature: authResponse.Body.Signature, Key: authResponse.Body.ObjectKey, File: fileObj, SuccessActionStatus: tea.String("201"), } uploadRequest = &oss.PostObjectRequest{ BucketName: authResponse.Body.Bucket, Header: ossHeader, } _, _err = ossClient.PostObject(uploadRequest, ossRuntime) if _err != nil { return _result, _err } recognizeVideoCastCrewListReq.VideoUrl = tea.String("http://" + tea.StringValue(authResponse.Body.Bucket) + "." + tea.StringValue(authResponse.Body.Endpoint) + "/" + tea.StringValue(authResponse.Body.ObjectKey)) } recognizeVideoCastCrewListResp, _err := client.RecognizeVideoCastCrewListWithOptions(recognizeVideoCastCrewListReq, runtime) if _err != nil { return _result, _err } _result = recognizeVideoCastCrewListResp return _result, _err } // Summary: // // 视频拆条 // // @param request - SplitVideoPartsRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return SplitVideoPartsResponse func (client *Client) SplitVideoPartsWithOptions(request *SplitVideoPartsRequest, runtime *util.RuntimeOptions) (_result *SplitVideoPartsResponse, _err error) { _err = util.ValidateModel(request) if _err != nil { return _result, _err } body := map[string]interface{}{} if !tea.BoolValue(util.IsUnset(request.MaxTime)) { body["MaxTime"] = request.MaxTime } if !tea.BoolValue(util.IsUnset(request.MinTime)) { body["MinTime"] = request.MinTime } if !tea.BoolValue(util.IsUnset(request.Template)) { body["Template"] = request.Template } if !tea.BoolValue(util.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl } req := &openapi.OpenApiRequest{ Body: openapiutil.ParseToMap(body), } params := &openapi.Params{ Action: tea.String("SplitVideoParts"), Version: tea.String("2020-03-20"), Protocol: tea.String("HTTPS"), Pathname: tea.String("/"), Method: tea.String("POST"), AuthType: tea.String("AK"), Style: tea.String("RPC"), ReqBodyType: tea.String("formData"), BodyType: tea.String("json"), } _result = &SplitVideoPartsResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } // Summary: // // 视频拆条 // // @param request - SplitVideoPartsRequest // // @return SplitVideoPartsResponse func (client *Client) SplitVideoParts(request *SplitVideoPartsRequest) (_result *SplitVideoPartsResponse, _err error) { runtime := &util.RuntimeOptions{} _result = &SplitVideoPartsResponse{} _body, _err := client.SplitVideoPartsWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } func (client *Client) SplitVideoPartsAdvance(request *SplitVideoPartsAdvanceRequest, runtime *util.RuntimeOptions) (_result *SplitVideoPartsResponse, _err error) { // Step 0: init client accessKeyId, _err := client.Credential.GetAccessKeyId() if _err != nil { return _result, _err } accessKeySecret, _err := client.Credential.GetAccessKeySecret() if _err != nil { return _result, _err } securityToken, _err := client.Credential.GetSecurityToken() if _err != nil { return _result, _err } credentialType := client.Credential.GetType() openPlatformEndpoint := client.OpenPlatformEndpoint if tea.BoolValue(util.Empty(openPlatformEndpoint)) { openPlatformEndpoint = tea.String("openplatform.aliyuncs.com") } if tea.BoolValue(util.IsUnset(credentialType)) { credentialType = tea.String("access_key") } authConfig := &openapi.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, SecurityToken: securityToken, Type: credentialType, Endpoint: openPlatformEndpoint, Protocol: client.Protocol, RegionId: client.RegionId, } authClient, _err := openplatform.NewClient(authConfig) if _err != nil { return _result, _err } authRequest := &openplatform.AuthorizeFileUploadRequest{ Product: tea.String("videorecog"), RegionId: client.RegionId, } authResponse := &openplatform.AuthorizeFileUploadResponse{} ossConfig := &oss.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Type: tea.String("access_key"), Protocol: client.Protocol, RegionId: client.RegionId, } ossClient, _err := oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj := &fileform.FileField{} ossHeader := &oss.PostObjectRequestHeader{} uploadRequest := &oss.PostObjectRequest{} ossRuntime := &ossutil.RuntimeOptions{} openapiutil.Convert(runtime, ossRuntime) splitVideoPartsReq := &SplitVideoPartsRequest{} openapiutil.Convert(request, splitVideoPartsReq) if !tea.BoolValue(util.IsUnset(request.VideoUrlObject)) { authResponse, _err = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime) if _err != nil { return _result, _err } ossConfig.AccessKeyId = authResponse.Body.AccessKeyId ossConfig.Endpoint = openapiutil.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, client.EndpointType) ossClient, _err = oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj = &fileform.FileField{ Filename: authResponse.Body.ObjectKey, Content: request.VideoUrlObject, ContentType: tea.String(""), } ossHeader = &oss.PostObjectRequestHeader{ AccessKeyId: authResponse.Body.AccessKeyId, Policy: authResponse.Body.EncodedPolicy, Signature: authResponse.Body.Signature, Key: authResponse.Body.ObjectKey, File: fileObj, SuccessActionStatus: tea.String("201"), } uploadRequest = &oss.PostObjectRequest{ BucketName: authResponse.Body.Bucket, Header: ossHeader, } _, _err = ossClient.PostObject(uploadRequest, ossRuntime) if _err != nil { return _result, _err } splitVideoPartsReq.VideoUrl = tea.String("http://" + tea.StringValue(authResponse.Body.Bucket) + "." + tea.StringValue(authResponse.Body.Endpoint) + "/" + tea.StringValue(authResponse.Body.ObjectKey)) } splitVideoPartsResp, _err := client.SplitVideoPartsWithOptions(splitVideoPartsReq, runtime) if _err != nil { return _result, _err } _result = splitVideoPartsResp return _result, _err } // Summary: // // 视频内容理解 // // @param request - UnderstandVideoContentRequest // // @param runtime - runtime options for this request RuntimeOptions // // @return UnderstandVideoContentResponse func (client *Client) UnderstandVideoContentWithOptions(request *UnderstandVideoContentRequest, runtime *util.RuntimeOptions) (_result *UnderstandVideoContentResponse, _err error) { _err = util.ValidateModel(request) if _err != nil { return _result, _err } body := map[string]interface{}{} if !tea.BoolValue(util.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL } req := &openapi.OpenApiRequest{ Body: openapiutil.ParseToMap(body), } params := &openapi.Params{ Action: tea.String("UnderstandVideoContent"), Version: tea.String("2020-03-20"), Protocol: tea.String("HTTPS"), Pathname: tea.String("/"), Method: tea.String("POST"), AuthType: tea.String("AK"), Style: tea.String("RPC"), ReqBodyType: tea.String("formData"), BodyType: tea.String("json"), } _result = &UnderstandVideoContentResponse{} _body, _err := client.CallApi(params, req, runtime) if _err != nil { return _result, _err } _err = tea.Convert(_body, &_result) return _result, _err } // Summary: // // 视频内容理解 // // @param request - UnderstandVideoContentRequest // // @return UnderstandVideoContentResponse func (client *Client) UnderstandVideoContent(request *UnderstandVideoContentRequest) (_result *UnderstandVideoContentResponse, _err error) { runtime := &util.RuntimeOptions{} _result = &UnderstandVideoContentResponse{} _body, _err := client.UnderstandVideoContentWithOptions(request, runtime) if _err != nil { return _result, _err } _result = _body return _result, _err } func (client *Client) UnderstandVideoContentAdvance(request *UnderstandVideoContentAdvanceRequest, runtime *util.RuntimeOptions) (_result *UnderstandVideoContentResponse, _err error) { // Step 0: init client accessKeyId, _err := client.Credential.GetAccessKeyId() if _err != nil { return _result, _err } accessKeySecret, _err := client.Credential.GetAccessKeySecret() if _err != nil { return _result, _err } securityToken, _err := client.Credential.GetSecurityToken() if _err != nil { return _result, _err } credentialType := client.Credential.GetType() openPlatformEndpoint := client.OpenPlatformEndpoint if tea.BoolValue(util.Empty(openPlatformEndpoint)) { openPlatformEndpoint = tea.String("openplatform.aliyuncs.com") } if tea.BoolValue(util.IsUnset(credentialType)) { credentialType = tea.String("access_key") } authConfig := &openapi.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, SecurityToken: securityToken, Type: credentialType, Endpoint: openPlatformEndpoint, Protocol: client.Protocol, RegionId: client.RegionId, } authClient, _err := openplatform.NewClient(authConfig) if _err != nil { return _result, _err } authRequest := &openplatform.AuthorizeFileUploadRequest{ Product: tea.String("videorecog"), RegionId: client.RegionId, } authResponse := &openplatform.AuthorizeFileUploadResponse{} ossConfig := &oss.Config{ AccessKeyId: accessKeyId, AccessKeySecret: accessKeySecret, Type: tea.String("access_key"), Protocol: client.Protocol, RegionId: client.RegionId, } ossClient, _err := oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj := &fileform.FileField{} ossHeader := &oss.PostObjectRequestHeader{} uploadRequest := &oss.PostObjectRequest{} ossRuntime := &ossutil.RuntimeOptions{} openapiutil.Convert(runtime, ossRuntime) understandVideoContentReq := &UnderstandVideoContentRequest{} openapiutil.Convert(request, understandVideoContentReq) if !tea.BoolValue(util.IsUnset(request.VideoURLObject)) { authResponse, _err = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime) if _err != nil { return _result, _err } ossConfig.AccessKeyId = authResponse.Body.AccessKeyId ossConfig.Endpoint = openapiutil.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, client.EndpointType) ossClient, _err = oss.NewClient(ossConfig) if _err != nil { return _result, _err } fileObj = &fileform.FileField{ Filename: authResponse.Body.ObjectKey, Content: request.VideoURLObject, ContentType: tea.String(""), } ossHeader = &oss.PostObjectRequestHeader{ AccessKeyId: authResponse.Body.AccessKeyId, Policy: authResponse.Body.EncodedPolicy, Signature: authResponse.Body.Signature, Key: authResponse.Body.ObjectKey, File: fileObj, SuccessActionStatus: tea.String("201"), } uploadRequest = &oss.PostObjectRequest{ BucketName: authResponse.Body.Bucket, Header: ossHeader, } _, _err = ossClient.PostObject(uploadRequest, ossRuntime) if _err != nil { return _result, _err } understandVideoContentReq.VideoURL = tea.String("http://" + tea.StringValue(authResponse.Body.Bucket) + "." + tea.StringValue(authResponse.Body.Endpoint) + "/" + tea.StringValue(authResponse.Body.ObjectKey)) } understandVideoContentResp, _err := client.UnderstandVideoContentWithOptions(understandVideoContentReq, runtime) if _err != nil { return _result, _err } _result = understandVideoContentResp return _result, _err }