MobileVLCKit cannot decrypt ClearKey; the app now decrypts segments in-process and feeds plain DASH to VLC, removing the coming-soon DRM dead-end (0.5.1/13).
51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# VMC iOS (SwiftUI + MobileVLCKit)
|
|
|
|
Native iPhone/iPad app voor Vonas Media Cluster.
|
|
|
|
## Op de Mac
|
|
|
|
```bash
|
|
cd ~/Code/mediacluster/apps/ios
|
|
open VMC.xcodeproj
|
|
```
|
|
|
|
Eerste keer (of na schone sync) VLCKit zetten:
|
|
|
|
```bash
|
|
bash scripts/fetch-vlckit.sh # download ~250MB (eenmalig)
|
|
bash scripts/link-vlckit.sh # kopieert naar Vendor/ + linkt in Xcode
|
|
```
|
|
|
|
In Xcode:
|
|
1. **Signing & Capabilities** → jouw Team
|
|
2. iPhone selecteren → ▶ Run
|
|
|
|
---
|
|
|
|
## Apple TV (tvOS)
|
|
|
|
Apart project (zelfde API, TV-UI met focus/remote):
|
|
|
|
```bash
|
|
cd ~/Code/mediacluster/apps/ios
|
|
bash scripts/fetch-tvvlckit.sh
|
|
bash scripts/link-tvvlckit.sh
|
|
open VMCTV.xcodeproj
|
|
```
|
|
|
|
- Bundle ID: `nl.vonas.mediacluster.tvos`
|
|
- Team: `X25NYX3K49`
|
|
- Playback: **TVVLCKit** (zelfde VLC-engine als iPhone) — MKV werkt
|
|
- Details: `VMCTV/README.md`
|
|
|
|
## Let op
|
|
|
|
`Vendor/MobileVLCKit.xcframework` en `Vendor/TVVLCKit.xcframework` staan niet in git (te groot). Altijd op de Mac via de scripts installeren.
|
|
|
|
## Live TV / Events / ClearKey (0.5.1+)
|
|
|
|
- `streamId` is een **String** (`"123"` of `"custom:uuid"`); path-segmenten worden URL-geëncodeerd (inclusief `:`).
|
|
- Play-response parseert `format`, `drm` (ClearKey kids/keys) en `watchSessionId`.
|
|
- Heartbeat: `POST /api/v1/client/watching/heartbeat` ~elke 25s bij custom live + events.
|
|
- **ClearKey/DASH:** lokale in-app proxy (`ClearKeyDashProxy`) haalt MPD/segmenten op, decrypt CENC/CBCS met de API-keys (zelfde hex kid/key + GUID-endianness als Android), en speelt plain DASH via MobileVLCKit. Xtream HLS/TS speelt direct zonder proxy.
|
|
- Events-tab verschijnt als `/me` → `events.enabled` true is.
|