Legt das Fundament für den Plex-Client an: - XcodeGen-Projekt nach dem Muster von Onyx (com.scarriffleservices, strict concurrency, Projektdatei nicht eingecheckt) - FlixyKit mit vier Modulen: PlexKit, FlixyDesign, FlixyPlayback, FlixyDownloads. macOS steht als Plattform mit drin, damit die Logik-Tests ohne Simulator laufen. - FlixyDesign: dunkle Farb-Tokens, Schriftskala, Poster- und Querformat-Kacheln, Aufmacher-Bild. Die Akzentfarbe fließt über die Umgebung und wird per WCAG-Rechnung lesbar gehalten. - PlexKit: Kopfzeilen-Identität, Transport-Protokoll, Fehlerarten und die Medienmodelle samt nachsichtigem Decoder. - FlixyPlayback: VideoPlayerEngine-Protokoll und PlaybackDecider — die eine Funktion, an der Phase 2 das Transcoding andockt. - Ausfahrbare Seitenleiste auf dem iPhone, Split-View auf dem iPad. - 45 Tests, alle grün. VLCKit 4.0.0-a24 ist vorab geprüft: baut über SPM unter Swift 6 mit strict concurrency. Die iOS-Slice ist mit 239 MB allerdings gewichtig, deshalb bekommt sie in Phase 1 ein eigenes Target. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
90 lines
3.4 KiB
JSON
90 lines
3.4 KiB
JSON
{
|
|
"MediaContainer": {
|
|
"size": 1,
|
|
"totalSize": 1,
|
|
"offset": 0,
|
|
"title1": "Filme",
|
|
"title2": "Zuletzt hinzugefügt",
|
|
"Metadata": [
|
|
{
|
|
"ratingKey": "45231",
|
|
"key": "/library/metadata/45231",
|
|
"guid": "plex://movie/5d776b59ad5437001f79c36d",
|
|
"type": "movie",
|
|
"title": "Blade Runner 2049",
|
|
"titleSort": "Blade Runner 2049",
|
|
"summary": "Dreißig Jahre nach den Ereignissen des ersten Films.",
|
|
"year": 2017,
|
|
"duration": 9784000,
|
|
"contentRating": "de/16",
|
|
"rating": 8.0,
|
|
"audienceRating": 8.1,
|
|
"thumb": "/library/metadata/45231/thumb/1699887654",
|
|
"art": "/library/metadata/45231/art/1699887654",
|
|
"viewCount": 1,
|
|
"viewOffset": 4892000,
|
|
"lastViewedAt": 1699900000,
|
|
"addedAt": 1699887654,
|
|
"Media": [
|
|
{
|
|
"id": 88121,
|
|
"container": "mkv",
|
|
"videoCodec": "hevc",
|
|
"audioCodec": "truehd",
|
|
"videoResolution": "4k",
|
|
"videoProfile": "main 10",
|
|
"bitrate": 58420,
|
|
"width": 3840,
|
|
"height": 2160,
|
|
"audioChannels": 8,
|
|
"duration": 9784000,
|
|
"Part": [
|
|
{
|
|
"id": 91002,
|
|
"key": "/library/parts/91002/1699887654/file.mkv",
|
|
"container": "mkv",
|
|
"size": 71453298112,
|
|
"duration": 9784000,
|
|
"file": "/media/Filme/Blade Runner 2049 (2017)/Blade Runner 2049 2160p.mkv",
|
|
"Stream": [
|
|
{ "id": 310021, "streamType": 1, "codec": "hevc", "bitDepth": 10 },
|
|
{ "id": 310022, "streamType": 2, "codec": "truehd", "language": "Deutsch", "languageCode": "deu", "channels": 8, "displayTitle": "Deutsch (TrueHD 7.1)", "selected": true },
|
|
{ "id": 310023, "streamType": 2, "codec": "eac3", "language": "English", "languageCode": "eng", "channels": 6, "displayTitle": "English (EAC3 5.1)" },
|
|
{ "id": 310024, "streamType": 3, "codec": "subrip", "language": "Deutsch", "languageCode": "deu", "key": "/library/streams/310024", "displayTitle": "Deutsch (SRT)" },
|
|
{ "id": 310025, "streamType": 3, "codec": "pgs", "language": "English", "languageCode": "eng", "forced": true, "displayTitle": "English (Forced)" }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": 88122,
|
|
"container": "mp4",
|
|
"videoCodec": "h264",
|
|
"audioCodec": "aac",
|
|
"videoResolution": "1080",
|
|
"bitrate": 8240,
|
|
"width": 1920,
|
|
"height": 1080,
|
|
"audioChannels": 2,
|
|
"duration": 9784000,
|
|
"Part": [
|
|
{
|
|
"id": 91003,
|
|
"key": "/library/parts/91003/1699887655/file.mp4",
|
|
"container": "mp4",
|
|
"size": 10083446784,
|
|
"duration": 9784000,
|
|
"file": "/media/Filme/Blade Runner 2049 (2017)/Blade Runner 2049 1080p.mp4",
|
|
"Stream": [
|
|
{ "id": 310031, "streamType": 1, "codec": "h264" },
|
|
{ "id": 310032, "streamType": 2, "codec": "aac", "language": "Deutsch", "languageCode": "deu", "channels": 2, "selected": true }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|