video-comparer

Warn

Audited by Runlayer on Feb 21, 2026

Risk Level: MEDIUM
Scan Summary
Max Score
78%
Files
8
Flagged
8
Chunks
13
Flagged Files (8)
.security-scan-passedHIGH
78.3%

Malicious tool definition detected

Tool: .security-scan-passed Description: Security scan passed

README.mdHIGH
78.3%

Malicious tool definition detected

Tool: README.md [1/2] Description: # Video Comparer A professional video comparison tool that analyzes compression quality and generates interactive HTML reports.

Tool: README.md [2/2] Description: report template ├── references/ │ ├── video_metrics.md # Quality metrics reference │ └── ffmpeg_commands.md # FFmpeg command examples └── scripts/ └── compare.py # Main comparison script (696 lines) ``` ### Code Organization - **compare.py**: Main script with all functionality - Input validation and security checks - FFmpeg integration and command execution - Video metadata extraction - Quality metrics calculation (PSNR, SSIM) - Frame extraction and processing

SKILL.mdHIGH
78.3%

Malicious tool definition detected

Tool: SKILL.md Description: --- name: video-comparer description: This skill should be used when comparing two videos to analyze compression results or quality differences.

assets/template.htmlHIGH
78.3%

Malicious tool definition detected

Tool: assets/template.html [1/2]

Tool: assets/template.html [2/2] Description: <div class="metric-value multiline">6.89 → 6.91<br>Mbps</div> <div class="metric-subtitle">+0.3%</div> </div> <div class="metric-card"> <h3>文件大小</h3> <div class="metric-value multiline">89 → 89.3<br>MB</div> <div class="metric-subtitle">+0.3 MB</div> </div> <div class="metric-card"> <h3>画质保留</h3> <div class="metric-value">87.3%</div> <div class="metric-subtitle">SSIM</div> </div> <div class="metric-card"> <h3>PSNR</h3> <div class="metric-value">23.37

references/configuration.mdHIGH
78.3%

Malicious tool definition detected

Tool: references/configuration.md Description: # Script Configuration Reference ## Contents - [Adjustable Constants](#adjustable-constants) - Modifying script behavior - [File Processing Limits](#file-processing-limits) - Size and timeout constraints - [Frame Extraction Settings](#frame-extraction-settings) - Visual comparison parameters - [Configuration Impact](#configuration-impact) - Performance and quality tradeoffs ## Adjustable Constants All configuration constants are defined at the top o

references/ffmpeg_commands.mdHIGH
78.3%

Malicious tool definition detected

Tool: references/ffmpeg_commands.md Description: # FFmpeg Commands Reference ## Contents - [Video Metadata Extraction](#video-metadata-extraction) - Getting video properties with ffprobe - [Frame Extraction](#frame-extraction) - Extracting frames at intervals - [Quality Metrics Calculation](#quality-metrics-calculation) - PSNR, SSIM, VMAF calculations - [Video Information](#video-information) - Duration, resolution, frame rate, bitrate, codec queries - [Image Processing](#image-processing) - Sca

references/video_metrics.mdHIGH
78.3%

Malicious tool definition detected

Tool: references/video_metrics.md Description: # Video Quality Metrics Reference ## Contents - [PSNR (Peak Signal-to-Noise Ratio)](#psnr-peak-signal-to-noise-ratio) - Pixel-level similarity measurement - [SSIM (Structural Similarity Index)](#ssim-structural-similarity-index) - Perceptual quality measurement - [VMAF (Video Multimethod Assessment Fusion)](#vmaf-video-multimethod-assessment-fusion) - Machine learning-based quality prediction - [File Size and Bitrate Considerations](#file-size-and-b

scripts/compare.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/compare.py [1/4] Description: #!/usr/bin/env python3 """ Video Comparison Tool Compare two videos (original vs compressed) and generate interactive HTML report.

Tool: scripts/compare.py [2/4] Description: efficiency args = [ 'ffmpeg', '-i', str(video1), '-i', str(video2), '-lavfi', '[0:v][1:v]psnr=stats_file=-;[0:v][1:v]ssim=stats_file=-', '-f', 'null', '-' ] output = run_ffmpeg_command( args, timeout=FFMPEG_TIMEOUT, description="Quality metrics calculation" ) # Parse PSNR from stderr (ffmpeg outputs to stderr) # Example: "PSNR mean:38.123456 min:35.123456 max:42.123456" psnr_match = re.search(r'PSNR.*?mean:([\d.]+)', output) psnr = float(psnr_match.gro

Tool: scripts/compare.py [3/4] Description: = original_metadata['bitrate'] / 1_000_000 comp_bitrate_mbps = compressed_metadata['bitrate'] / 1_000_000 orig_size_mb = original_metadata['size'] / (1024 * 1024) comp_size_mb = compressed_metadata['size'] / (1024 * 1024) bitrate_change_pct = ( (compressed_metadata['bitrate'] - original_metadata['bitrate']) / original_metadata['bitrate'] * 100 ) if original_metadata['bitrate'] > 0 else 0 psnr_val = quality_metrics['psnr'] ssim_val = quality_metrics['ss

Tool: scripts/compare.py [4/4] Description: file=sys.stderr) return 2 except IOError as e: logging.error(f"I/O error: {e}") print(f"

Audit Metadata
Max File Score
78%
Classification
UNKNOWN_SERVER
Files Scanned
8
Files Flagged
8
Chunks Analyzed
13
Analyzed
Feb 21, 2026, 09:20 AM
Security Audit — runlayer — video-comparer