Restore channel list decoding for string/custom IDs, URL-encode play paths, parse DRM/heartbeat, and ship Events tab (0.5.0/12) with best-effort VLC ClearKey.
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.x)
|
|
|
|
- `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:** best-effort via VLC media options (`:demux=dash`, `:cenc-key=…`). MobileVLCKit heeft geen officiële ClearKey-API zoals ExoPlayer; Xtream HLS/TS speelt normaal. Als decryptie faalt toont de app: *“Deze stream vereist DRM-ondersteuning die binnenkort komt”*.
|
|
- Events-tab verschijnt als `/me` → `events.enabled` true is.
|