Skip to content

Video Analysis

Analyze videos by extracting frames and audio for comprehensive sentiment analysis.

Usage

async with Sentimatrix() as sm:
    result = await sm.analyze_video("review_video.mp4")

    print(f"Duration: {result.duration}s")
    print(f"Frames analyzed: {result.frame_count}")
    print(f"Overall sentiment: {result.sentiment.label}")
    print(f"Audio sentiment: {result.audio_sentiment.label}")
    print(f"Visual sentiment: {result.visual_sentiment.label}")

Supported Formats

  • MP4
  • AVI
  • MOV
  • WEBM
  • MKV

Frame Extraction Methods

Method Description Use Case
uniform Every N frames General
keyframe Key frames only Efficient
scene Scene changes Narrative
custom User-defined Specific timestamps

Configuration

result = await sm.analyze_video(
    "video.mp4",
    frame_method="uniform",
    frame_interval=5,      # Every 5 seconds
    analyze_audio=True,
    max_frames=20,
)

Fusion Strategies

# Late fusion (default)
result = await sm.analyze_video(video, fusion_strategy="late")

# Weighted fusion
result = await sm.analyze_video(
    video,
    fusion_strategy="weighted",
    weights={"audio": 0.6, "visual": 0.4}
)

# Dominant fusion
result = await sm.analyze_video(video, fusion_strategy="dominant")

Use Cases

  • Video testimonial analysis
  • YouTube content analysis
  • Product demo sentiment
  • Social media videos