from google.cloud import videointelligence import io import os def analyze_video(video_path): # Initialize the Video Intelligence client client = videointelligence.VideoIntelligenceServiceClient() # Open the video file with io.open(video_path, "rb") as file: input_content = file.read() # Configure the request (Label detection and Text detection) features = [videointelligence.Feature.LABEL_DETECTION, videointelligence.Feature.TEXT_DETECTION] # Make the request to the Video Intelligence API operation = client.annotate_video(request={"features": features, "input_content": input_content}) print("\nProcessing video for label detection and text detection...") # Wait for the operation to complete result = operation.result(timeout=600) # Process the results print("\nLabel annotations:") for i, annotation in enumerate(result.annotation_results[0].segment_label_annotations): print(f"Label {i+1}: {annotation.entity.description}") for segment in annotation.segments: print(f"\tStart time: {segment.segment.start_time_offset.seconds} seconds") print(f"\tEnd time: {segment.segment.end_time_offset.seconds} seconds") # Text detection print("\nText Detection:") for i, text_annotation in enumerate(result.annotation_results[0].text_annotations): print(f"Detected Text {i+1}: {text_annotation.text}") for segment in text_annotation.segments: start_time = segment.segment.start_time_offset.seconds + segment.segment.start_time_offset.microseconds / 1e6 end_time = segment.segment.end_time_offset.seconds + segment.segment.end_time_offset.microseconds / 1e6 print(f"\tAppears from {start_time:.2f} to {end_time:.2f} seconds") if __name__ == "__main__": os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/home/vladp/Projects/meetingUnderstanding/meetingunderstandingproject-221fb498c363.json' # Example usage (replace with your video file path) video_path = "temp_video.mp4" analyze_video(video_path)