Shot change analysis detects shot changes in a video.
This section demonstrates a few ways to analyze a video for shot changes.
Here is an example of performing video analysis for shot changes on a file located in Google Cloud Storage.
Looking for something more in-depth? Check out our detailed Python tutorial.
REST & CMD LINE
Send video annotation request
The following shows how to send a POST request to the videos:annotate
method.
The example uses the access token
for a service account set up for the project
using the Cloud SDK. For instructions on installing the
Cloud SDK, setting up a project with a service account, and obtaining
an access token, see the Video Intelligence API Quickstart.
Before using any of the request data below, make the following replacements:
- input-uri: a Cloud Storage bucket that contains
the file you want to annotate, including the file name. Must
start with
gs://
.
HTTP method and URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Request JSON body:
{ "inputUri": "input-uri", "features": ["SHOT_CHANGE_DETECTION"] }
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
If the response is successful, the Video Intelligence API returns thename
for your
operation. The above shows an example of such a response, where
project-name
is the name of your project and operation-id
is the ID of the
long running operation created for the request.
- project-number: the number of your project
- location-id: the Cloud region where annotation should take
place. Supported cloud regions are:
us-east1
,us-west1
,europe-west1
,asia-east1
. If no region is specified, a region will be determined based on video file location. - operation-id: the ID of the long running operation created
for the request and provided in the response when you started the
operation, for example
12345....
Get annotation results
To retrieve the result of the operation, make a GET request, using the
operation name returned from the call to videos:annotate
, as shown in
the following example.
Before using any of the request data below, make the following replacements:
- operation-name: the name of the operation as
returned by Video Intelligence API. The operation name has the format
projects/project-number/locations/location-id/operations/operation-id
HTTP method and URL:
GET https://videointelligence.googleapis.com/v1/operation-name
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
Shot detection annotations are returned as ashotAnnotations
list.
Note: The done field is only returned when its value is True.
It's not included in responses for which the operation has not completed.
Download annotation results
Copy the annotation from the source to the destination bucket: (see Copy files and objects)
gsutil cp gcs_uri gs://my-bucket
Note: If the output gcs uri is provided by the user, then the annotation is stored in that gcs uri.