Függelék: a fájlkliensek
Hang- és videófájlok, egész mappák kötegelt feliratozása SRT-be, és feliratok, markdown-dokumentumok, szövegtárak fordítása a parancssori kliensekkel.
A LiveCaption élő feliratot ad arról, ami épp elhangzik. Ha viszont meglévő fájlokat – egy felvett előadást, egy egész videómappát, egy feliratfájlt vagy egy dokumentumot – szeretne feliratozni vagy fordítani, arra a termék parancssori kliensei valók. Ugyanazokat a szervereket használják, mint a LiveCaption: a feliratozót (captionserver) és a fordítót (translatorserver).
Ez a függelék áttekintést ad; a részletes, lépésenkénti leírás a weboldal két útmutatójában áll: Egy videómappa feliratozása SRT-be és Feliratfájlok, markdown és szövegtárak fordítása.
Mi kell hozzá
- A szerverek: feliratozáshoz a feliratozó, fordításhoz a fordító fusson – a saját gépén vagy a hálózatban. Az indításukat a szerverek kézikönyvének Napi indítás és leállítás fejezete írja le.
- Kulcs: a szerverek minden kérést hitelesítenek. A szkripteknek saját kulcsuk van, amit a termék gyökérmappájában álló
generate-api-keyindító ad ki egy tartós környezeti változóba; a feliratozó szkriptjei maguktól is meghívják, ha nem találnak kulcsot. - FFmpeg: a feliratozó kliens ezzel nyeri ki a hangot a videóból. Ha hiányzik, a kliens felajánlja a letöltését.
- PowerShell 7: a szkriptek ezzel futnak. Windowson a
.cmdindítók dupla kattintással is indíthatók, macOS-en a.commandpárjuk a Finderből; terminálból a.ps1szkript hívható (pwsh).
generate-api-key.cmd
generate-api-key.cmd -Service caption
generate-api-key.cmd -Service caption -Force
Az első sor minden szolgáltatáshoz kér kulcsot, a második csak a feliratozóhoz, a harmadik a meglévőt is lecseréli. macOS-en ugyanez a generate-api-key.command.
Egy fájl feliratozása
A feliratozó indítói a CaptionServer mappában vannak. Egyetlen videóhoz vagy hangfájlhoz kettő közül választhat:
| Indító | Hogyan dolgozik | Mikor |
|---|---|---|
transcribe |
a hangot csendnél vágott darabokra bontja, és a darabokat párhuzamosan küldi | ha többen osztoznak a szerveren, vagy a szerver videokártya nélkül fut |
transcribe-whole |
a teljes hangot egyetlen kérésben küldi | egy fájl legjobb minőségéhez: nincs vágás, nem vész el a szövegkörnyezet |
Mindkettőnek van nyelvhez kötött változata (transcribe-hu, transcribe-en, transcribe-whole-hu, transcribe-whole-en), amelyik a beszéd nyelvét előre megadja. Windowson a fájlt egyszerűen az indítóra húzhatja.
Egy mappa feliratozása
A transcribe-folder egy mappa minden hang- és videófájlját feliratozza. Minden fájlhoz külön klienst indít, a már kész fájlokat (amelyek mellett a forrásnál újabb .srt áll) kihagyja, és a végén összesít.
.\transcribe-folder.ps1 "C:\videok" -Whole -Language hu -Recurse
.\transcribe-folder.ps1 "C:\videok" -Clients 4 -Windows
pwsh ./transcribe-folder.ps1 ~/Movies/eloadasok -Whole -Language hu,en
A fontosabb kapcsolók:
-Whole: egyben mód, a legjobb minőségért.-Language: a beszéd nyelve – egy kód (hu) rögzíti, azautofelismerést kér, ahu,enjelöltlista csak ezek közül ismer fel.-Recurse: az almappák fájljai is.-Clients: hány fájl fusson egyszerre; alapból a program a szerver kapacitásához igazítja.-Filterés-Force: szűrés a fájlnévre, illetve a kész feliratok felülírása.-Windowsés-Quiet: kliensenként külön ablak, illetve csak összefoglaló sorok – felügyelet nélküli futáshoz.
Indulás előtt a szkript egyszer ellenőriz: megvan-e az FFmpeg, és elérhető-e a szerver. Ha valami hiányzik, a köteg el sem indul, és egyetlen, olvasható hibát kap – nem minden fájlét külön. A futás a Ctrl+C billentyűvel szakítható meg.
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 legtöbb lejátszó (VLC, Plex, Jellyfin, Kodi) az ilyen nevű feliratot magától megtalálja. Felismeréses módban a név a felismerés után dől el; ha nincs felismerhető beszéd, a név eloadas.srt. A -NoLanguageSuffix kapcsoló a nyelv jelölését elhagyja.
Feliratok és dokumentumok fordítása
Három fordítókliens van, az indítóik a TranslatorServer mappában:
| Indító | Mit fordít | Mi marad változatlan |
|---|---|---|
translate-subtitle |
feliratot: .srt, .vtt, .ass/.ssa |
az időzítés, a blokkok száma, a formázójelek – csak a szöveg változik |
translate-markdown |
markdown-dokumentumot: .md |
a szerkezet, a kód, a hivatkozások címe; a kódblokkok kommentjei alapból lefordulnak |
translate-resx |
szövegtárat: .resx, PowerShell messages.psd1 |
a kulcsok, a helykitöltők ({0}); alapból csak a hiányzó kulcsok fordulnak |
A kulcsot ne a parancssorba írja (az a héj előzményébe kerülne), hanem egy környezeti változóba, és a változó nevét adja meg a -ApiKeyEnv kapcsolóval:
$env:LCP_TRANSLATE_KEY = "lcp_..."
TranslatorServer\translate-subtitle.cmd "C:\videok\01 - Bevezetes.eng.srt" -ApiKeyEnv LCP_TRANSLATE_KEY
TranslatorServer\translate-markdown.cmd "C:\docs\README.md" -ApiKeyEnv LCP_TRANSLATE_KEY --to hu
A --from és a --to a nyelvpárt adja meg, a --server a fordító címét (alapból http://127.0.0.1:8080). Kimeneti név nélkül a fordítás a bemenet mellé kerül, a nyelvkódot cserélve: 01 - Introduction.eng.srt → 01 - Introduction.hu.srt. Mappát megadva az egész mappa lefordul; a már kész fájlokat kihagyja, a megszakadt futást ugyanaz a parancs folytatja.
A --check kapcsoló fordítás és szerver nélkül ellenőrzi, hogy a fájl hibátlanul visszaírható-e; a --dry-run megmutatja, mit fordítana, fordítás nélkül.
Kilépési kódok
A kliensek és a szkriptek ugyanazokkal a kódokkal lépnek ki, így más szkriptből feltételként használhatók:
| Kód | Mit jelent |
|---|---|
0 |
kész, minden sikerült |
1 |
hibás használat (rossz kapcsoló, ismeretlen modell vagy nyelv), vagy csak a súgót kérte |
2 |
a bemeneti fájl nem létezik |
3 |
az FFmpeg nem futtatható, vagy hibával állt le (csak feliratozásnál) |
4 |
egyéb hiba; mappás futásnál: legalább egy fájl nem sikerült |
5 |
a felhasználó megszakította (Ctrl+C) |
6 |
a szerver nem érhető el, vagy végleges hibát adott |
Hova tovább
- Lépésről lépésre: Egy videómappa feliratozása SRT-be
- Lépésről lépésre: Feliratfájlok, markdown és szövegtárak fordítása
- A kulcsok kiadása és jogai: Kulcsok és jogosultságok