Kopeeri YouTube’i transkript
YouTube’i transkriptsiooni kopeerimine
Milleks kasutada?
YouTube’i automaatse kõnetuvastuse abil loodud transkriptsiooni saab mõne hiireklõpsuga terviktekstina kopeerida ja salvestada. Kopeeritud tekstist jäetakse ajatemplid välja.
Selleks tuleb veebilehitseja järjehoidjaribale lisada spetsiaalne järjehoidjanupp (bookmarklet), näiteks nimega Kopeeri YouTube’i transkript.
Lahendus sobib nii Brave’i ja teiste Chromiumi-põhiste veebilehitsejate kui ka Firefoxi jaoks.
Järjehoidjanupu loomine
Brave ja teised Chromiumi-põhised veebilehitsejad
- Kuva järjehoidjariba klahvikombinatsiooniga
Ctrl + Shift + B. - Tee järjehoidjariba tühjal kohal paremklõps.
- Vali Lisa leht (Add page).
- Sisesta järjehoidja nimeks näiteks
Kopeeri YouTube’i transkript. - Kleebi väljale URL allpool olev üherealine JavaScripti kood.
- Salvesta järjehoidja.
Mozilla Firefox
- Kuva järjehoidjariba klahvikombinatsiooniga
Ctrl + Shift + B. - Vajuta suvalisel veebilehel
Ctrl + D. - Salvesta järjehoidja kausta Järjehoidjariba (Bookmarks Toolbar).
- Tee loodud järjehoidjal paremklõps ja vali Muuda järjehoidjat (Edit Bookmark).
- Sisesta järjehoidja nimeks näiteks
Kopeeri YouTube’i transkript. - Asenda järjehoidja aadress allpool oleva JavaScripti koodiga.
- Salvesta muudatused.
Firefox võimaldab järjehoidja nime, asukohta ja muid omadusi ka hiljem muuta.
Järjehoidjanupu JavaScripti kood
Oluline: kopeeri kogu järgmine kood algusest lõpuni ja kleebi järjehoidja aadressiväljale.
- Aadress peab algama täpselt tekstiga
javascript:. - Selle ees ei tohi olla tühikut.
- Kood peab järjehoidja aadressiväljal olema ühe reana.
- Koodis esinevad URL-kodeeritud märgid, näiteks
%20, tuleb säilitada muutmata kujul.
Kogu koodi saab kopeerida koodiploki juures oleva Kopeeri-nupu abil.
javascript:(()=>{const s=[...document.querySelectorAll('transcript-segment-view-model.ytwTranscriptSegmentViewModelHost,transcript-segment-view-model,ytd-transcript-segment-renderer')];if(!s.length){alert('Transkriptsiooni ei leitud. Ava k%C3%B5igepealt YouTube\u2019is transkriptsioonipaneel.');return}const a=s.map(e=>{const n=e.querySelector('span.ytAttributedStringHost[role="text"],.yt-core-attributed-string[role="text"],span[role="text"],#segment-text,.segment-text');return(n?.textContent||'').replace(/\s+/g,'%20').trim()}).filter(Boolean);if(!a.length){alert('Transkriptsioonisegmendid%20leiti,%20kuid%20nende%20teksti%20ei%20leitud.');return}const%20t=a.join('%20').replace(/\s+/g,'%20').replace(/\s+([,.;:!?])/g,'$1').trim();const%20f=()=>{const%20x=document.createElement('textarea');x.value=t;x.style='position:fixed;left:-9999px;top:0';document.body.appendChild(x);x.select();const%20ok=document.execCommand('copy');x.remove();alert(ok?`${a.length}%20transkriptsiooniosa%20kopeeritud%20ilma%20ajatempliteta.`:'Kopeerimine%20eba%C3%B5nnestus.');};navigator.clipboard?.writeText(t).then(()=>alert(`${a.length}%20transkriptsiooniosa%20kopeeritud%20ilma%20ajatempliteta.`)).catch(f)??f()})()
Märkus: kood sõltub YouTube’i transkriptsioonipaneeli ülesehitusest. Kui YouTube muudab transkriptsiooni kuvamise tehnilist lahendust, võib olla vajalik koodi uuendada.
Kasutamine
- Ava soovitud YouTube’i video.
- Ava video transkriptsioon valikuga Kuva transkriptsioon.
- Tavaliselt leiab selle video kirjelduse juurest, kui avada kirjeldus valikuga Rohkem.
- Oota, kuni transkriptsioonipaneel on nähtav ja transkriptsioon lõpuni laaditud.
- Klõpsa järjehoidjaribal nuppu Kopeeri YouTube’i transkript.
- Ilmub teade, mitu transkriptsiooniosa kopeeriti.
- Kleebi lõikelauale kopeeritud tekst klahvikombinatsiooniga
Ctrl + Vsoovitud kohta, näiteks tekstiredaktorisse. - Salvesta tekst sobivas failivormingus.
Mida see lahendus teeb?
Järjehoidjanupu käivitamisel:
- jäetakse välja eestikeelsed ajatemplid, näiteks „10 sekundit“ ja „1 minut 20 sekundit“;
- jäetakse välja ingliskeelsed ajatemplid;
- jäetakse välja kellaajavormingus ajatemplid, näiteks
0:10ja1:02:15; - ühendatakse transkriptsiooniosad üheks pidevaks tekstiks;
- eemaldatakse liigsed tühikud;
- eemaldatakse tühikud kirjavahemärkide eest;
- kopeeritakse saadud terviktekst lõikelauale.
Tulemus: videos räägitud tekst on lõikelaual terviktekstina, ilma YouTube’i transkriptsioonipaneeli ajatempliteta.
Tehniline selgitus
Lõikelauale kirjutamiseks kasutatakse esmalt veebilehitseja Clipboard API liidest.
See toimib turvalisel HTTPS-lehel kasutaja tegevuse tulemusel, praegusel juhul järjehoidjaribale loodud nupul klõpsamise järel.
Kui Clipboard API kaudu kopeerimine ebaõnnestub või liides pole saadaval, proovib kood varumeetodina kasutada käsku document.execCommand('copy').
Õnnestunud kopeerimise korral kuvatakse teade kopeeritud transkriptsiooniosade arvu kohta. Ebaõnnestumise korral kuvatakse vastav veateade.
Piirangud
- Video transkriptsioon peab olema YouTube’is saadaval.
- Enne järjehoidjanupu kasutamist peab transkriptsioonipaneel olema avatud.
- Kood kopeerib transkriptsioonipaneelilt leitud tekstiosad. See ei paranda automaatse kõnetuvastuse õigekirja- ega sisuvigu.
- YouTube’i veebiliidese muudatused võivad põhjustada olukorra, kus kood enam ei tööta ja vajab ajakohastamist.