Egy videómappa feliratozása SRT-be
A feliratozó szerver indítása, a szkriptek kulcsa, a transcribe-folder.ps1 kapcsolói, a három nézet, a feliratfájl neve és a kilépési kódok.
Hogyan működik
A kötegelt feliratozás szerver–kliens: a feliratozó szerver (captionserver) egyszer tölti be a Whisper modelleket – videokártyára, ha van –, és párhuzamosan szolgál ki több klienst; a kliens (captionclient) a videó hangját csendnél vágott darabokban vagy egyben küldi, és a videó mellé SRT feliratot ír. A transcribe-folder.ps1 szkript a mappa minden médiafájljához külön klienst indít, a már kész fájlokat (van a forrásnál újabb .srt) kihagyja, és a végén összesít.
Előkészületek
A feliratozó szerver hitelesít, ezért a fiókszolgáltatásnak futnia kell – ezt az első indítás útmutató írja le. A szkripteknek saját kulcsuk van, amit a generate-api-key.cmd ad ki egy tartós környezeti változóba; a transcribe* szkriptek maguktól is meghívják, ha nem találnak kulcsot.
generate-api-key.cmd
generate-api-key.cmd -Service caption
generate-api-key.cmd -Service caption -Force
A kliensnek FFmpeg kell a hang kinyeréséhez; ha hiányzik, a kliens saját telepítője pótolja (captionclient --install-ffmpeg), és az előellenőrzés is felajánlja a letöltést.
A szerver indítása
cd CaptionServer
.\start-captionserver.ps1
.\start-captionserver.ps1 -Preload large-v3 -Tune
A szerver egy ablakban fut, a Ctrl+C állítja le. Alapból a beállításban felsorolt modelleket tölti be és méri meg; a -Tune induláskor kiméri a legjobb készletméretet, vagyis hány darabot dolgoz fel egyszerre. Dupla kattintással a start-captionserver.cmd indítja. Ha nem fut, a köteg előellenőrzése felajánlja az indítását, és megvárja a betöltését.
A mappa feliratozása
.\transcribe-folder.ps1 "C:\videok" -Whole -Language hu -Recurse
.\transcribe-folder.ps1 "C:\videok" -Clients 4 -Windows
.\transcribe-folder.ps1 "C:\videok" -Clients 3 -Whole
A fontosabb kapcsolók:
-Clients auto(alapértelmezés): a kliensek száma a szerver készlete, a fájlok száma és 16 közül a legkisebb, a készlet a kliensek között oszlik el. Kézi-Clients <n>mellett minden kliens a teljes készletet kéri, a fölös kérések a szerveren sorban állnak.-Recurse: az almappák is.-Whole: egyben mód – a fájl egyetlen kérésben megy, a legjobb minőségért. Kötegben mindig kapcsolóként adja meg.-Language hu: a felirat nyelve; azautofelismerést kér, ahu,enjelöltlista csak ezek közül ismer fel.-Filter,-Force: szűrés a fájlnévre, illetve a kész feliratok felülírása.
Ugyanez dupla kattintással: transcribe-folder.cmd.
Az előellenőrzés
A kliensek indítása előtt a szkript egyszer lefuttatja a klienst ellenőrző módban (captionclient --check): megnézi az FFmpeg-et, a szerver elérhetőségét, és megkérdezi a készlet méretét. Ha hibát talál, a köteg el sem indul, és a kliens kilépési kódjával áll meg – így Ön egyetlen olvasható jelentést kap, nem N kliens külön-külön hibáját. Ez a köteg egyetlen kérdezhető pontja; felügyelet nélküli futáshoz adja meg a -Yes vagy a -NonInteractive kapcsolót, vagy használja a -Quiet nézetet. Ha a szerver tíz percen belül nem lesz kész, a köteg 6-tal áll meg, de a szerver tovább tölt: indítsa újra a köteget.
A három nézet
| Nézet | Mit lát | Mikor |
|---|---|---|
| alapértelmezés | A kliensek ebben az ablakban futnak, teljes, színes kimenettel; a sorok keverednek, de egy sor sosem törik ketté. | Ha látni akarja, mi történik. |
-Windows |
Kliensenként külön konzolablak, ami a fájl végén bezárul; az összesítés a fő ablakban marad. | Sok párhuzamos kliensnél. |
-Quiet |
Csak egy-egy összefoglaló sor; a kliensek kimenete fájlba megy. | Felügyelet nélküli, ütemezett futtatáshoz. |
A Ctrl+C a futó klienseket is kíméletesen leállítja – kivéve a -Windows nézetet, ahol a szkript erővel állítja le őket.
A feliratfájl neve
A felirat a bemenet mellé kerül, a nyelv jelölésével: eloadas.mp4 → eloadas.hu.srt magyarul, eloadas.eng.srt angolul. A lejátszók (VLC, Plex, Jellyfin, Kodi) az ilyen nevű feliratot maguktól megtalálják. Felismeréses módban a név a felismerés után dől el; ha nincs felismerhető beszéd, a név sima eloadas.srt. A -NoLanguageSuffix a jelölést hagyja el. Az azonos nevű, más kiterjesztésű források külön nevet kapnak: talk.mp4 → talk.hu.srt, talk.wav → talk.wav.hu.srt.
Kilépési kódok
A kötegelt szkript 0-val zárul, ha minden fájl sikerült, 1-gyel hibás paraméternél, különben 4-gyel, és felsorolja a hibás fájlok kódját és naplóját. Ha az előellenőrzés bukik el, a szkript annak a kódjával áll meg. A kliens kódjai:
| Kód | Jelentés |
|---|---|
0 |
sikeres feliratozás |
1 |
hibás használat (rossz kapcsoló, ismeretlen modell vagy nyelv), vagy csak a súgót kérték |
2 |
a bemeneti fájl nem létezik |
3 |
az FFmpeg nem futtatható vagy hibával állt le |
4 |
egyéb hiba |
5 |
a felhasználó megszakította (Ctrl+C) |
6 |
a szerver nem érhető el, vagy végleges hibát adott |
A kész fájlok fordítása: feliratok és dokumentumok fordítása.