Skip to content

Commit ef2c997

Browse files
committed
Major update: Performance optimization and comprehensive documentation
Performance & Production Improvements: - Fix goroutine leak in content analyzer (26 parallel analyzers now properly cleanup) - Fix race condition in rate limiter with proper mutex locking - Add graceful shutdown for rate limiter cleanup goroutine - Add TTL-based cleanup for batch job storage (prevents unbounded map growth) - Optimize string parsing with bufio.Scanner for memory efficiency Documentation: - Add comprehensive Developer Guide (21KB) - project structure, architecture, testing - Add User Manual (26KB) - CLI reference, API guide, QC categories explained - Add Architecture documentation (20KB) - system design, component diagrams - Update README with organized documentation section QC Analysis Enhancements: - Expand content analyzers with real FFmpeg filter implementations - Add enhanced dead pixel and PSE flash analysis - Update QC types and quality analyzer
1 parent e23885c commit ef2c997

File tree

13 files changed

+7130
-467
lines changed

13 files changed

+7130
-467
lines changed

README.md

Lines changed: 107 additions & 37 deletions
Large diffs are not rendered by default.

docs/ARCHITECTURE.md

Lines changed: 479 additions & 0 deletions
Large diffs are not rendered by default.

docs/DEVELOPER_GUIDE.md

Lines changed: 836 additions & 0 deletions
Large diffs are not rendered by default.

docs/QC_ANALYSIS_LIST.md

Lines changed: 54 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,56 @@
22

33
## Overview
44

5-
The FFprobe API provides **19 comprehensive QC analysis categories** covering all essential professional video analysis requirements from basic technical validation to advanced broadcast compliance.
5+
The Rendiff Probe API provides **19 top-level QC categories** with **26 parallel content analyzers** covering **121 industry-standard parameters** for professional video analysis. All analyzers use real FFmpeg filters (signalstats, idet, ebur128, astats, etc.) for accurate broadcast and streaming quality control.
6+
7+
## Content Analysis (26 Parallel Analyzers)
8+
9+
The Content Analysis category runs 26 analyzers in parallel for comprehensive real-time quality assessment:
10+
11+
### Video Quality Analyzers
12+
| Analyzer | FFmpeg Filter | Parameters | Description |
13+
|----------|---------------|------------|-------------|
14+
| Baseband Analysis | signalstats | YMIN, YMAX, YAVG, UMIN, UMAX, VMIN, VMAX, BRNG, TOUT, VREP | Broadcast legal range checking (Y: 16-235, C: 16-240) |
15+
| Video Quality Score | signalstats + entropy | Sharpness, Contrast, Entropy, Color, Noise | Objective quality scoring (0-100) |
16+
| Blockiness Analysis | signalstats | Compression artifact detection | DCT block boundary artifacts |
17+
| Blurriness Analysis | signalstats | Focus/motion blur metrics | Sharpness and edge detection |
18+
| Noise Analysis | signalstats | SNR, temporal noise | Signal-to-noise ratio measurement |
19+
| Line Error Detection | signalstats TOUT/VREP/BRNG | Luma/chroma line errors, DigiBeta errors | Horizontal line defect detection |
20+
21+
### Video Content Analyzers
22+
| Analyzer | FFmpeg Filter | Parameters | Description |
23+
|----------|---------------|------------|-------------|
24+
| Black Frame Detection | blackdetect | Duration, threshold, positions | Dead or black frame identification |
25+
| Freeze Frame Detection | freezedetect | Duration, positions | Static frame detection |
26+
| Letterbox Detection | cropdetect | Aspect ratio, pillarbox/letterbox | Content boundary analysis |
27+
| Color Bars Detection | signalstats | SMPTE bars, EBU bars | Test pattern identification |
28+
| Safe Area Analysis | cropdetect | Title/action safe margins | Broadcast safe area compliance |
29+
| Temporal Complexity | signalstats YDIF + scene | Motion complexity, scene changes | Content complexity metrics |
30+
| Field Dominance | idet | TFF/BFF, interlace detection | Field order and interlace analysis |
31+
| Differential Frames | signalstats YDIF | Frame difference anomalies | Jump cut and flash detection |
32+
| Interlace Analysis | idet | Progressive/interlaced ratio | Scan type detection |
33+
34+
### Audio Analyzers
35+
| Analyzer | FFmpeg Filter | Parameters | Description |
36+
|----------|---------------|------------|-------------|
37+
| Loudness Metering | ebur128 | Integrated, Momentary, Short-term, LRA, True Peak | EBU R128 compliance |
38+
| Audio Clipping | astats | Peak levels, clip count | Digital clipping detection |
39+
| Silence Detection | silencedetect | Duration, positions | Mute/silence identification |
40+
| Phase Correlation | aphasemeter | L/R phase, mono compatibility | Stereo phase analysis |
41+
| Channel Mapping | astats | Channel layout, routing | Multi-channel configuration |
42+
| Audio Frequency | astats | Spectrum analysis, anomalies | Frequency range analysis |
43+
| Test Tone Detection | astats | 1kHz tone, calibration signals | Audio test pattern detection |
44+
45+
### Additional Analyzers
46+
| Analyzer | FFmpeg Filter | Parameters | Description |
47+
|----------|---------------|------------|-------------|
48+
| HDR Analysis | signalstats + metadata | HDR10, Dolby Vision, HLG, MaxCLL, MaxFALL | High dynamic range validation |
49+
| Timecode Continuity | metadata | SMPTE timecode, discontinuities | Timecode stream analysis |
50+
| Dropout Detection | signalstats | Signal loss, corruption | Video signal dropout detection |
651

7-
## Current QC Analysis Categories (19)
52+
---
53+
54+
## Top-Level QC Categories (19)
855

956
The following categories are currently implemented and validated:
1057

@@ -232,6 +279,8 @@ The following categories are currently implemented and validated:
232279

233280
---
234281

235-
**Total QC Categories**: 19 (All Production-Ready)
236-
**Compliance Standards**: 10+ international and regional standards
237-
**Industry Applications**: Broadcast, Streaming, Post-Production, Archival
282+
**Total QC Categories**: 19 top-level + 26 content analyzers
283+
**Total Parameters**: 121 industry-standard parameters
284+
**FFmpeg Filters Used**: signalstats, idet, ebur128, astats, blackdetect, freezedetect, cropdetect, silencedetect, aphasemeter, entropy
285+
**Compliance Standards**: EBU R128, ITU-R BS.1770, ITU-R BT.1702, SMPTE 12M/ST 377/ST 2067, Rec.2020
286+
**Industry Applications**: Broadcast, Streaming, Post-Production, Archival, QC Workflows

0 commit comments

Comments
 (0)