Troubleshoot errors in Google video analysis
Properties widget keeps loading
The situation
After clicking ANALYZE, the Properties widget shows a progress bar but does not complete the analysis and show a result.
The video asset has a Google service transaction ID but Google service completion state remains "0.0".
There are no apparent errors in the server-0.0.log file.
The censhare Google Cloud AI service log shows a NULL result as last message:
INFO 19269 --- [ Thread-2] c.c.m.g.s.AbstractStorageAwareService : [<ID>][analyze] result json = null
The solution
Make sure that both server actions in the Google Module in the censhare Admin Client are configured correctly:
Analyze via Google Video Intelligence API
Status check via Google Video Intelligence API (automatic)
Make sure that the configuration of both server actions includes the correct server and port for the censhare Google Cloud AI service host.
The background
The NULL result message always appears in the logs. It takes some time to analyze the video in Google Cloud and a result is available for the requested Google transaction ID. The NULL result message is normal. However, when an automatic status check starts to request for pending analysis tasks, other log entries follow. Thus, if the NULL result message continues to be shown last in the log, this indicates that the service is not running correctly.
Invalid SSL certificate
The situation
After clicking ANALYZE, the Properties widget shows a progress bar but does not complete the analysis and show a result.
The video asset owns a Google service transaction ID but Google service completion state remains "0.0".
There are no apparent errors in the server-0.0.log file.
The censhare Google Cloud AI service log shows an error:
[uploadFile]: Cannot download file form host: <host>. Exception: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Verify the diagnosis
Disable the SSL validation in the configuration file of the service:
Go to /opt/censer/google-ai/ and edit application.yml.
Set censhare.microservices.google-ai.debug-disable-ssl-certificate-validation to true.
The solution
Review the validity of the certificate.
Check the HTTPS configuration between the censhare Server and the host server of the censhare Google Cloud AI service.
Null error from censhare Client (Java)
The situation
The following error pops up when a user executes the server action for the video analysis in the censhare Client. The message is also written into the server log:
Error: The following assets could not be processed: 15128 (null ) Description:nullError code:aa-failed
The solution
Check the configuration of host and port of the censhare Google Cloud AI service in /opt/censer/google-ai/application.yml.
Check the Host entry in the configuration for the manual server action for video analysis in the Google Module in the censhare Admin Client. The entry must correspond to the settings in application.yml.
Null error in server log
The situation
There is a null pointer exception in the server log:
WARNING: T041: AAGoogleVideoIntelligence.setup: CommandExecutor: master.20200608.061552.748[system]: failed to work on: <Asset name> [15402-v8-c0-tcn329-ccn330 java.lang.NullPointerException: null at modules.google.GoogleAiService.<init> (GoogleAiService.java:41)
The solution
Check the configuration for the server actions in the Google Module in the censhare Admin Client:
Analyze via Google Video Intelligence API
Status check via Google Video Intelligence API (automatic)
Google request ID does not exist
The situation
The Status check via Google Video Intelligence API (automatic) server action shows the following error in the server log if the Google request ID does not exist in the Google Cloud:
Google AI Video Intelligence Status Async:Response status code = 500(...) WARNING:
T044: AAGoogleVideoIntelligence.setup: CommandExecutor: <command>[system]:
failed to work on: <Asset name>org.apache.http.client.HttpResponseException:
cannot perform video_intelligence_async STATUS request at
modules.google.GoogleAiService.analyseVideoAsyncStatus(GoogleAiService.java...
The solution
First, check if the problem is the missing Google request ID:
Log into the censhare Client using Admin Mode.
Remove the following features in Features (internal) of the asset that is mentioned in the error message:
Google service transaction ID
Google service completion state
Start a new analysis.
If this is not the case/does not solve the problem, check if there is a problem with the video file. To do so, execute the analyze request via command line using the Google Cloud SDK:
Download and install Google Cloud SDK.
Go to the log of the censhare Google Cloud AI service and copy the storage URL of the video in Google Cloud Storage. The URL starts with gs:// .
Execute the command:
gcloud ml video detect-labels gs://<filepath in bucket>
Available options for gcloud:
detect-explicit-content: Detects explicit content in videos.
detect-labels: Detects general labels for videos.
detect-shot-changes: Detects shot changes in videos.
If none of the above solves the errors, check the configuration. See the instructions in the configuration for the censhare Google Cloud AI service.