diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 7abd965db..8ff3d6a3e 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -31,6 +31,11 @@ google-cloud-video-intelligence 1.5.5 + + com.google.cloud + google-cloud-storage + 1.113.4 + com.google.cloud diff --git a/samples/snippets/src/main/java/com/example/video/Detect.java b/samples/snippets/src/main/java/video/Detect.java similarity index 74% rename from samples/snippets/src/main/java/com/example/video/Detect.java rename to samples/snippets/src/main/java/video/Detect.java index b917c1edb..40e08f536 100644 --- a/samples/snippets/src/main/java/com/example/video/Detect.java +++ b/samples/snippets/src/main/java/video/Detect.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; import com.google.api.gax.longrunning.OperationFuture; import com.google.cloud.videointelligence.v1.AnnotateVideoProgress; @@ -40,8 +40,6 @@ import java.nio.file.Paths; import java.util.concurrent.TimeUnit; - - public class Detect { /** * Detects labels, shots, and explicit content in a video using the Video Intelligence API @@ -61,7 +59,6 @@ public static void main(String[] args) { * Helper that handles the input passed to the program. * * @param args specifies features to detect and the path to the video on Google Cloud Storage. - * * @throws IOException on Input/Output errors. */ public static void argsHelper(String[] args) throws Exception { @@ -106,10 +103,11 @@ public static void analyzeLabels(String gcsUri) throws Exception { // Instantiate a com.google.cloud.videointelligence.v1.VideoIntelligenceServiceClient try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { // Provide path to file hosted on GCS as "gs://bucket-name/..." - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputUri(gcsUri) - .addFeatures(Feature.LABEL_DETECTION) - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputUri(gcsUri) + .addFeatures(Feature.LABEL_DETECTION) + .build(); // Create an operation that will contain the response when the operation completes. OperationFuture response = client.annotateVideoAsync(request); @@ -119,18 +117,19 @@ public static void analyzeLabels(String gcsUri) throws Exception { // process video / segment level label annotations System.out.println("Locations: "); for (LabelAnnotation labelAnnotation : results.getSegmentLabelAnnotationsList()) { - System.out - .println("Video label: " + labelAnnotation.getEntity().getDescription()); + System.out.println("Video label: " + labelAnnotation.getEntity().getDescription()); // categories for (Entity categoryEntity : labelAnnotation.getCategoryEntitiesList()) { System.out.println("Video label category: " + categoryEntity.getDescription()); } // segments for (LabelSegment segment : labelAnnotation.getSegmentsList()) { - double startTime = segment.getSegment().getStartTimeOffset().getSeconds() - + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; - double endTime = segment.getSegment().getEndTimeOffset().getSeconds() - + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; + double startTime = + segment.getSegment().getStartTimeOffset().getSeconds() + + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; + double endTime = + segment.getSegment().getEndTimeOffset().getSeconds() + + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; System.out.printf("Segment location: %.3f:%.3f\n", startTime, endTime); System.out.println("Confidence: " + segment.getConfidence()); } @@ -138,18 +137,19 @@ public static void analyzeLabels(String gcsUri) throws Exception { // process shot label annotations for (LabelAnnotation labelAnnotation : results.getShotLabelAnnotationsList()) { - System.out - .println("Shot label: " + labelAnnotation.getEntity().getDescription()); + System.out.println("Shot label: " + labelAnnotation.getEntity().getDescription()); // categories for (Entity categoryEntity : labelAnnotation.getCategoryEntitiesList()) { System.out.println("Shot label category: " + categoryEntity.getDescription()); } // segments for (LabelSegment segment : labelAnnotation.getSegmentsList()) { - double startTime = segment.getSegment().getStartTimeOffset().getSeconds() - + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; - double endTime = segment.getSegment().getEndTimeOffset().getSeconds() - + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; + double startTime = + segment.getSegment().getStartTimeOffset().getSeconds() + + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; + double endTime = + segment.getSegment().getEndTimeOffset().getSeconds() + + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; System.out.printf("Segment location: %.3f:%.3f\n", startTime, endTime); System.out.println("Confidence: " + segment.getConfidence()); } @@ -157,18 +157,19 @@ public static void analyzeLabels(String gcsUri) throws Exception { // process frame label annotations for (LabelAnnotation labelAnnotation : results.getFrameLabelAnnotationsList()) { - System.out - .println("Frame label: " + labelAnnotation.getEntity().getDescription()); + System.out.println("Frame label: " + labelAnnotation.getEntity().getDescription()); // categories for (Entity categoryEntity : labelAnnotation.getCategoryEntitiesList()) { System.out.println("Frame label category: " + categoryEntity.getDescription()); } // segments for (LabelSegment segment : labelAnnotation.getSegmentsList()) { - double startTime = segment.getSegment().getStartTimeOffset().getSeconds() - + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; - double endTime = segment.getSegment().getEndTimeOffset().getSeconds() - + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; + double startTime = + segment.getSegment().getStartTimeOffset().getSeconds() + + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; + double endTime = + segment.getSegment().getEndTimeOffset().getSeconds() + + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; System.out.printf("Segment location: %.3f:%.2f\n", startTime, endTime); System.out.println("Confidence: " + segment.getConfidence()); } @@ -191,10 +192,11 @@ public static void analyzeLabelsFile(String filePath) throws Exception { Path path = Paths.get(filePath); byte[] data = Files.readAllBytes(path); - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputContent(ByteString.copyFrom(data)) - .addFeatures(Feature.LABEL_DETECTION) - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputContent(ByteString.copyFrom(data)) + .addFeatures(Feature.LABEL_DETECTION) + .build(); // Create an operation that will contain the response when the operation completes. OperationFuture response = client.annotateVideoAsync(request); @@ -204,18 +206,19 @@ public static void analyzeLabelsFile(String filePath) throws Exception { // process video / segment level label annotations System.out.println("Locations: "); for (LabelAnnotation labelAnnotation : results.getSegmentLabelAnnotationsList()) { - System.out - .println("Video label: " + labelAnnotation.getEntity().getDescription()); + System.out.println("Video label: " + labelAnnotation.getEntity().getDescription()); // categories for (Entity categoryEntity : labelAnnotation.getCategoryEntitiesList()) { System.out.println("Video label category: " + categoryEntity.getDescription()); } // segments for (LabelSegment segment : labelAnnotation.getSegmentsList()) { - double startTime = segment.getSegment().getStartTimeOffset().getSeconds() - + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; - double endTime = segment.getSegment().getEndTimeOffset().getSeconds() - + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; + double startTime = + segment.getSegment().getStartTimeOffset().getSeconds() + + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; + double endTime = + segment.getSegment().getEndTimeOffset().getSeconds() + + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; System.out.printf("Segment location: %.3f:%.2f\n", startTime, endTime); System.out.println("Confidence: " + segment.getConfidence()); } @@ -223,18 +226,19 @@ public static void analyzeLabelsFile(String filePath) throws Exception { // process shot label annotations for (LabelAnnotation labelAnnotation : results.getShotLabelAnnotationsList()) { - System.out - .println("Shot label: " + labelAnnotation.getEntity().getDescription()); + System.out.println("Shot label: " + labelAnnotation.getEntity().getDescription()); // categories for (Entity categoryEntity : labelAnnotation.getCategoryEntitiesList()) { System.out.println("Shot label category: " + categoryEntity.getDescription()); } // segments for (LabelSegment segment : labelAnnotation.getSegmentsList()) { - double startTime = segment.getSegment().getStartTimeOffset().getSeconds() - + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; - double endTime = segment.getSegment().getEndTimeOffset().getSeconds() - + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; + double startTime = + segment.getSegment().getStartTimeOffset().getSeconds() + + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; + double endTime = + segment.getSegment().getEndTimeOffset().getSeconds() + + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; System.out.printf("Segment location: %.3f:%.2f\n", startTime, endTime); System.out.println("Confidence: " + segment.getConfidence()); } @@ -242,18 +246,19 @@ public static void analyzeLabelsFile(String filePath) throws Exception { // process frame label annotations for (LabelAnnotation labelAnnotation : results.getFrameLabelAnnotationsList()) { - System.out - .println("Frame label: " + labelAnnotation.getEntity().getDescription()); + System.out.println("Frame label: " + labelAnnotation.getEntity().getDescription()); // categories for (Entity categoryEntity : labelAnnotation.getCategoryEntitiesList()) { System.out.println("Frame label category: " + categoryEntity.getDescription()); } // segments for (LabelSegment segment : labelAnnotation.getSegmentsList()) { - double startTime = segment.getSegment().getStartTimeOffset().getSeconds() - + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; - double endTime = segment.getSegment().getEndTimeOffset().getSeconds() - + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; + double startTime = + segment.getSegment().getStartTimeOffset().getSeconds() + + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; + double endTime = + segment.getSegment().getEndTimeOffset().getSeconds() + + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; System.out.printf("Segment location: %.3f:%.2f\n", startTime, endTime); System.out.println("Confidence: " + segment.getConfidence()); } @@ -273,10 +278,11 @@ public static void analyzeShots(String gcsUri) throws Exception { // Instantiate a com.google.cloud.videointelligence.v1.VideoIntelligenceServiceClient try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { // Provide path to file hosted on GCS as "gs://bucket-name/..." - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputUri(gcsUri) - .addFeatures(Feature.SHOT_CHANGE_DETECTION) - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputUri(gcsUri) + .addFeatures(Feature.SHOT_CHANGE_DETECTION) + .build(); // Create an operation that will contain the response when the operation completes. OperationFuture response = @@ -288,10 +294,12 @@ public static void analyzeShots(String gcsUri) throws Exception { if (result.getShotAnnotationsCount() > 0) { System.out.println("Shots: "); for (VideoSegment segment : result.getShotAnnotationsList()) { - double startTime = segment.getStartTimeOffset().getSeconds() - + segment.getStartTimeOffset().getNanos() / 1e9; - double endTime = segment.getEndTimeOffset().getSeconds() - + segment.getEndTimeOffset().getNanos() / 1e9; + double startTime = + segment.getStartTimeOffset().getSeconds() + + segment.getStartTimeOffset().getNanos() / 1e9; + double endTime = + segment.getEndTimeOffset().getSeconds() + + segment.getEndTimeOffset().getNanos() / 1e9; System.out.printf("Location: %.3f:%.3f\n", startTime, endTime); } } else { @@ -312,10 +320,11 @@ public static void analyzeExplicitContent(String gcsUri) throws Exception { // Instantiate a com.google.cloud.videointelligence.v1.VideoIntelligenceServiceClient try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { // Create an operation that will contain the response when the operation completes. - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputUri(gcsUri) - .addFeatures(Feature.EXPLICIT_CONTENT_DETECTION) - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputUri(gcsUri) + .addFeatures(Feature.EXPLICIT_CONTENT_DETECTION) + .build(); OperationFuture response = client.annotateVideoAsync(request); @@ -344,18 +353,18 @@ public static void speechTranscription(String gcsUri) throws Exception { // Instantiate a com.google.cloud.videointelligence.v1.VideoIntelligenceServiceClient try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { // Set the language code - SpeechTranscriptionConfig config = SpeechTranscriptionConfig.newBuilder() + SpeechTranscriptionConfig config = + SpeechTranscriptionConfig.newBuilder() .setLanguageCode("en-US") .setEnableAutomaticPunctuation(true) .build(); // Set the video context with the above configuration - VideoContext context = VideoContext.newBuilder() - .setSpeechTranscriptionConfig(config) - .build(); + VideoContext context = VideoContext.newBuilder().setSpeechTranscriptionConfig(config).build(); // Create the request - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() .setInputUri(gcsUri) .addFeatures(Feature.SPEECH_TRANSCRIPTION) .setVideoContext(context) @@ -363,12 +372,12 @@ public static void speechTranscription(String gcsUri) throws Exception { // asynchronously perform speech transcription on videos OperationFuture response = - client.annotateVideoAsync(request); + client.annotateVideoAsync(request); System.out.println("Waiting for operation to complete..."); // Display the results - for (VideoAnnotationResults results : response.get(600, TimeUnit.SECONDS) - .getAnnotationResultsList()) { + for (VideoAnnotationResults results : + response.get(600, TimeUnit.SECONDS).getAnnotationResultsList()) { for (SpeechTranscription speechTranscription : results.getSpeechTranscriptionsList()) { try { // Print the transcription @@ -380,12 +389,12 @@ public static void speechTranscription(String gcsUri) throws Exception { System.out.println("Word level information:"); for (WordInfo wordInfo : alternative.getWordsList()) { - double startTime = wordInfo.getStartTime().getSeconds() - + wordInfo.getStartTime().getNanos() / 1e9; - double endTime = wordInfo.getEndTime().getSeconds() - + wordInfo.getEndTime().getNanos() / 1e9; - System.out.printf("\t%4.2fs - %4.2fs: %s\n", - startTime, endTime, wordInfo.getWord()); + double startTime = + wordInfo.getStartTime().getSeconds() + wordInfo.getStartTime().getNanos() / 1e9; + double endTime = + wordInfo.getEndTime().getSeconds() + wordInfo.getEndTime().getNanos() / 1e9; + System.out.printf( + "\t%4.2fs - %4.2fs: %s\n", startTime, endTime, wordInfo.getWord()); } } else { System.out.println("No transcription found"); @@ -398,4 +407,4 @@ public static void speechTranscription(String gcsUri) throws Exception { } // [END video_speech_transcription_gcs] } -} \ No newline at end of file +} diff --git a/samples/snippets/src/main/java/beta/video/DetectPerson.java b/samples/snippets/src/main/java/video/DetectPerson.java similarity index 80% rename from samples/snippets/src/main/java/beta/video/DetectPerson.java rename to samples/snippets/src/main/java/video/DetectPerson.java index 296b97d7e..0e0160934 100644 --- a/samples/snippets/src/main/java/beta/video/DetectPerson.java +++ b/samples/snippets/src/main/java/video/DetectPerson.java @@ -14,25 +14,25 @@ * limitations under the License. */ -package beta.video; +package video; -// [START video_detect_person_beta] +// [START video_detect_person] import com.google.api.gax.longrunning.OperationFuture; -import com.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress; -import com.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest; -import com.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse; -import com.google.cloud.videointelligence.v1p3beta1.DetectedAttribute; -import com.google.cloud.videointelligence.v1p3beta1.DetectedLandmark; -import com.google.cloud.videointelligence.v1p3beta1.Feature; -import com.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation; -import com.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig; -import com.google.cloud.videointelligence.v1p3beta1.TimestampedObject; -import com.google.cloud.videointelligence.v1p3beta1.Track; -import com.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults; -import com.google.cloud.videointelligence.v1p3beta1.VideoContext; -import com.google.cloud.videointelligence.v1p3beta1.VideoIntelligenceServiceClient; -import com.google.cloud.videointelligence.v1p3beta1.VideoSegment; +import com.google.cloud.videointelligence.v1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1.AnnotateVideoResponse; +import com.google.cloud.videointelligence.v1.DetectedAttribute; +import com.google.cloud.videointelligence.v1.DetectedLandmark; +import com.google.cloud.videointelligence.v1.Feature; +import com.google.cloud.videointelligence.v1.PersonDetectionAnnotation; +import com.google.cloud.videointelligence.v1.PersonDetectionConfig; +import com.google.cloud.videointelligence.v1.TimestampedObject; +import com.google.cloud.videointelligence.v1.Track; +import com.google.cloud.videointelligence.v1.VideoAnnotationResults; +import com.google.cloud.videointelligence.v1.VideoContext; +import com.google.cloud.videointelligence.v1.VideoIntelligenceServiceClient; +import com.google.cloud.videointelligence.v1.VideoSegment; import com.google.protobuf.ByteString; import java.nio.file.Files; import java.nio.file.Path; @@ -118,4 +118,4 @@ public static void detectPerson(String localFilePath) throws Exception { } } } -// [END video_detect_person_beta] +// [END video_detect_person] diff --git a/samples/snippets/src/main/java/beta/video/DetectPersonGcs.java b/samples/snippets/src/main/java/video/DetectPersonGcs.java similarity index 78% rename from samples/snippets/src/main/java/beta/video/DetectPersonGcs.java rename to samples/snippets/src/main/java/video/DetectPersonGcs.java index 63f076cd2..c57a22140 100644 --- a/samples/snippets/src/main/java/beta/video/DetectPersonGcs.java +++ b/samples/snippets/src/main/java/video/DetectPersonGcs.java @@ -14,25 +14,25 @@ * limitations under the License. */ -package beta.video; +package video; -// [START video_detect_person_gcs_beta] +// [START video_detect_person_gcs] import com.google.api.gax.longrunning.OperationFuture; -import com.google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress; -import com.google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest; -import com.google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse; -import com.google.cloud.videointelligence.v1p3beta1.DetectedAttribute; -import com.google.cloud.videointelligence.v1p3beta1.DetectedLandmark; -import com.google.cloud.videointelligence.v1p3beta1.Feature; -import com.google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation; -import com.google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig; -import com.google.cloud.videointelligence.v1p3beta1.TimestampedObject; -import com.google.cloud.videointelligence.v1p3beta1.Track; -import com.google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults; -import com.google.cloud.videointelligence.v1p3beta1.VideoContext; -import com.google.cloud.videointelligence.v1p3beta1.VideoIntelligenceServiceClient; -import com.google.cloud.videointelligence.v1p3beta1.VideoSegment; +import com.google.cloud.videointelligence.v1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1.AnnotateVideoResponse; +import com.google.cloud.videointelligence.v1.DetectedAttribute; +import com.google.cloud.videointelligence.v1.DetectedLandmark; +import com.google.cloud.videointelligence.v1.Feature; +import com.google.cloud.videointelligence.v1.PersonDetectionAnnotation; +import com.google.cloud.videointelligence.v1.PersonDetectionConfig; +import com.google.cloud.videointelligence.v1.TimestampedObject; +import com.google.cloud.videointelligence.v1.Track; +import com.google.cloud.videointelligence.v1.VideoAnnotationResults; +import com.google.cloud.videointelligence.v1.VideoContext; +import com.google.cloud.videointelligence.v1.VideoIntelligenceServiceClient; +import com.google.cloud.videointelligence.v1.VideoSegment; public class DetectPersonGcs { @@ -110,4 +110,4 @@ public static void detectPersonGcs(String gcsUri) throws Exception { } } } -// [END video_detect_person_gcs_beta] +// [END video_detect_person_gcs] diff --git a/samples/snippets/src/main/java/com/example/video/LogoDetection.java b/samples/snippets/src/main/java/video/LogoDetection.java similarity index 99% rename from samples/snippets/src/main/java/com/example/video/LogoDetection.java rename to samples/snippets/src/main/java/video/LogoDetection.java index 09a8fed0a..4a110e4a3 100644 --- a/samples/snippets/src/main/java/com/example/video/LogoDetection.java +++ b/samples/snippets/src/main/java/video/LogoDetection.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; // [START video_detect_logo] diff --git a/samples/snippets/src/main/java/com/example/video/LogoDetectionGcs.java b/samples/snippets/src/main/java/video/LogoDetectionGcs.java similarity index 99% rename from samples/snippets/src/main/java/com/example/video/LogoDetectionGcs.java rename to samples/snippets/src/main/java/video/LogoDetectionGcs.java index ee054cfc6..714c308c5 100644 --- a/samples/snippets/src/main/java/com/example/video/LogoDetectionGcs.java +++ b/samples/snippets/src/main/java/video/LogoDetectionGcs.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; // [START video_detect_logo_gcs] diff --git a/samples/snippets/src/main/java/com/example/video/QuickstartSample.java b/samples/snippets/src/main/java/video/QuickstartSample.java similarity index 78% rename from samples/snippets/src/main/java/com/example/video/QuickstartSample.java rename to samples/snippets/src/main/java/video/QuickstartSample.java index 86c226371..9f0bd88f6 100644 --- a/samples/snippets/src/main/java/com/example/video/QuickstartSample.java +++ b/samples/snippets/src/main/java/video/QuickstartSample.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; // [START video_quickstart] @@ -32,9 +32,7 @@ public class QuickstartSample { - /** - * Demonstrates using the video intelligence client to detect labels in a video file. - */ + /** Demonstrates using the video intelligence client to detect labels in a video file. */ public static void main(String[] args) throws Exception { // Instantiate a video intelligence client try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { @@ -42,10 +40,11 @@ public static void main(String[] args) throws Exception { String gcsUri = "gs://cloud-samples-data/video/cat.mp4"; // Create an operation that will contain the response when the operation completes. - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputUri(gcsUri) - .addFeatures(Feature.LABEL_DETECTION) - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputUri(gcsUri) + .addFeatures(Feature.LABEL_DETECTION) + .build(); OperationFuture response = client.annotateVideoAsync(request); @@ -61,18 +60,20 @@ public static void main(String[] args) throws Exception { System.out.println("Labels:"); // get video segment label annotations for (LabelAnnotation annotation : result.getSegmentLabelAnnotationsList()) { - System.out - .println("Video label description : " + annotation.getEntity().getDescription()); + System.out.println( + "Video label description : " + annotation.getEntity().getDescription()); // categories for (Entity categoryEntity : annotation.getCategoryEntitiesList()) { System.out.println("Label Category description : " + categoryEntity.getDescription()); } // segments for (LabelSegment segment : annotation.getSegmentsList()) { - double startTime = segment.getSegment().getStartTimeOffset().getSeconds() - + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; - double endTime = segment.getSegment().getEndTimeOffset().getSeconds() - + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; + double startTime = + segment.getSegment().getStartTimeOffset().getSeconds() + + segment.getSegment().getStartTimeOffset().getNanos() / 1e9; + double endTime = + segment.getSegment().getEndTimeOffset().getSeconds() + + segment.getSegment().getEndTimeOffset().getNanos() / 1e9; System.out.printf("Segment location : %.3f:%.3f\n", startTime, endTime); System.out.println("Confidence : " + segment.getConfidence()); } diff --git a/samples/snippets/src/main/java/com/example/video/TextDetection.java b/samples/snippets/src/main/java/video/TextDetection.java similarity index 77% rename from samples/snippets/src/main/java/com/example/video/TextDetection.java rename to samples/snippets/src/main/java/video/TextDetection.java index ef5064184..aa8d1d929 100644 --- a/samples/snippets/src/main/java/com/example/video/TextDetection.java +++ b/samples/snippets/src/main/java/video/TextDetection.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; import com.google.api.gax.longrunning.OperationFuture; import com.google.cloud.videointelligence.v1.AnnotateVideoProgress; @@ -51,10 +51,11 @@ public static VideoAnnotationResults detectText(String filePath) throws Exceptio byte[] data = Files.readAllBytes(path); // Create the request - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputContent(ByteString.copyFrom(data)) - .addFeatures(Feature.TEXT_DETECTION) - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputContent(ByteString.copyFrom(data)) + .addFeatures(Feature.TEXT_DETECTION) + .build(); // asynchronously perform object tracking on videos OperationFuture future = @@ -77,25 +78,29 @@ public static VideoAnnotationResults detectText(String filePath) throws Exceptio Duration startTimeOffset = videoSegment.getStartTimeOffset(); Duration endTimeOffset = videoSegment.getEndTimeOffset(); // Display the offset times in seconds, 1e9 is part of the formula to convert nanos to seconds - System.out.println(String.format("Start time: %.2f", - startTimeOffset.getSeconds() + startTimeOffset.getNanos() / 1e9)); - System.out.println(String.format("End time: %.2f", - endTimeOffset.getSeconds() + endTimeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "Start time: %.2f", startTimeOffset.getSeconds() + startTimeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "End time: %.2f", endTimeOffset.getSeconds() + endTimeOffset.getNanos() / 1e9)); // Show the first result for the first frame in the segment. TextFrame textFrame = textSegment.getFrames(0); Duration timeOffset = textFrame.getTimeOffset(); - System.out.println(String.format("Time offset for the first frame: %.2f", - timeOffset.getSeconds() + timeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "Time offset for the first frame: %.2f", + timeOffset.getSeconds() + timeOffset.getNanos() / 1e9)); // Display the rotated bounding box for where the text is on the frame. System.out.println("Rotated Bounding Box Vertices:"); List vertices = textFrame.getRotatedBoundingBox().getVerticesList(); for (NormalizedVertex normalizedVertex : vertices) { - System.out.println(String.format( - "\tVertex.x: %.2f, Vertex.y: %.2f", - normalizedVertex.getX(), - normalizedVertex.getY())); + System.out.println( + String.format( + "\tVertex.x: %.2f, Vertex.y: %.2f", + normalizedVertex.getX(), normalizedVertex.getY())); } return results; } @@ -111,10 +116,11 @@ public static VideoAnnotationResults detectText(String filePath) throws Exceptio public static VideoAnnotationResults detectTextGcs(String gcsUri) throws Exception { try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { // Create the request - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputUri(gcsUri) - .addFeatures(Feature.TEXT_DETECTION) - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputUri(gcsUri) + .addFeatures(Feature.TEXT_DETECTION) + .build(); // asynchronously perform object tracking on videos OperationFuture future = @@ -137,25 +143,29 @@ public static VideoAnnotationResults detectTextGcs(String gcsUri) throws Excepti Duration startTimeOffset = videoSegment.getStartTimeOffset(); Duration endTimeOffset = videoSegment.getEndTimeOffset(); // Display the offset times in seconds, 1e9 is part of the formula to convert nanos to seconds - System.out.println(String.format("Start time: %.2f", - startTimeOffset.getSeconds() + startTimeOffset.getNanos() / 1e9)); - System.out.println(String.format("End time: %.2f", - endTimeOffset.getSeconds() + endTimeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "Start time: %.2f", startTimeOffset.getSeconds() + startTimeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "End time: %.2f", endTimeOffset.getSeconds() + endTimeOffset.getNanos() / 1e9)); // Show the first result for the first frame in the segment. TextFrame textFrame = textSegment.getFrames(0); Duration timeOffset = textFrame.getTimeOffset(); - System.out.println(String.format("Time offset for the first frame: %.2f", - timeOffset.getSeconds() + timeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "Time offset for the first frame: %.2f", + timeOffset.getSeconds() + timeOffset.getNanos() / 1e9)); // Display the rotated bounding box for where the text is on the frame. System.out.println("Rotated Bounding Box Vertices:"); List vertices = textFrame.getRotatedBoundingBox().getVerticesList(); for (NormalizedVertex normalizedVertex : vertices) { - System.out.println(String.format( - "\tVertex.x: %.2f, Vertex.y: %.2f", - normalizedVertex.getX(), - normalizedVertex.getY())); + System.out.println( + String.format( + "\tVertex.x: %.2f, Vertex.y: %.2f", + normalizedVertex.getX(), normalizedVertex.getY())); } return results; } diff --git a/samples/snippets/src/main/java/com/example/video/TrackObjects.java b/samples/snippets/src/main/java/video/TrackObjects.java similarity index 82% rename from samples/snippets/src/main/java/com/example/video/TrackObjects.java rename to samples/snippets/src/main/java/video/TrackObjects.java index eea1db6f2..29aa56136 100644 --- a/samples/snippets/src/main/java/com/example/video/TrackObjects.java +++ b/samples/snippets/src/main/java/video/TrackObjects.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; import com.google.api.gax.longrunning.OperationFuture; import com.google.cloud.videointelligence.v1.AnnotateVideoProgress; @@ -50,11 +50,12 @@ public static VideoAnnotationResults trackObjects(String filePath) throws Except byte[] data = Files.readAllBytes(path); // Create the request - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputContent(ByteString.copyFrom(data)) - .addFeatures(Feature.OBJECT_TRACKING) - .setLocationId("us-east1") - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputContent(ByteString.copyFrom(data)) + .addFeatures(Feature.OBJECT_TRACKING) + .setLocationId("us-east1") + .build(); // asynchronously perform object tracking on videos OperationFuture future = @@ -80,19 +81,21 @@ public static VideoAnnotationResults trackObjects(String filePath) throws Except Duration startTimeOffset = videoSegment.getStartTimeOffset(); Duration endTimeOffset = videoSegment.getEndTimeOffset(); // Display the segment time in seconds, 1e9 converts nanos to seconds - System.out.println(String.format( - "Segment: %.2fs to %.2fs", - startTimeOffset.getSeconds() + startTimeOffset.getNanos() / 1e9, - endTimeOffset.getSeconds() + endTimeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "Segment: %.2fs to %.2fs", + startTimeOffset.getSeconds() + startTimeOffset.getNanos() / 1e9, + endTimeOffset.getSeconds() + endTimeOffset.getNanos() / 1e9)); } // Here we print only the bounding box of the first frame in this segment. ObjectTrackingFrame frame = annotation.getFrames(0); // Display the offset time in seconds, 1e9 converts nanos to seconds Duration timeOffset = frame.getTimeOffset(); - System.out.println(String.format( - "Time offset of the first frame: %.2fs", - timeOffset.getSeconds() + timeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "Time offset of the first frame: %.2fs", + timeOffset.getSeconds() + timeOffset.getNanos() / 1e9)); // Display the bounding box of the detected object NormalizedBoundingBox normalizedBoundingBox = frame.getNormalizedBoundingBox(); @@ -115,11 +118,12 @@ public static VideoAnnotationResults trackObjects(String filePath) throws Except public static VideoAnnotationResults trackObjectsGcs(String gcsUri) throws Exception { try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { // Create the request - AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder() - .setInputUri(gcsUri) - .addFeatures(Feature.OBJECT_TRACKING) - .setLocationId("us-east1") - .build(); + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder() + .setInputUri(gcsUri) + .addFeatures(Feature.OBJECT_TRACKING) + .setLocationId("us-east1") + .build(); // asynchronously perform object tracking on videos OperationFuture future = @@ -145,19 +149,21 @@ public static VideoAnnotationResults trackObjectsGcs(String gcsUri) throws Excep Duration startTimeOffset = videoSegment.getStartTimeOffset(); Duration endTimeOffset = videoSegment.getEndTimeOffset(); // Display the segment time in seconds, 1e9 converts nanos to seconds - System.out.println(String.format( - "Segment: %.2fs to %.2fs", - startTimeOffset.getSeconds() + startTimeOffset.getNanos() / 1e9, - endTimeOffset.getSeconds() + endTimeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "Segment: %.2fs to %.2fs", + startTimeOffset.getSeconds() + startTimeOffset.getNanos() / 1e9, + endTimeOffset.getSeconds() + endTimeOffset.getNanos() / 1e9)); } // Here we print only the bounding box of the first frame in this segment. ObjectTrackingFrame frame = annotation.getFrames(0); // Display the offset time in seconds, 1e9 converts nanos to seconds Duration timeOffset = frame.getTimeOffset(); - System.out.println(String.format( - "Time offset of the first frame: %.2fs", - timeOffset.getSeconds() + timeOffset.getNanos() / 1e9)); + System.out.println( + String.format( + "Time offset of the first frame: %.2fs", + timeOffset.getSeconds() + timeOffset.getNanos() / 1e9)); // Display the bounding box of the detected object NormalizedBoundingBox normalizedBoundingBox = frame.getNormalizedBoundingBox(); diff --git a/samples/snippets/src/test/java/com/example/video/DetectIT.java b/samples/snippets/src/test/java/video/DetectIT.java similarity index 96% rename from samples/snippets/src/test/java/com/example/video/DetectIT.java rename to samples/snippets/src/test/java/video/DetectIT.java index 740612af6..7837cca4a 100644 --- a/samples/snippets/src/test/java/com/example/video/DetectIT.java +++ b/samples/snippets/src/test/java/video/DetectIT.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; import static com.google.common.truth.Truth.assertThat; @@ -27,9 +27,7 @@ import org.junit.runner.RunWith; import org.junit.runners.JUnit4; -/** - * Tests for video analysis sample. - */ +/** Tests for video analysis sample. */ @RunWith(JUnit4.class) @SuppressWarnings("checkstyle:abbreviationaswordinname") public class DetectIT { @@ -38,7 +36,7 @@ public class DetectIT { static final String SHOTS_FILE_LOCATION = "gs://cloud-samples-data/video/gbikes_dinosaur.mp4"; static final String EXPLICIT_CONTENT_LOCATION = "gs://cloud-samples-data/video/cat.mp4"; static final String SPEECH_GCS_LOCATION = - "gs://java-docs-samples-testing/video/googlework_short.mp4"; + "gs://java-docs-samples-testing/video/googlework_short.mp4"; private ByteArrayOutputStream bout; private PrintStream out; @@ -117,4 +115,4 @@ public void testTrackObjectsGcs() throws Exception { String got = bout.toString(); assertThat(got).contains("Entity id"); } -} \ No newline at end of file +} diff --git a/samples/snippets/src/test/java/com/example/video/DetectLogoGcsTest.java b/samples/snippets/src/test/java/video/DetectLogoGcsTest.java similarity index 98% rename from samples/snippets/src/test/java/com/example/video/DetectLogoGcsTest.java rename to samples/snippets/src/test/java/video/DetectLogoGcsTest.java index 5d5e55592..e1774aad6 100644 --- a/samples/snippets/src/test/java/com/example/video/DetectLogoGcsTest.java +++ b/samples/snippets/src/test/java/video/DetectLogoGcsTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; import static com.google.common.truth.Truth.assertThat; diff --git a/samples/snippets/src/test/java/com/example/video/DetectLogoTest.java b/samples/snippets/src/test/java/video/DetectLogoTest.java similarity index 98% rename from samples/snippets/src/test/java/com/example/video/DetectLogoTest.java rename to samples/snippets/src/test/java/video/DetectLogoTest.java index 55976bde1..0d91849bb 100644 --- a/samples/snippets/src/test/java/com/example/video/DetectLogoTest.java +++ b/samples/snippets/src/test/java/video/DetectLogoTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; import static com.google.common.truth.Truth.assertThat; diff --git a/samples/snippets/src/test/java/beta/video/DetectPersonGcsIT.java b/samples/snippets/src/test/java/video/DetectPersonGcsIT.java similarity index 98% rename from samples/snippets/src/test/java/beta/video/DetectPersonGcsIT.java rename to samples/snippets/src/test/java/video/DetectPersonGcsIT.java index f1e471951..1ffa8fe40 100644 --- a/samples/snippets/src/test/java/beta/video/DetectPersonGcsIT.java +++ b/samples/snippets/src/test/java/video/DetectPersonGcsIT.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package beta.video; +package video; import static com.google.common.truth.Truth.assertThat; diff --git a/samples/snippets/src/test/java/beta/video/DetectPersonIT.java b/samples/snippets/src/test/java/video/DetectPersonIT.java similarity index 98% rename from samples/snippets/src/test/java/beta/video/DetectPersonIT.java rename to samples/snippets/src/test/java/video/DetectPersonIT.java index 95845fb0b..12551afed 100644 --- a/samples/snippets/src/test/java/beta/video/DetectPersonIT.java +++ b/samples/snippets/src/test/java/video/DetectPersonIT.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package beta.video; +package video; import static com.google.common.truth.Truth.assertThat; diff --git a/samples/snippets/src/test/java/com/example/video/DetectTextTest.java b/samples/snippets/src/test/java/video/DetectTextTest.java similarity index 99% rename from samples/snippets/src/test/java/com/example/video/DetectTextTest.java rename to samples/snippets/src/test/java/video/DetectTextTest.java index 41e90c085..0bab2bedb 100644 --- a/samples/snippets/src/test/java/com/example/video/DetectTextTest.java +++ b/samples/snippets/src/test/java/video/DetectTextTest.java @@ -14,8 +14,7 @@ * limitations under the License. */ - -package com.example.video; +package video; import static com.google.common.truth.Truth.assertThat; diff --git a/samples/snippets/src/test/java/com/example/video/QuickstartIT.java b/samples/snippets/src/test/java/video/QuickstartIT.java similarity index 98% rename from samples/snippets/src/test/java/com/example/video/QuickstartIT.java rename to samples/snippets/src/test/java/video/QuickstartIT.java index ca8e91ac6..dcee28415 100644 --- a/samples/snippets/src/test/java/com/example/video/QuickstartIT.java +++ b/samples/snippets/src/test/java/video/QuickstartIT.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; import static com.google.common.truth.Truth.assertThat; diff --git a/samples/snippets/src/test/java/com/example/video/Retry.java b/samples/snippets/src/test/java/video/Retry.java similarity index 98% rename from samples/snippets/src/test/java/com/example/video/Retry.java rename to samples/snippets/src/test/java/video/Retry.java index 42f533934..85dd5843d 100644 --- a/samples/snippets/src/test/java/com/example/video/Retry.java +++ b/samples/snippets/src/test/java/video/Retry.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.example.video; +package video; import java.util.Objects; import org.junit.rules.TestRule; @@ -61,4 +61,4 @@ public void evaluate() throws Throwable { } }; } -} \ No newline at end of file +}