AiSrt: Fordítsd le, nyerd ki és írd át a felirataidat mesterséges intelligenciával
Ingyenes eszköz, amely 29 nyelven teszi hozzáférhetővé a videókat siketek, nagyothallók és minden többnyelvű tartalomrajongó számára
Van egy videód angol felirattal, és szeretnéd franciára, spanyolra, arabra vagy japánra lefordítani? Vagy egy film, amelyen egyetlen felirat sincs, és szeretnél belőle egy .srt-t kinyerni? Pontosan ezért írtam meg az AiSrt-t.
Az AiSrt egy parancssoros eszköz, amely mesterséges intelligenciára támaszkodva lefordítja a .srt feliratfájljaidat, kinyeri a videófájljaidba már beágyazott sávokat, és közvetlenül a videó hangját is átírja feliratokká. Mindhárom ugyanabban a binárisban.
A fordításhoz öt motor közül választhatsz. Az OpenAI, az Anthropic (Claude), a Google (Gemini) és az xAI (Grok) API-jai filmenként néhány centbe kerülnek. Vagy használhatsz egy saját gépeden futó Ollama-szervert: ingyenes, offline működik, nem kell hozzá kulcs vagy fiók. A felirataid nem hagyják el a merevlemezedet.
És ha a videó egyáltalán nem tartalmaz feliratot, az AiSrt a Whisperhez, az OpenAI beszédfelismerő modelljéhez fordul, amely magától .srt-vé alakítja a hangsávot. Őszintén szólva, amikor először láttam, hogy egy egyórás előadás feliratosan kerül ki úgy, hogy egyetlen sort sem kellett beírnom, az azért megérintett.
Ennek a verziónak az újdonsága: a Blu-ray-feliratok, amelyek nem szövegek, hanem képek, most már szintén olvashatók. Az AiSrt dekódolja őket, átadja egy karakterfelismerő motornak, majd az MI-vel újra átnézeti az eredményt. Mindjárt visszatérek erre lejjebb, ez az a rész, amire a legbüszkébb vagyok.
Miért az AiSrt?
- Első az akadálymentesítés. A siketek és nagyothallók megérdemlik, hogy egyszerűen hozzáférjenek a videotartalmakhoz. A feliratok létrehozása és lefordítása néhány percig kellene, hogy tartson, nem egy egész estéig.
- 29 nyelv. Arab, német, angol, kínai, koreai, dán, spanyol, finn, francia, görög, hindi, héber, magyar, indonéz, olasz, japán, maláj, holland, norvég, lengyel, portugál, román, orosz, svéd, cseh, thai, török, ukrán és vietnámi.
- Kontextust értő fordítás. Ez a teljes különbség a szóról szóra fordítóhoz képest: az idiomatikus kifejezések, a humor és a szójátékok sokkal jobban átmennek.
- Három funkció egyetlen eszközben: fordítás, kinyerés, átírás.
- Még a képként létező feliratok is. A Blu-ray PGS-sávjait karakterfelismerés olvassa be, majd az MI újra átnézi őket, hogy kijavítsa, amit az OCR rosszul látott.
- Öt fordítómotor közül választhatsz. OpenAI, Claude, Gemini, Grok vagy Ollama, a saját kulcsoddal, amely egyetlen beállítással lecserélhető.
- Ingyenes és offline, ha úgy akarod. A gépedre telepített Ollamával a fordítás semmibe sem kerül, nem kell hozzá kulcs, és nem küld el semmit sehova. Praktikus olyan tartalmakhoz, amelyeket nem akarsz egy külső szolgáltatáson át küldeni.
- Semmit sem kell mellé telepíteni. A bináris önálló, nem kell külön .NET runtime-ot letölteni, minden benne van. Az ffmpeg és a whisper.cpp pedig automatikusan letöltődik Windowson és Linuxon, amikor szükség van rájuk.
- NVIDIA-gyorsítás Windowson. Ha az AiSrt felismeri a grafikus kártyádat, átvált a whisper CUDA-verziójára, és az átírás érezhetően gyorsabb lesz.
Telepítés
Előfeltételek
Igazából semmi kötelező. A kinyerés és az átírás kulcs, fiók és bárminek a sehova küldése nélkül működik.
A fordításhoz kulcsra van szükséged a négy fizetős szolgáltatás egyikénél (OpenAI, Anthropic, Google vagy xAI), vagy a gépedre telepített Ollama-ra, amely ingyenes és offline működik. A következő két szakasz mindkettőt elmagyarázza, válaszd azt, amelyik neked megfelel.
Egyetlen esetben kell még egy eszköz: amikor a feliratok képek. Ilyenkor a Tesseract kell, amelyet magad telepítesz. Egy parancs, és örökre el van intézve.
Nem kell runtime-ot telepíteni: minden archívum tartalmaz egy önálló futtatható fájlt a rendszeredhez.
- Töltse le az alábbiak közül a gépének megfelelőt: Windows x64, Linux x64 vagy macOS (Apple Silicon M1-től M4-ig, vagy Intel x64).
- Csomagolja ki a választása szerinti mappába.
- Opcionális: adja hozzá ezt a mappát a környezeti változójához, a
PATH-hoz, hogy azaisrtparancsot bármelyik terminálból meghívhassa.
macOS alatt, ha a rendszer nem engedi elindítani a binárist, nyissa meg a Terminált a mappában, és futtassa a chmod +x aisrt parancsot, majd az xattr -cr aisrt parancsot. A macOS-build-ek alá vannak írva és hitelesítve vannak, ezért elvileg erre nem lesz szüksége.
Egy API-kulcs, a választása szerinti szolgáltatásnál
Még egyszer: ez kizárólag a fordításhoz kell.
- Nyissa meg a platform.openai.com oldalt, és hozzon létre egy fiókot, vagy jelentkezzen be.
- Lépjen a profilmenü jobb felső részén található API Keys menüpontba.
- Kattintson a Create new secret key lehetőségre.
- Adjon neki nevet, például AiSrt, majd erősítse meg.
- Azonnal másolja ki a kulcsot, később többé nem fog megjelenni.
- Illessze be az
appsettings.jsonfájlba, az"OPENAI_KEY"helyére:
{
"OpenAI": {
"ApiKey": "sk-votre-cle-api-ici",
"Model": "gpt-5-mini",
"Temperature": 1
}
}Ez a fájl a futtatható fájl mellett található. Az AiSrt telepítése után Windows alatt innen olvassa be: %LOCALAPPDATA%\AiSrt\appsettings.json, Linux és macOS alatt pedig innen: ~/.config/aisrt/appsettings.json.
Tipp: a kulcsot egy külön .env fájlban is tarthatja. Állítsa a "UseSecretEnvFile": true értéket az appsettings.json fájlban, adja meg a fájl elérési útját, és írja bele ezt a sort: OPENAI_KEY=sk-votre-cle-api-ici. Én ezt csinálom otthon, így nem kell a kulcsot egy olyan konfigurációs fájlban hurcolászni, amit gondolkodás nélkül megosztunk.
A költség: az OpenAI használat alapján számláz, egy felirat pedig nagyon keveset fogyaszt. Egy egész film esetén néhány centre számítson a gpt-5-mini használatával.
És ha inkább a Claude-ot, a Geminit vagy a Grokot választaná
Ettől a verziótól az OpenAI már nem az egyetlen fizetős szolgáltatás. Három másik is pontosan ugyanazt a munkát végzi, a saját kulcsoddal: Anthropic a Claude-hoz, Google AI Studio a Geminihez, és xAI a Grokhoz. Mindenhol ugyanaz a menet: létrehozol egy fiókot, generálsz egy kulcsot, és bemásolod az appsettings.json fájlba.
Minden szolgáltatásnak megvan a saját szekciója, a már kitöltött alapértelmezett modelljével:
{
"Translation": { "Provider": "anthropic" },
"Anthropic": { "ApiKey": "sk-ant-votre-cle", "Model": "claude-haiku-4-5" },
"Gemini": { "ApiKey": "votre-cle", "Model": "gemini-3.6-flash" },
"Xai": { "ApiKey": "xai-votre-cle", "Model": "grok-4.5" }
}Ha pedig ki szeretnél próbálni egy szolgáltatást a fájl módosítása nélkül, ott a --provider kapcsoló:
aisrt "film.srt" -t fr --provider anthropic
aisrt "film.srt" -t fr --provider gemini
aisrt "film.srt" -t fr --provider grokA gyakran használt nevek is elfogadottak, tehát a claude, a google, a grok és a gpt ugyanolyan jól működnek, mint a hivatalos nevek. Azért adtam hozzá őket, mert én magam is minden második alkalommal összekevertem őket.
Egy részlet, ami nekem egy estébe került: minden szolgáltatás két nevet fogad el a kulcs környezeti változójához, például az ANTHROPIC_API_KEY vagy a CLAUDE_API_KEY nevet. Az .env fájlomat a modell nevével és nem a cég nevével töltöttem ki, AiSrt pedig udvariasan közölte velem, hogy hiányzik a kulcsom. Ott volt, csak egy olyan név alatt, amit nem keresett.
Az utolsó dolog, és ez mind a négyre érvényes: ha a kulcs hibás, ha üres a fiók, vagy ha a modell nem létezik, az AiSrt mielőtt elkezdené, megmondja, és megnevezi a javítandó konfigurációs fájlbeli sort. Többé nem omlik össze egy félig lefordított film közepén.
Vagyis: fordíts ingyen, otthon, Ollamával
Nincs kedved OpenAI-fiókot létrehozni, vagy nem akarod, hogy a fájljaid egy harmadik félhez kerüljenek? Telepítsd az Ollamát, amely közvetlenül a gépeden futtat egy nyelvi modellt. Ingyenes, korlátlan, és az internetkapcsolat nélkül is működik, miután letöltötted a modellt.
Három lépés:
# 1. Installer Ollama depuis ollama.com, puis demarrer le serveur
ollama serve
# 2. Telecharger le modele livre par defaut
ollama pull gpt-oss:20b
# 3. Traduire, en local
aisrt "film.srt" -t fr --provider ollamaA --provider opció az aktuális parancsra vonatkozik. Ha azt akarod, hogy az Ollama legyen az alapértelmezett motorod, tedd a "Provider": "ollama" értéket az appsettings.json Translation szekciójába, és többé nem kell vele foglalkoznod.
Melyik modellt válaszd? Többet is kipróbáltam, és a válasz meglepett. Egy helyi modellnek nagyon szigorú kimeneti formátumot kell betartania, minden elküldött blokkhoz egy lefordított blokkot, sorrendben, megjegyzés nélkül. Némelyik egyáltalán nem képes erre: a qwen2.5 kínai megjegyzéseket csúsztatott a feliratok közé, mindhárom alkalommal, még akkor is, amikor a lehető legjobban lekorlátoztam. Ez nem használható. A llama3.1:8b nagyon jól teljesít, és körülbelül tízszer gyorsabb. A gpt-oss:20b az alapértelmezettként szállított modellem, mert a tesztjeim során egyetlen blokkot sem hagyott ki, de jóval nehezebb, körülbelül 14 Go, és lassabb.
Legyünk őszinték a kompromisszumot illetően: helyben ingyenes, de lassú, a minőség pedig elmarad attól, amit a gpt-5-mini produkál. Egy filmhez, amit ma este nézel meg, a háromcentes OpenAI API kényelmesebb. Egy teljes évad feldolgozásához anélkül, hogy a számlálót nézned kellene, vagy érzékeny tartalomhoz az Ollama érdekessé válik.
Van valami, ami időt rabolt tőlem, és amitől megkíméllek: az AiSrt a natív API-ján keresztül beszél az Ollamával, és megfelelő méretű kontextusablakot kényszerít ki nála. Ha az Ollama OpenAI-kompatibilitási rétegén keresztül használod, ezt a beállítást figyelmen kívül hagyja, a modell szó nélkül levágja a válaszát, te pedig hiányzó blokkokkal találod szembe magad a végleges fájlban. A rendszer ezt elintézi helyetted, de ez megmagyarázza, miért kisebbek a csomagok helyben, 10 blokk 40 helyett.
Mi történik, mielőtt elindul
Induláskor két ellenőrzés fut, és ezek jó pár bosszúságtól kíméltek meg.
Az első azt nézi meg, milyen fájlt adsz neki. Ha az opciót elfelejtve ezt írod be: aisrt film.mkv, az AiSrt közli veled, hogy ez egy videó, és megadja a --extract vagy a --transcribe opciót. Régebben bináris fájlként olvasta a fájlt szövegként, és változtatás nélkül elküldte az MI-nek, amely érthetetlen hibával válaszolt a kérés méretéről. Egyébként ha olyan feliratot adsz neki, ami nem .srt formátumú, hanem például .ass, .vtt vagy .sub, magától átalakítja az ffmpeg segítségével, és folytatja a fordítással.
A második ellenőrzi, hogy a fordítómotor válaszol-e, mielőtt bármit is elküldene. Érvénytelen kulcs, kredit nélküli fiók, el nem indított Ollama-szerver, le nem töltött modell: minden esetre jut egy saját üzenet és egy javítóparancs. Nincs rosszabb annál, mint elindítani hat sáv kinyerését, elmenni meginni egy kávét, majd visszatérve hat egyforma hibát találni.
Használati útmutató
Általános szintaxis
aisrt [<fichier>] [options]Az összes opció
| Opció | Leírás | Alapértelmezett érték |
|---|---|---|
<file> | A lefordítandó .srt fájl elérési útja, vagy a videófájl a --extract és --transcribe használatával | nincs |
-t, --target <code> | A célnyelv kódja | fr |
-s, --source <code> | A forrásnyelv kódja | en |
--languages | Megjeleníti a 29 nyelvet és a kódjaikat | nincs |
--streams | Felsorolja egy videó feliratsávjait, anélkül hogy bármit kinyerne | nincs |
--extract | Kinyeri egy videó feliratsávjait interaktív kiválasztással. A képsávokat OCR-rel olvassa be | nincs |
--transcribe | Egy videó hangját .srt formátumba írja át a whisper.cpp segítségével | nincs |
-p, --provider <nom> | Fordítómotor: openai, anthropic, gemini, xai vagy ollama | az appsettings.json fájljában megadott |
--stream <n|all> | A --extract használatával: a kinyerendő sáv, a menü megnyitása nélkül | nincs |
-tt, --translate-to <code> | A --extract vagy a --transcribe használatával: lefordítja az eredményt anélkül, hogy bármit kérdezne | nincs |
-m, --model <nom> | A --transcribe használatával: a whisper modellje, a menü megnyitása nélkül | nincs |
-al, --audio-language <code> | A --transcribe használatával: a videóban beszélt nyelv | a whisper érzékeli |
-ni, --non-interactive | Nem tesz fel kérdéseket, alkalmazza az alapértelmezett értékeket | nincs |
--version | Megjeleníti a verziót | nincs |
-h, --help | Megjeleníti a súgót | nincs |
Vigyázz, nehogy összekeverd az egyes számban álló --streams kapcsolót, amely csak felsorolja a sávokat, és az egyes számban álló --stream kapcsolót, amely kiválaszt egyet közülük kinyerésre. Egyetlen betű eltérés, két nagyon különböző hatás. Gondolkodtam rajta, hogy átnevezzem őket, de aztán mégsem: ez a két név jön magától.
1. Feliratok fordítása
A fő funkció, és az, amelyiket a legtöbbet használom:
# Traduire de l'anglais vers le français (comportement par défaut)
aisrt "film.srt"
# Traduire de l'anglais vers l'espagnol
aisrt "film.srt" -s en -t es
# Traduire du français vers le japonais
aisrt "film.fr.srt" -s fr -t jaA lefordított fájl nevében szerepel a célnyelv kódja: film.fr.srt, film.es.srt, és így tovább. A korábbi kimeneti fájl, ha már létezik, újraírás előtt .bak.srt néven lesz lemásolva.
A fordítás 40 blokkból álló adagokban indul el, és minden adag azonnal lemezre kerül, amint visszaérkezik. Nálam így néz ki egy teljes film esetében:
598 blokk 15 adagba szétosztva, és jobbra látod, ahogy gyűlik az idő: adagonként nagyjából egy perc, a teljes filmre valamivel kevesebb mint tizenöt perc. Ha a 13. adagnál szakad meg, ugyanazt a parancsot újraindítva a 13. adaggal folytatódik.
2. Egy videó sávjainak felsorolása
Kinyerés előtt megnézhetjük, mi van a fájlban:
aisrt --streams "film.mkv"Egy táblázatot kapsz az egyes sávok folyamatszámával, nyelvével, kodekjével és típusával, legyen az szöveg vagy bitmap.
3. Feliratok kinyerése egy videóból
Sok MKV és MP4 már eleve tartalmaz feliratokat. Inkább kinyerjük őket, mint hogy újra elkészítsük:
aisrt --extract "film.mkv"Egy menüben kiválaszthatsz egy sávot, vagy mindet kinyerheted egyszerre. A szöveges formátumok kezelve vannak (SRT, ASS, SSA, WebVTT, mov_text). A Blu-ray lemezek PGS-sávjai képek: ezeket most már karakterfelismeréssel olvassa be, és a következő szakasz ennek van szentelve. A DVD-k és a digitális földfelszíni tévézés sávjait még nem dekódolja, de az AiSrt ezt világosan közli veled, ahelyett hogy csendben átugraná őket. Miután a kinyerés befejeződött, felajánlja, hogy rögtön lefordítja az egyes sávokat, a sáv nyelvét használva kiindulási nyelvként.
Megjegyzés: a ffmpeg automatikusan letöltődik Windows és Linux alatt, ha még nincs a gépeden. macOS alatt telepítsd a következővel: brew install ffmpeg.
4. Hang átírása felirattá
Egyáltalán nincs felirat a videóban? Elkészítjük őket a whisper.cpp segítségével:
aisrt --transcribe "film.mkv"Az első indításkor az AiSrt megkérdezi, melyik beszédfelismerő modellt szeretnéd használni:
- base.en, körülbelül 150 MB: gyors, jól artikulált angolhoz megfelelő
- small.en, körülbelül 500 MB: a jó kompromisszum
- medium.en, körülbelül 1,5 GB: pontosabb, lassabb
- base, small, medium: ugyanazok a méretek, de többnyelvűek
- large-v3, körülbelül 3 GB: a legpontosabb, többnyelvű és a leglassabb
Átugorhatod ezt a menüt a --model kapcsolóval, ha már tudod, mit szeretnél.
Nem angol nyelvű dolgok átírása
Korábban az AiSrt abból indult ki, hogy angolt adsz neki. Ez nagyon rossz ötlet volt: egy francia beszéd hozzávetőleges angol feliratként jött ki, egyetlen figyelmeztető szó nélkül, és ha ezután fordítást indítottál, akkor az angoltól visszafordított franciát kaptad. Süketek telefonja a saját videóiddal.
Most a whisper észleli a beszélt nyelvet, az AiSrt pedig menet közben beolvassa a válaszát. Semmit sem kell megadnod, és az elkészült fájl a megfelelő nyelvi kódot kapja. Továbbra is megadhatod kézzel, ha tudod, mit csinálsz, egy többnyelvű modellel:
aisrt --transcribe "film.mkv" --audio-language fr --model baseAz elkészült fájl ekkor film.fr.srt néven jön létre, és ha ezután fordítást indítasz, az AiSrt tudni fogja, hogy a kiindulási nyelv a francia.
Egy csapda, amin egy ideig rágódtam: azok a modellek, amelyek neve .en végződésű, kizárólag angolon lettek betanítva. Adj nekik francia hanganyagot, és nem tiltakoznak, teljes magabiztossággal angol fonetikát adnak vissza. Ez az a fajta eredmény, amit csak a fájl elolvasásakor veszel észre. Az AiSrt ezért még bármi elindítása előtt elutasítja ezt a kombinációt, és megadja a megfelelő modellek listáját.
Windows és Linux alatt az AiSrt magától letölti a whispert. Windows alatt ezenfelül felismer egy NVIDIA-kártyát, és a CUDA-s, jóval gyorsabb verziót választja.
macOS alatt egy lépéssel többre van szükség. A whisper.cpp projekt itt nem tesz közzé parancssori futtatható fájlt, csak az Apple fejlesztőinek szánt frameworköt: ezért nincs mit automatikusan letölteni. A megoldás egyetlen parancs:
brew install whisper-cpp ffmpegAz AiSrt ezután megkeresi a rendszeredre telepített eszközöket, és úgy használja őket, ahogy vannak. Nincs kéznél Macem, hogy elejétől a végéig végigcsináljam ezt a forgatókönyvet, ezért ha macOS-t használsz és elakadsz, írj nekem, érdekel a dolog.
A képekből álló feliratok
Vegyél ki egy feliratsávot egy Blu-ray lemezről, és nem szöveget kapsz. Képeket kapsz, minden egyes megszólaláshoz egyet, egy PGS nevű formátumban. A lemez nem a szavakat tárolja, hanem a szavakról készült képet. Ez praktikus a moziban használt betűtípus és a pontos elhelyezés megőrzéséhez, fordítani viszont katasztrófa: nincs mit lefordítani, csak pixelek vannak.
Eddig az AiSrt udvariasan közölte veled, hogy ezt nem tudja. Most már tudja.
Mi történik, amikor elindítod a parancsot
Semmi újat nem kell beírni, ugyanaz a parancs, mint korábban:
aisrt --extract "film.mkv"Ha képsávot választasz, az AiSrt három lépést végez egymás után. Az ffmpeg segítségével kiveszi a nyers sávot a konténerből. A képeket maga dekódolja, feliratonként egyet, közben visszanyerve a megjelenítés pillanatait úgy, ahogy a lemez rögzítette őket. Ezután az egészet egyszerre átadja a Tesseractnak, egy karakterfelismerő motornak (egy szoftvernek, amely újraolvassa a képen lévő szöveget), a teljes sávhoz.
A Tesseract nyelvi fájlját magától letölti, a sáv által megadott nyelven. Egy francia sáv a franciát kapja, egy japán sáv a japánt. Nincs mit kiválasztanod.
A Tesseractot neked kell telepítened
Ez az egyetlen függőség, amit az AiSrt nem szerez be helyetted, és ez szándékos. Az ffmpeg és a whisper önálló futtatható fájlokat tesz közzé, amelyeket rendesen le tudok tölteni. A Tesseract nem ilyen: rendszerszintű telepítők alkotják, amelyek minden platformon különböznek. Egyetlen parancs elég:
# Windows
winget install tesseract-ocr.tesseract
# Linux
sudo apt install tesseract-ocr
# macOS
brew install tesseractEgy apró történet, ami fél órámba került: Windowson ez a telepítő nem teszi be a Tesseractot a PATHba. Az AiSrt ezért azt válaszolta, hogy az eszköz nem található, és azt javasolta, hogy pontosan azt a parancsot futtassam le, amit épp az imént futtattam le. Egy kijárat nélküli hurok. Az AiSrt most már megnézi azokat a mappákat, ahová a telepítő valóban lerakja a binárist.
Az MI újraolvassa, amit az OCR elolvasott
Egy karakterfelismerő motor mindig ugyanazokat a hibákat véti. A függőleges vonal a nagy I helyett. Az r, amelyet az n követ, m-mé válik. Egy lenyelt ékezet. Egy egész filmen ez már kezd látszani.
Ezért az AiSrt visszaküldi a felismert szöveget a fordítószolgáltatásodnak, egy pontos utasítással: javítsd az olvasási hibákat, ne fordíts le semmit, ne fogalmazz át semmit, ne rövidíts le semmit. Ez lektorálás, nem újraírás. Egy filmrészlet 100 feliratán, amelyet próbapadon teszteltem, 14-et kijavított, 86 már eleve jó volt, és egyetlenegyet sem helyezett át vagy talált ki.
A biztonsági korlát fontosabb a funkciónál, ezért részletezem. Egy javítást csak akkor fogad el, ha közel marad ahhoz, amit felolvastak: egy modell, amely úgy döntene, hogy lefordít egy sort, ki lesz dobva. És ha a válasz nem pontosan ugyanannyi szöveget tartalmaz, mint amennyit elküldött, az egész adag el lesz dobva, a nyers szöveg pedig megmarad. Inkább egy látható elírást tartalmazó feliratot választok, mint egy tökéletes feliratot, amely rossz sorra van ráillesztve.
Ez az újraolvasás alapértelmezés szerint aktív, és azt a szolgáltatást használja, amely már fordít. Kikapcsolhatod, vagy egy másik szolgáltatásra bízhatod az appsettings.json fájlban. És ha nincs beállítva kulcs, nem történik semmi drámai: az OCR szövege változatlanul kiíródik, az AiSrt szól neked, és a kinyerés rendesen befejeződik.
A hiba, amelyet soha nem találtam volna meg, ha nem keresem
Sok lemez elhalványulva jeleníti meg és tünteti el a feliratait. Ehhez nem küldenek új képet: ugyanazt használják újra, csak az átlátszóságát változtatják meg. Az AiSrt ezt a változást a felirat végének vette.
Az eredmény: egy négy másodpercig megjelenő felirat három darabban jelent meg. Az első egy másodpercig tartott, a másik kettő pedig túl halvány volt ahhoz, hogy újra el lehessen olvasni, ezért el lettek dobva. Egyetlen tesztfájlom sem halványult el, ezért szándékosan elkészítettem az esetet, hogy lássam. Három darab előtte, egyetlen, megfelelő hosszúságú felirat utána.
Az AiSrt mostantól az egymást követő megjelenítések közül azt tartja meg, amelyiken a szöveg a legolvashatóbb. Egy elhalványulás átlátszóan kezdődik és végződik: sem az első, sem az utolsó nem a jó választás.
Ami még nem működik
A DVD-k és a TNT képfeliratai még nincsenek dekódolva. A PGS-sel ellentétben, ahol minden kép önálló, ezeket a formátumokat a fájl máshol tárolt információi alapján kell olvasni. Ez egy másik munka, nem ennek a kiterjesztése. Addig is az AiSrt felismeri őket, és figyelmeztet rájuk, ahelyett hogy csendben figyelmen kívül hagyná őket.
A teljes folyamat a nyers videótól a lefordított feliratokig
# Étape 1 : transcrire l'audio anglais
aisrt --transcribe "conference.mp4"
# donne conference.en.srt
# Étape 2 : traduire en français
aisrt "conference.en.srt" -s en -t fr
# donne conference.fr.srt
# Étape 3 : et en espagnol tant qu'à faire
aisrt "conference.en.srt" -s en -t es
# donne conference.es.srtHárom parancs, és a feliratok nélküli videó három nyelven válik elérhetővé.
Egy apró, de fontos részlet, ha ezt az egészet szkriptbe foglalod: az AiSrt 0-t ad vissza, ha minden rendben ment, 1-et hiba esetén, és 2-t, ha te magad szakítottad meg. Ami már ki lett írva a lemezre, ott marad, és a fordítás a következő indításkor folytatódik.
Mindent automatizálni, egyetlen kérdés nélkül
A fenti három parancs kérdéseket tesz fel: melyik sávot kell kinyerni, melyik modellt kell használni, le kell-e utána fordítani. Praktikus, amikor a képernyő előtt ülsz, sokkal kevésbé az, amikor egy teljes évadot akarsz éjszakára feldolgozni.
Négy beállítás váltja ki őket, így a teljes folyamat elfér egyetlen sorban:
# Extraire la piste 2, la traduire en francais, sans jamais rien demander
aisrt --extract "episode.mkv" --stream 2 --translate-to fr --non-interactiveVagy egy teljes mappához, Windows alatt:
Get-ChildItem *.mkv | ForEach-Object {
aisrt --extract $_.FullName --stream 1 --translate-to fr --non-interactive
}A --non-interactive nem talál ki semmit: minden kérdés az alapértelmezett értékét kapja, és megmondja, melyiket választotta, valamint melyik beállítással lehetett volna mást választani. Egy kifejezetten megadott értéket viszont soha nem hagy figyelmen kívül csendben. Ha egy olyan fájl 7-es sávját kéred, amelyben csak kettő van, leáll, és felsorolja az elérhető sávokat, ahelyett hogy mindent kinyerne, mintha mi sem történt volna. Egy szkript esetében jobb egy egyértelmű hiba, mint egy váratlan eredmény.
És ha ebben a módban megnyomod a Ctrl+C-t, azonnal leáll, megerősítés kérése nélkül. Nem lenne ott senki, aki válaszoljon, egy megválaszolatlan kérdés pedig végleg blokkolná a szkriptet.
Támogatott nyelvek
| Kód | Nyelv | Kód | Nyelv | Kód | Nyelv |
|---|---|---|---|---|---|
ar | Arab | cs | Cseh | da | Dán |
de | Német | el | Görög | en | Angol |
es | Spanyol | fi | Finn | fr | Francia |
he | Héber | hi | Hindi | hu | Magyar |
id | Indonéz | it | Olasz | ja | Japán |
ko | Koreai | ms | Maláj | nl | Holland |
no | Norvég | pl | Lengyel | pt | Portugál |
ro | Román | ru | Orosz | sv | Svéd |
th | Thai | tr | Török | uk | Ukrán |
vi | Vietnámi | zh | Kínai |
Írd be a aisrt --languages parancsot, hogy bármikor újra előhívd ezt a listát.
Speciális beállítások
Mindent az appsettings.json fájlban állíthatsz be:
- A modell, a
Modelkulccsal, ha agpt-5-mini-től eltérő OpenAI-modellt szeretnél. - A kötegek mérete, a
BatchSizehasználatával: a kérésenként elküldött blokkok száma, alapértelmezés szerint 40. - A sorok hossza, a
MaxLineLengthhasználatával: 50 karakternél hosszabb sor esetén az AiSrt megtöri a sort, hogy olvasható maradjon a képernyőn. - A hálózati időkorlát, a
RequestTimeoutMinuteshasználatával: alapértelmezés szerint 10 perc. Ha jelentősen megnöveled aBatchSize-t, ezt is növeld meg. - Az MI-nek adott utasítások, a
SystemPromptésUserInstructionPrompthasználatával. Itt válik érdekessé a dolog: a fordítást jogi, orvosi, vallási vagy műszaki környezethez igazíthatod e két szöveg átírásával. Szándékosan vettem ki őket a kódból erre a célra. - A hőmérséklet, 0.3 egy nagyon szó szerinti fordításhoz és 1.5 egy szabadabb fordításhoz. Alapértelmezés szerint 1.
- A fordítómotor, a
Translationszakaszban találhatóProviderhasználatával:openai,anthropic,gemini,xaivagyollama. Ez a beállítás az összes parancsodra érvényes, míg a--providercsak az éppen futóra. - Az Ollama beállításai, a saját szakaszukban: a szerver címe a
BaseUrlhasználatával, a modell aModelhasználatával, a kötegek mérete aBatchSizehasználatával, a kontextusablak mérete pedig aNumCtxhasználatával. Ha az elsőt megnöveled, gondolj a második növelésére is. - A karakterfelismerés, az
Ocrszakaszban: a tartaléknyelv aDefaultLanguagehasználatával, a tesseract darabolási módja aPageSegModehasználatával, a képek olvasás előtti felnagyítása pedig azUpscaleFactorhasználatával. Az utolsó kettő korlátozott értéktartományú: a képtelen értéket jelzi a program és lecseréli, ahelyett hogy képenkénti olvasás közben hibát okozna. - Az OCR-szöveg lektorálása, az
Ocr:Proofreadalatt: azEnabledkikapcsolja, aProvideregy másik szolgáltatásra bízza, mint amelyik fordít, aBatchSizepedig a kötegek méretét állítja be. A két promptját ugyanúgy átírhatod, mint a fordításét.
Kinek?
- A siket és nagyothalló embereknek, akiknek a mindennapokban feliratokra van szükségük ahhoz, hogy hozzáférjenek a videókhoz.
- A tartalomkészítőknek, akik a nyelvükön túl is szeretnének közönséget elérni.
- Azoknak a tanároknak és oktatóknak, akiknek az online kurzusai jobbat érdemelnek egy pontatlan automatikus feliratozásnál.
- A hivatásos fordítóknak, hogy néhány perc alatt elkészítsék az első vázlatot.
- A filmrajongóknak és sorozatkedvelőknek, természetesen.
- A nemzetközi videókat terjesztő egyesületeknek és NGO-knak.
Az AiSrt ingyenes és azonnal használható.
Töltsd le, próbáld ki, és tedd videóidat mindenki számára hozzáférhetővé.

Join the conversation
You need an account to comment on this article. Creating one is free and takes under a minute.
No comments yet.