This topic describes the VideoAnalysisComplete event, its notification content, and callback examples.
Event type
VideoAnalysisComplete
Event description
ApsaraVideo VOD analyzes audio and video source files after they are uploaded. This event is generated after the analysis is complete.
By default, ApsaraVideo VOD analyzes all uploaded audio and video files. The analysis is free of charge.
The analysis extracts basic metadata from the source files, such as duration, resolution (width and height), bitrate, and frame rate.
After the analysis, the metadata is added to the media asset library. You can call the GetMezzanineInfo operation to retrieve more metadata about the source file.
Event notification content
Parameter Name | Type | Required | Description |
EventTime | String | Yes | The time when the event is generated. The time is in UTC and follows the yyyy-MM-ddTHH:mm:ssZ format. |
EventType | String | Yes | The event type. This is a required parameter. The value is fixed to VideoAnalysisComplete. |
VideoId | String | Yes | The ID of the audio or video file. |
Status | String | Yes | Analysis status of the source file.
|
Width | Long | No | The width of the source file. This field is not returned for audio-only files. |
Height | Long | No | The height of the source file. This field is not returned for audio-only files. |
Duration | Float | No | The duration of the source file, in seconds. |
Bitrate | String | No | The bitrate of the source file, in Kbps. |
Fps | String | No | The frame rate of the source file, in frames per second. This field is not returned for audio-only files. |
Size | Long | No | The size of the source file, in bytes. |
ErrorCode | String | No | The error code for the job. This field is returned when an error occurs during the source file analysis. |
ErrorMessage | String | No | The error message for the job. This field is returned when an error occurs during the source file analysis. |
If Status is set to fail, the analysis has failed and the basic information of the source file is not returned. A failure is usually caused by an abnormal encapsulation of the source file.
Callback examples
Note the following about the callback examples:
For an HTTP callback, the following content is the HTTP POST body.
For an MNS callback, the following content is the message body.
Example of a successful analysis callback:
{
"VideoId":"84bd5b0566ddj39549986befd0e80****",
"Duration":"12",
"Height":"360",
"Width":"630",
"Fps":"30",
"Bitrate":"499",
"Size":"1234568",
"EventTime":"2018-11-28T10:12:48Z",
"EventType":"VideoAnalysisComplete",
"Status":"success"
}Example of a failed analysis callback:
{
"VideoId":"84bd5b0566ddj39549986befd0e80****",
"EventTime":"2018-11-28T10:12:48Z",
"EventType":"VideoAnalysisComplete",
"Status":"fail",
"ErrorCode":"InvalidParameter.ResourceContentBad",
"ErrorMessage":"The resource operated InputFile is bad"
}