2.8 KiB
2.8 KiB
name, description, metadata
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| project-euni-plex | EUNI kurzy/videa do Plexu — stahovani z SeaweedFS + pojmenovani + metadata pres Plex API |
|
Export EUNI kurzů do Plexu (knihovna EUNI, typ Other Videos). Skripty v U:\janssen\EUNI\.
- Zdroj dat: Mongo db
EUNI(na .76, viz project-seaweedfs) — kolekcekurzy(274 dok: nazev/autor/akreditace/kredity/profese/datum_publikace/url/slug) amaterialy(1034 dok: druh dokument|video, kurz_id, seaweed_path/fids/size). Videa: 338, z toho 334 v SeaweedFS. Všechny kurzyprofese=[2]= Lékař (batch filtrovaný na lékaře; další profese se teprve dotáhnou). - Bloby: SeaweedFS filer
http://192.168.1.50:8888/<seaweed_path>(raw GET, URL-encode po segmentech). - Plex:
http://192.168.1.76:32400, sekce 23 = EUNI (type movie). Token =PlexOnlineTokenvPreferences.xml(binhex-plexpass appdata na .76). API edit:PUT /library/sections/23/all?type=1&id=<ratingKey>&<pole>.value=...&<pole>.locked=1(lock = sken nepřepíše). Štítkygenre[0].tag.tag=..., posterPOST /library/metadata/<rk>/posters?url=. plex_export.py— stáhne 334 videí (~119 GiB) z fileru na\\tower\PlexBinHex\EUNI. Idempotentní (.part + kontrola velikosti, hotové skipuje), log_export_log.txt. Konvence názvu:- single-video kurz:
<Nazev> - <Prijmeni> (<rok>).mp4 - multi-video kurz (54 ks, většinou série rovnocenných přednášek, ne hlavni+balast):
<Nazev> - <NN> <segment> (<rok>).mp4, autor vynechán. Pořadí NN: nejdřív explicitní číslo v názvu (1.,TABAK_01,p01,část 2), jinak vimeo id (chronologicky), jinak abecedně. Příjmení = vše po křestním jménu po stripu titulů/hodností (drží dvojitá příjmení).
- single-video kurz:
plex_meta.py— 2. průchod po skenu: spáruje Plex položku s kurzem podle názvu (sdílíbuild_plan/order_items/seg_labelz plex_export) a zapíše+zamkne: originallyAvailableAt=datum_publikace, studio=EUNI, summary (autor+akreditace+kredity+url), genre „EUNI kurz"+profese (PROFESE dict {2:"Lékař"}), label „EUNI", u multi-video collection=nazev kurzu. Token přesPLEX_TOKENenv nebo--token.- Poster: zápis metadat přes API shodí u Other Videos výběr posteru na černý 1. snímek.
plex_meta.pyproto po zápisu zavoláfix_poster()— vybere největší z auto-generovaných náhledů (/library/metadata/<rk>/posters→media://…thumbN.jpg, PUT/poster?url=). Vypnout--no-poster. euni.cz oficiální obrázek nedává (JS/login).
- Poster: zápis metadat přes API shodí u Other Videos výběr posteru na černý 1. snímek.
- Postup:
python plex_export.py→ Plex Scan Library Files →python plex_meta.py. Pouštět na drátovém stroji (ne notebook přes wifi). Ověřeno end-to-end na kurzu Diagnostika CRP (ratingKey 80992).