Der zweite Server. Eigenes Target neben PlexKit, nicht darin — die beiden teilen die neutrale Schicht und sonst nichts. Die Anmeldung geht zuerst über **Quick Connect**: die App zeigt einen sechsstelligen Code, den man in einem bereits angemeldeten Client bestätigt. Damit gilt hier dieselbe Zusage wie bei Plex — das Passwort erreicht Flixy nie. Benutzername und Passwort bleiben als Rückfall, falls der Server Quick Connect abgeschaltet hat; dann hält die App das Passwort für die Dauer einer Anfrage und speichert es nirgends. Zwei Stellen, an denen sich eine Übersetzung verrechnet, und die deshalb Tests haben: Jellyfin zählt Zeiten in Ticks zu hundert Nanosekunden. Eine Null zu viel, und aus 44 Minuten werden siebeneinhalb Stunden. Und es meldet die **ungesehenen** Folgen, nicht die gesehenen. Ungeprüft übernommen stünde bei einer fast fertigen Serie „9 von 24" statt „15 von 24". Dass die Adressen den Token tragen, steht hier von Anfang an — bei Plex hat genau das tagelang gekostet, weil AVPlayer keine Kopfzeilen mitschickt. Zwei Fähigkeiten sind ausdrücklich nicht da: Sterne-Bewertungen kennt Jellyfin nicht, nur Daumen hoch und runter. Und die Adresse einer verkleinerten Fassung gibt es erst nach einer Anfrage — sie zu erfinden hieße, eine Adresse anzubieten, die nicht antwortet. Die Startseite ist nachsichtig gebaut: fällt „Als Nächstes" aus, bleibt deshalb nicht die ganze Seite leer. Die App bietet Jellyfin noch nicht an — das ist der nächste Schritt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
91 lines
2.2 KiB
JSON
91 lines
2.2 KiB
JSON
{
|
|
"Items": [
|
|
{
|
|
"Name": "Der Anfang",
|
|
"Id": "a1b2c3d4e5f6",
|
|
"Type": "Episode",
|
|
"Overview": "Es f\u00e4ngt an.",
|
|
"ProductionYear": 2024,
|
|
"RunTimeTicks": 26400000000,
|
|
"IndexNumber": 3,
|
|
"ParentIndexNumber": 2,
|
|
"SeriesName": "Eine Serie",
|
|
"SeriesId": "series-1",
|
|
"SeasonId": "season-2",
|
|
"SeasonName": "Staffel 2",
|
|
"OfficialRating": "12",
|
|
"CommunityRating": 8.4,
|
|
"DateCreated": "2026-01-15T10:30:00.0000000Z",
|
|
"Genres": [
|
|
"Drama",
|
|
"Mystery"
|
|
],
|
|
"People": [
|
|
{
|
|
"Id": "p1",
|
|
"Name": "Eine Person",
|
|
"Role": "Die Hauptrolle",
|
|
"Type": "Actor",
|
|
"PrimaryImageTag": "t1"
|
|
},
|
|
{
|
|
"Id": "p2",
|
|
"Name": "Wer Regie f\u00fchrte",
|
|
"Type": "Director"
|
|
}
|
|
],
|
|
"UserData": {
|
|
"PlaybackPositionTicks": 6000000000,
|
|
"PlayCount": 1,
|
|
"Played": false,
|
|
"IsFavorite": true
|
|
},
|
|
"ImageTags": {
|
|
"Primary": "tag-primary",
|
|
"Logo": "tag-logo"
|
|
},
|
|
"BackdropImageTags": [
|
|
"tag-backdrop"
|
|
],
|
|
"SeriesPrimaryImageTag": "tag-series",
|
|
"MediaSources": [
|
|
{
|
|
"Id": "source-1",
|
|
"Container": "mkv",
|
|
"Size": 5368709120,
|
|
"Bitrate": 12000000,
|
|
"RunTimeTicks": 26400000000,
|
|
"SupportsDirectPlay": true,
|
|
"SupportsTranscoding": true,
|
|
"MediaStreams": [
|
|
{
|
|
"Index": 0,
|
|
"Type": "Video",
|
|
"Codec": "hevc",
|
|
"Height": 2160,
|
|
"Width": 3840
|
|
},
|
|
{
|
|
"Index": 1,
|
|
"Type": "Audio",
|
|
"Codec": "dts",
|
|
"Language": "ger",
|
|
"Channels": 6,
|
|
"DisplayTitle": "Deutsch (DTS 5.1)",
|
|
"IsDefault": true
|
|
},
|
|
{
|
|
"Index": 2,
|
|
"Type": "Subtitle",
|
|
"Codec": "subrip",
|
|
"Language": "eng",
|
|
"IsForced": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"TotalRecordCount": 1,
|
|
"StartIndex": 0
|
|
} |