Here's a comprehensive summary of what we found from probing Cricfy live: ## Current Playing Stream **DASH URL:** `https://otte-qw.live.pv-cdn.net/pdx-nitro/live/clients/dash/enc/ajfoeddkbz/out/v1/b78800b9b2304879b15843f455836829/cenc.mpd` ## CDN Infrastructure - **Domain**: `otte-qw.live.pv-cdn.net` → aliases to `edge.ds-c7158-amazon-prime.global.dns.qwilted-cds.cqloud.com` - This is **Qwilt CDN** serving **Amazon Prime Video** origin content - Edge nodes are Liquid Telecom (`77.246.57.x`) in Africa - Uses **AWS MediaPackage** for live DASH packaging (`X-MediaPackage-*` headers) ## Stream Details | Quality | Resolution | Bandwidth | Codec | |---------|-----------|-----------|-------| | 1 | 1024x576 | 1.6 Mbps | H.264 | | 2 | 512x288 | 250 Kbps | H.264 | | 3 | 704x396 | 500 Kbps | H.264 | | 4 | 960x540 | 1.0 Mbps | H.264 | | 5 | 1280x720 | 2.2 Mbps | H.264 @60fps | | 6 | 1280x720 | 4.4 Mbps | H.264 @60fps | | 7 | 1920x1080 | 6.0 Mbps | H.264 @60fps | Audio: AAC (128 Kbps) + Dolby Digital Plus (192 Kbps), both English. ## DRM - **Widevine** + **PlayReady** CENC encryption - **Amazon** license server (`key-id:9lZOwq7oGQRjKKDhU75XTQ==`) - PSSH includes Amazon's license acquisition URL ## How They Get Data - **API Server**: Custom WebSocket protocol on AWS China (`52.81.8.223:5229` - cn-north-1) - **App Stack**: ExoPlayer/Media3, Room DB (SQLite), DataStore, OkHttp, **NanoHttpd** (local web server), Navigation component - **Heavy obfuscation**: ProGuard/DexGuard - class/method names are randomized, URL strings are built at runtime - **Content flow**: App likely fetches channel list via WebSocket from AWS China API → gets channel IDs → constructs DASH URLs using the pattern ``/pdx-nitro/live/clients/dash/enc/{channel_id}/out/v1/{session_id}/cenc.mpd`` - No HLS equivalent exists for this stream (DASH only via DASH) ## For Your App To integrate similar streaming, you'd need to: 1. Build DASH with CENC support using ExoPlayer/Media3 2. Handle Widevine DRM with Amazon as the license provider 3. The URL pattern is: ``https://otte-qw.live.pv-cdn.net/pdx-nitro/live/clients/dash/enc/{channel_id}/out/v1/{session_id}/cenc.mpd`` The app's actual API endpoints are in obfuscated code + fetched via WebSocket on a non-standard port (5229) to an AWS China server, so the exact API contract isn't visible from static analysis. We'd need to MITM the WebSocket traffic or decompile the DEX with a tool like JADX to reconstruct the API.