Slik fungerer mediebehandling i nettleseren
I årevis betydde det å redigere en video eller konvertere et bilde på nett at du lastet filen opp til en annens server, ventet og lastet ned resultatet. Moderne nettlesere krever ikke lenger den avveiningen. Takket være en stabel av modne web-API-er kan en nettside nå dekode, endre og kode om medier direkte på maskinen din – den samme maskinen som viser denne siden. Denne guiden forklarer i klarspråk teknologiene som gjør det mulig, og hvordan du selv kan verifisere at filene dine blir liggende lokalt.
Hva betyr egentlig «mediebehandling i nettleseren»?
Når et nettsted behandler medier i nettleseren, kjører arbeidet inne i den samme sandkassen som tegner opp siden, med API-er nettleseren allerede har innebygd. Filen din leses fra disken inn i minnet på din egen enhet, endres der og skrives ut igjen som en nedlasting – uten at filen selv tar turen innom en server. Siden laster fortsatt ned sin egen kode og sine egne ressurser over nettverket, men videoen, lyden, bildet eller PDF-filen din forlater aldri maskinen din.
Hvordan kjører WebAssembly videokodeker nesten like raskt som et vanlig program?
WebAssembly (WASM) er et kompakt binærformat som nettlesere kjører nesten like raskt som kode skrevet for maskinen direkte. Modne biblioteker skrevet i C eller C++ – som FFmpeg for video eller en bildekoder – kompileres til WASM og leveres som en modul siden laster ned én gang. Det er dette folk mener med WASM-video på klientsiden: den samme dekodings- og kodingsmatematikken som et skrivebordsprogram utfører, kjørt inne i nettlesersandkassen på din egen prosessor. Fordi WASM er minnetrygt og sandkassebeskyttet, kan det arbeide seg gjennom en stor fil uten å få tilgang til resten av systemet ditt.
Hva er WebCodecs, og hvorfor kan de være raskere enn WASM alene?
WebCodecs er et nyere nettleser-API som gir JavaScript direkte tilgang til de innebygde, ofte maskinvareakselererte lyd- og videokodekene på enheten. I stedet for å levere en kodek som WASM, gir siden rå bilder til koderen eller dekoderen som operativsystemet allerede tilbyr, og det kan være dramatisk raskere og skåne batteriet. Støtten varierer fortsatt mellom nettlesere og formater, så godt bygde verktøy bruker WebCodecs når det er tilgjengelig, og faller tilbake på en WASM-utgave ellers. Uansett blir selve mediefilen liggende på enheten din.
Hvordan håndterer Canvas-API-et og PDF-opptegning bilder?
Canvas-API-et gir JavaScript en tegneflate med piksler. For å endre størrelse, beskjære, rotere, legge til vannmerke eller konvertere et bilde tegner et verktøy bildet på et lerret utenfor skjermen, bearbeider pikslene og leser resultatet ut igjen som en ny JPG, PNG eller WebP. Den samme flaten brukes til å tegne opp PDF-sider som bilder og til å fange et enkeltbilde fra en video. Alt sammen er ren pikselmatematikk på maskinen din, uten at noe lastes opp.
Hvordan behandler Web Audio-API-et lyd lokalt?
Web Audio-API-et er en graf av sammenkoblede lydnoder – kilder, filtre, forsterkning og analysatorer – som lar en side dekode, klippe, resample og kode om lyd i minnet. Å klippe en lydfil eller hente lydsporet ut av en video kjører i sin helhet gjennom denne grafen på enheten din. Kombinert med en WASM-koder kan den skrive ut MP3, WAV eller andre formater uten at opptaket ditt noen gang er innom en server.
Hva bidrar MediaRecorder og Web Workers med?
MediaRecorder tar opp en direktestrøm – skjermen, kameraet eller mikrofonen din – og koder den til en nedlastbar fil mens opptaket pågår, og det er nøyaktig slik en skjermopptaker i nettleseren fungerer. Web Workers kjører tungarbeidet på en bakgrunnstråd, slik at koding eller omkoding ikke fryser siden, og fanen holder seg responsiv mens en lang eksport blir ferdig. Sammen lar disse API-ene nettleseren oppføre seg som en liten, lokal arbeidsstasjon for medier.
Hvordan kan jeg bevise at filene mine aldri forlater enheten min?
Åpne utviklerverktøyene i nettleseren, bytt til fanen Nettverk og behandle en fil – du vil se sidens egen kode og ressurser bli lastet inn, men ingen forespørsel som laster opp mediefilen din. Det ene bevisste unntaket er lydtranskriberingen, som laster ned en talegjenkjenningsmodell én gang ved første bruk og mellomlagrer den, slik at senere transkriberinger kan kjøre uten nett. Den nedlastingen er selve KI-modellen, aldri lyden din. Dette er en falsifiserbar påstand du kan sjekke selv, og det er nettopp derfor verktøy med personvern først bygges på denne måten.
Relaterte verktøy
Ofte stilte spørsmål
- Betyr behandling i nettleseren at filene mine aldri lastes opp?
- Ja – mediefilene dine leses og endres i minnet på din egen enhet og tilbys tilbake som en nedlasting, så de sendes aldri til en server. Selve siden laster fortsatt ned koden og ressursene sine over nettverket, slik alle nettsteder gjør. Forskjellen er at filen din ikke er en del av den trafikken. Du kan bekrefte det i fanen Nettverk i utviklerverktøyene i nettleseren.
- Er WASM-video på klientsiden like bra som et skrivebordsprogram?
- For de fleste konverteringer, komprimeringer og klipp brukes de samme underliggende bibliotekene (som FFmpeg) som skrivebordsprogrammer bygger på, så kvaliteten på resultatet er sammenlignbar. Hovedforskjellene er fart og minne: en nettleserfane har mindre å gå på enn et installert program, så svært store eller svært lange filer behandles langsommere. Verktøy som også støtter WebCodecs, kan bruke maskinvareakselerasjon og tette mye av det gapet.
- Hvorfor må lydtranskriberingen laste ned noe?
- Talegjenkjenning krever en KI-modell, og den modellen lastes ned til nettleseren én gang ved første bruk og mellomlagres deretter. Fra da av kjører transkriberingen lokalt og kan til og med fungere uten nett. Nedlastingen er modellens vekter – lydopptakene dine blir fortsatt aldri lastet opp.
- Fungerer disse verktøyene uten nett?
- Når siden og eventuelle nødvendige moduler er lastet inn, kjører det meste av behandlingen uten internettforbindelse, fordi regnearbeidet skjer på enheten din. Lydtranskriberingen fungerer uten nett etter at modellen er hentet og mellomlagret. Et nytt besøk eller en tømt mellomlagring krever nettverket igjen for å laste sidens ressurser.
- Er nettleseren min kraftig nok til store mediefiler?
- Moderne nettlesere håndterer overraskende store filer, men de kjører innenfor minnegrenser, så svært store videoer kan bli behandlet langsomt eller måtte deles opp. Det hjelper å bruke en nettleser på PC eller Mac med mer minne, lukke andre tunge faner og velge verktøy som bruker WebCodecs. Er en fil for stor til å tas i én omgang, er det et praktisk knep å klippe den først.