Irrota tekstitys videosta
Ensimmäinen ajo lataa tekstitysmoottorin — noin 31 MB, tarjoiltuna tältä sivustolta ja selaimen välimuistiin jäävänä. Itse video ei koskaan poistu tästä välilehdestä.
Tämä sivu ottaa videotiedoston ja antaa takaisin tekstitysraidat, jotka siinä jo ovat, yhden tiedoston raitaa kohden ja nimettynä raidan kielen mukaan. Matroska-tiedosto, jossa on englanninkielinen SDH-raita, kiinankielinen raita ja PGS-kuvaraita, tulee ulos kolmena tiedostona: .srt, toinen .srt ja .sup. Säiliö demuksataan eikä koodata uudelleen, joten tekstiraita kopioidaan ulos tavuina, jotka siinä jo olivat — ei kirjoitettu uudelleen ruudulta eikä ajoitettu uudelleen.
Työ tapahtuu välilehdessä. Videon lukee WebAssemblyksi käännetty ffmpeg, jonka tämä sivusto toimittaa itse, ja ainoa verkkopyyntö on se moottori: noin 31 MB ensimmäisellä käyttökerralla, minkä jälkeen selain välimuistaa sen. Videota itseään ei koskaan lähetetä minnekään, mikä on sama sääntö kuin kaikilla muillakin tämän sivuston sivuilla ja syy siihen, että tätä voi käyttää aineistolle, jota ei saa päästää koneelta.
Kuvaan poltettuja tekstityksiä ei voi poimia, eikä mikään työkalu voi sitä tehdä, koska luettavaa raitaa ei ole — ne sanat ovat pikseleitä. Jos tiedostossa ei ole lainkaan tekstitysvirtaa, sivu sanoo sen sen sijaan että tuottaisi tyhjän tiedoston, ja se koskee myös poltettua tapausta: video, jossa on näkyvä tekstitys eikä tekstitysraitaa, raportoidaan sellaisena, ettei poimittavaa ole.
Sivu listaa jokaisen löytämänsä tekstitysvirran ennen kuin kirjoittaa mitään: indeksi, koodekki, kieli, otsikko ja se, onko virta merkitty oletukseksi tai pakotetuksi. Raidat, jotka jo elävät omassa säiliössään, pitävät oman muotonsa — ASS pysyy ASS:na, WebVTT pysyy WebVTT:nä — koska niiden muuntaminen tässä SRT:ksi pudottaisi tyylittelyn hiljaa, eikä tyylittelyn pudottaminen pyytämättä ole se yksi asia, jota tämä sivusto ei tee. Raita, jonka koodekilla ei ole omaa tiedostomuotoa (esimerkiksi MP4:n sisällä oleva mov_text-raita), koodataan uudelleen SRT:ksi, ja tuloskortti sanoo sen sen sijaan että se menisi läpi kopiona.
Bitmaps-raidat tulevat ulos kuvina, eivät tekstinä: PGS-virrasta tulee .sup ja DVD-virrasta .sub. Se on tarkoituksellista — kuva on se, mitä tiedostossa oli, ja sen tekstin arvaaminen on erillinen työ, jolla on oma sivunsa ja oma kielikysymyksensä. Vie .sup PGS-sivulle, jos tarvitset tekstiä.
Usein kysytyt kysymykset
Mitkä videosäiliöt voin pudottaa sisään?
MKV, MP4, M4V, AVI, MOV, TS, WebM, WMV, FLV, MPG ja OGV. Luettelo on oikeastaan luettelo demuksereista, jotka mukana tulevassa ffmpeg-koonnissa on, ei luettelo videokoodekeista: mitä säiliön sisällä on, tekstitysraidat ovat samanlaisia virtoja. Tiedosto, jolla on epätavallinen pääte mutta tavallinen Matroska-runko, toimii yleensä silti, koska demukseri lukee otsakkeen eikä nimeä; pirstoutunut tai kesken oleva lataus ei usein toimi, koska käveltävää hakemistoa ei ole.
Poistuuko video koneeltani, kun sitä luetaan?
Ei. Ainoa lataus on ffmpeg-moottori itse, noin 31 MB, tältä sivustolta toimitettuna ja selaimen välimuistiin jäävänä ensimmäisen käytön jälkeen. Videosi liitetään välilehdessä moottorin virtuaaliseen tiedostojärjestelmään ja luetaan sieltä; sitä ei koskaan kirjoiteta pyynnön runkoon. Voit varmistaa tämän Network-paneelista: kun tiedostoa käsitellään, mikään pyyntö ei kanna sitä. Juuri tuo ominaisuus on syy siihen, että sivu on olemassa — useimmat poimijat lataavat ensin, eikä oikeudellisessa tai lääketieteellisessä pidossa olevaa aineistoa voi ladata palvelimelle.
Miksi sain .srt:n sijaan .sup-tiedoston?
Koska se raita on tallennettu kuvina eikä tekstinä. PGS-virrat (koodekki hdmv_pgs_subtitle) ovat kuvasarja, ja kuvavirran rehellinen poiminta on kuvavirta: .sup, joka on täsmälleen se, mitä soittimet ja tekstityseditorit odottavat. Sen muuttaminen tekstiksi tarkoittaa kirjainten tunnistamista jokaisesta kuvasta, mikä on eri sivu, jolla on kielikysymys ja oikolukuvaihe. Poimija ei koskaan keksi tekstiä, jota se ei lukenut.
Mitä työkalu tekee raidalle, jonka muodolla ei ole omaa tiedostoa?
Se koodaa juuri sen raidan uudelleen SRT:ksi ja merkitsee tuloksen uudelleen koodatuksi. Tavallisin tapaus on mov_text, MP4:n sisällä elävä tekstityskoodekki: sillä ei ole omaa tiedostomuotoa, joten virran kopioiminen ulos tuottaisi tavuja, joita mikään ei avaisi. Uudelleen koodaaminen ei ole häviötöntä — tyylittely ja sijoittelu, joita mov_text voi kantaa, eivät säily — joten tuloskortti listaa sen menetyksenä sen sijaan että esittäisi tiedoston koskemattomana kopiona säiliön sisällöstä.
Miten tulostiedostot nimetään, kun raitoja on useita?
Videon oman nimen ja raidan kielikoodin mukaan: tiedosto nimeltä documentary.mkv ja englanninkielinen raita antaa documentary.eng.srt. Kun kaksi raitaa jakaa kielen — tavallinen englanninkielinen raita ja englanninkielinen SDH-raita, mikä on yleistä — toisesta tulee documentary.eng-2.srt eikä se kirjoita ensimmäisen päälle. Raita, jolla ei ole kielimerkintää, palaa virran indeksiinsä, joten se on yhä erotettavissa. Jos saat useamman kuin yhden tiedoston, sivu tarjoaa ne yhtenä zippinä, koska selaimet estävät sivua aloittamasta useita latauksia kerralla.
Miksi ensimmäinen ajo kestää pidempään kuin toinen?
Ensimmäinen ajo lataa ffmpeg-moottorin, noin 31 MB. Edistymisrivi kattaa sen latauksen ja sitten itse poiminnan. Selain välimuistaa moottorin, joten myöhemmät ajot samalla sivulla alkavat lähes heti; sama pätee uudelleenlatauksen jälkeen, jos välimuistia ei ole tyhjennetty. Moottori toimitetaan neljänä palasena, koska hosting-alusta kieltäytyy yli 25 MiB:n yksittäisistä tiedostoista, ja sivu kokoaa ne muistiin ennen aloittamista — se uudelleenkokoaminen on osa samaa ensimmäisen ajon odotusta.
Voinko perua ajon, joka kestää liian kauan?
Voit. Peruutusnappi pysäyttää käynnissä olevan poiminnan ja lopettaa sen tekevän työntekijän, joten suuri tiedosto ei pidä ydintä varattuna sen jälkeen kun olet päättänyt olla odottamatta. Peruminen ei ole virhe: kohde palaa tilaan, josta voit yrittää uudelleen, ja seuraava ajo aloittaa tuoreen työntekijän. Mitään osittaista ei tarjota ladattavaksi, koska puoliksi kirjoitettu tekstitystiedosto, joka näyttää valmiilta, on pahempi kuin ei tiedostoa lainkaan.