Skip to content

Enhance AI detection with video frame analysis and expanded tool recognition#15

Merged
MatrixA merged 4 commits intomainfrom
MatrixA/video-analysis-insights
Mar 12, 2026
Merged

Enhance AI detection with video frame analysis and expanded tool recognition#15
MatrixA merged 4 commits intomainfrom
MatrixA/video-analysis-insights

Conversation

@MatrixA
Copy link
Owner

@MatrixA MatrixA commented Mar 12, 2026

Summary

This PR enhances AICheck's AI detection capabilities with three major improvements:

  1. Expanded AI tool recognition: Added 12 new AI tool patterns for images, videos, and audio
  2. Video frame watermark analysis: Extracts and analyzes video keyframes for watermark detection
  3. Creation software metadata: Displays legitimate creation tools (Remotion, FFmpeg, etc.) separately from AI signals

Test plan

  • cargo test — All 59 tests passing
  • cargo build --release — Compilation successful
  • Tested on promo video — correctly identifies FFmpeg/Remotion without false AI positives
  • Tested with --deep flag — video frame analysis executes properly
  • Verified 7-language support (en, zh-CN, de, es, hi, ja, ko)
  • JSON output includes new software_info field

Changes

src/known_tools.rs

  • Add patterns for: grok, gemini, jimeng, 即梦, luma, hailuo, 海螺, pixverse, genmo, haiper, hume, fish audio
  • Fix: 'udio.com' → 'udio' for better text matching

src/detector/mp4_metadata.rs

  • Expand SEI_MARKERS (1 → 10 entries): sora, runway, pika-labs, luma-ai, hailuo, pixverse, vidu-ai, genmo, haiper
  • Add detect_software() to identify creation tools (Remotion, FFmpeg, Premiere, After Effects, etc.)
  • Separate informational software detection from AI signals

src/detector/watermark.rs

  • Add detect_video() for video keyframe extraction and analysis
  • Extract 3 keyframes at 25%, 50%, 75% positions using ffmpeg
  • Add get_video_duration() helper

src/detector/mod.rs

  • Add software_info field to FileReport
  • Route video files to detect_video() instead of detect()
  • Call mp4_metadata::detect_software() to collect creation metadata

src/output.rs

  • Display software_info with cyan "INFO" label before signals
  • Format: INFO [label]: [value]

locales/*.yml (all 7 languages)

  • Add output_hint_check_original: Reminder to check original files (social media strips metadata)
  • Add signal_video_frame_watermark: Label for video frame watermark signals

Cargo.toml

  • Add tempfile dependency for video frame extraction

🤖 Generated with Claude Code

MatrixA and others added 4 commits March 12, 2026 13:53
…ysis, and software metadata

This commit improves AICheck's detection capabilities across three main areas:

1. **Expand AI tool recognition** (src/known_tools.rs):
   - Add 12 new AI tool patterns (grok, gemini, jimeng, 即梦, luma, hailuo, 海螺, pixverse, genmo, haiper, hume, fish audio)
   - Fix 'udio.com' → 'udio' for better text matching
   - Improves detection of AI-generated images, videos, and audio

2. **Video frame watermark analysis** (src/detector/watermark.rs):
   - Add detect_video() function to extract and analyze keyframes
   - Uses ffmpeg to extract 3 keyframes at 25%, 50%, 75% positions
   - Runs DWT-DCT analysis on video frames for watermark detection
   - Gracefully handles missing ffmpeg dependency

3. **Enhanced MP4 metadata detection** (src/detector/mp4_metadata.rs):
   - Expand SEI_MARKERS from 1 to 10 entries (sora, runway, pika-labs, luma-ai, hailuo, pixverse, vidu-ai, genmo, haiper)
   - Add detect_software() function to identify creation tools (Remotion, FFmpeg, Premiere, etc.)
   - Distinguish between AI signals and legitimate creation software

4. **Improved user experience**:
   - Add metadata stripping hint when no signals detected (7 languages)
   - Display creation software info in check output (e.g., "Made with Remotion 4.0.434")
   - Better information for analyzing videos from social media

All changes tested with 59/59 tests passing. Supports 7 languages (en, zh-CN, de, es, hi, ja, ko).

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…ware detection

- Update tool count from 51 to 61 across all 7 README languages
- Add new tools to AI tools table: Grok, Gemini, Jimeng, Luma, Hailuo, Pixverse, Genmo, Haiper, Hume, Fish Audio
- Document expanded SEI watermark markers (10 video AI tools) in MP4 detection method
- Document video frame watermark analysis via ffmpeg in invisible watermarks section
- Document creation software detection feature (FFmpeg, Remotion, Premiere, etc.)
- Add CHANGELOG entry for all new features

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove unnecessary & on format!() in SignalBuilder::param() call.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@MatrixA MatrixA merged commit 6fb8c71 into main Mar 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant