infra/stacks/f1-stream/files/backend/extractors
Viktor Barzin 6867036087 [ci skip] f1-stream: add stream health checker and HLS proxy (Phases 4-5)
Phase 4 - Stream Health and Fallback:
- StreamHealthChecker with partial GET validation of m3u8 content
- Bitrate extraction from BANDWIDTH tags
- Response time measurement for quality ranking
- Fallback ordering: live first, fastest response time first
- GET /streams now only returns health-verified streams

Phase 5 - HLS Proxy Core:
- GET /proxy?url= - m3u8 playlist fetch with full URI rewriting
- GET /relay?url= - chunked segment relay (never buffers full segment)
- m3u8 rewriter handles master, variant, and segment URIs
- Base64url encoding for URL parameters
- CORS middleware for browser playback
- Range header forwarding for seeking support
2026-02-23 23:41:16 +00:00
..
__init__.py [ci skip] f1-stream: add extractor framework with demo streams (Phase 3) 2026-02-23 23:02:56 +00:00
base.py [ci skip] f1-stream: add extractor framework with demo streams (Phase 3) 2026-02-23 23:02:56 +00:00
demo.py [ci skip] f1-stream: add extractor framework with demo streams (Phase 3) 2026-02-23 23:02:56 +00:00
models.py [ci skip] f1-stream: add stream health checker and HLS proxy (Phases 4-5) 2026-02-23 23:41:16 +00:00
registry.py [ci skip] f1-stream: add extractor framework with demo streams (Phase 3) 2026-02-23 23:02:56 +00:00
service.py [ci skip] f1-stream: add stream health checker and HLS proxy (Phases 4-5) 2026-02-23 23:41:16 +00:00