Skip to content

Commit d5f281f

Browse files
committed
Added Additional Checks
1 parent 69f29f5 commit d5f281f

File tree

9 files changed

+1475
-29
lines changed

9 files changed

+1475
-29
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,10 @@ doc/latex/
224224
*.pdf
225225
*.html
226226

227+
# Internal QC documentation (not for public repo)
228+
qc.md
229+
ENHANCED_ANALYSIS.md
230+
227231
# =============================================================================
228232
# Cloud & Infrastructure
229233
# =============================================================================

README.md

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
### Key Capabilities
1616
- 📹 **Complete Video Analysis**: Technical specs, quality metrics, HLS/DASH support
17+
- 🔍 **Enhanced Quality Control**: 16 additional QC parameters including GOP analysis, content detection
1718
- 🤖 **AI-Powered Insights**: Professional video engineering assessment with recommendations
1819
- 📊 **Quality Comparison**: VMAF, PSNR, SSIM analysis with before/after validation
1920
- 🏗️ **Production Grade**: Hardened security, scalable architecture, comprehensive monitoring
@@ -89,6 +90,8 @@ docker compose -f compose.yml -f compose.enterprise.yml up -d
8990

9091
### 🎬 Professional Video Analysis
9192
- **Complete FFprobe Integration**: All metadata, streams, formats, chapters
93+
- **Enhanced Quality Control**: 16 additional QC parameters (GOP analysis, chroma subsampling, bitrate mode detection)
94+
- **Content Analysis**: Blackness detection, freeze frames, audio clipping, interlacing artifacts
9295
- **Quality Metrics**: VMAF, PSNR, SSIM analysis with Netflix-grade models
9396
- **HLS/DASH Support**: Streaming protocol validation and optimization
9497
- **Batch Processing**: Handle multiple files efficiently with progress tracking
@@ -142,8 +145,8 @@ docker compose -f compose.yml -f compose.enterprise.yml up -d
142145

143146
| Endpoint | Method | Description | Authentication |
144147
|----------|--------|-------------|---------------|
145-
| `/api/v1/probe/file` | POST | Analyze uploaded video | API Key/JWT |
146-
| `/api/v1/probe/url` | POST | Analyze video from URL | API Key/JWT |
148+
| `/api/v1/probe/file` | POST | Analyze uploaded video (supports `content_analysis: true`) | API Key/JWT |
149+
| `/api/v1/probe/url` | POST | Analyze video from URL (supports `content_analysis: true`) | API Key/JWT |
147150
| `/api/v1/probe/quick` | POST | Fast basic analysis | API Key/JWT |
148151
| `/api/v1/batch/analyze` | POST | Batch video processing | API Key/JWT |
149152
| `/api/v1/quality/compare` | POST | Quality comparison | API Key/JWT |
@@ -165,6 +168,25 @@ curl -H "Authorization: Bearer your-jwt-token" \
165168
http://localhost:8080/api/v1/probe/file
166169
```
167170

171+
### Enhanced Analysis Request
172+
```bash
173+
# Standard analysis
174+
curl -X POST http://localhost:8080/api/v1/probe/file \
175+
-H "X-API-Key: your-api-key" \
176+
-d '{
177+
"file_path": "/path/to/video.mp4",
178+
"content_analysis": false
179+
}'
180+
181+
# Enhanced analysis with content analysis
182+
curl -X POST http://localhost:8080/api/v1/probe/file \
183+
-H "X-API-Key: your-api-key" \
184+
-d '{
185+
"file_path": "/path/to/video.mp4",
186+
"content_analysis": true
187+
}'
188+
```
189+
168190
### Response Format
169191
```json
170192
{
@@ -184,6 +206,41 @@ curl -H "Authorization: Bearer your-jwt-token" \
184206
"r_frame_rate": "30/1"
185207
}
186208
],
209+
"enhanced_analysis": {
210+
"stream_counts": {
211+
"video_streams": 1,
212+
"audio_streams": 2,
213+
"subtitle_streams": 0
214+
},
215+
"video_analysis": {
216+
"chroma_subsampling": "4:2:0",
217+
"matrix_coefficients": "ITU-R BT.709",
218+
"bit_rate_mode": "CBR",
219+
"has_closed_captions": false
220+
},
221+
"gop_analysis": {
222+
"average_gop_size": 30.0,
223+
"keyframe_count": 120,
224+
"gop_pattern": "Regular (GOP=30)"
225+
},
226+
"frame_statistics": {
227+
"total_frames": 3600,
228+
"i_frames": 120,
229+
"p_frames": 2400,
230+
"b_frames": 1080
231+
},
232+
"content_analysis": {
233+
"black_frames": {
234+
"detected_frames": 0,
235+
"percentage": 0.0
236+
},
237+
"loudness_meter": {
238+
"integrated_loudness_lufs": -23.0,
239+
"broadcast_compliant": true,
240+
"standard": "EBU R128"
241+
}
242+
}
243+
},
187244
"quality_metrics": {
188245
"vmaf_score": 85.6,
189246
"psnr": 42.3,

0 commit comments

Comments
 (0)