Snis-896.mp4 -

def generate_video_features(video_path): # Call functions from above or integrate the code here metadata = extract_metadata(video_path) content_features = analyze_video_content(video_path) # Combine and return return {**metadata, **content_features}

import cv2 import numpy as np

def analyze_video_content(video_path): cap = cv2.VideoCapture(video_path) if not cap.isOpened(): return frame_count = 0 sum_b = 0 sum_g = 0 sum_r = 0 SNIS-896.mp4

import ffmpeg

while cap.isOpened(): ret, frame = cap.read() if not ret: break frame_count += 1 sum_b += np.mean(frame[:,:,0]) sum_g += np.mean(frame[:,:,1]) sum_r += np.mean(frame[:,:,2]) cap.release() avg_b = sum_b / frame_count avg_g = sum_g / frame_count avg_r = sum_r / frame_count 0]) sum_g += np.mean(frame[:

def extract_metadata(video_path): probe = ffmpeg.probe(video_path) video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None) width = int(video_stream['width']) height = int(video_stream['height']) duration = float(probe['format']['duration']) return { 'width': width, 'height': height, 'duration': duration, } 1]) sum_r += np.mean(frame[:

return { 'avg_color': (avg_r, avg_g, avg_b) }