CodeKitHub
Hverdagsverktøy

Komprimer en video til en nøyaktig filstørrelse

Sist oppdatert:

Dette verktøyet krymper en video ned til en filstørrelse du velger — 8 MB, 25 MB, eller et hvilket som helst annet tall — ved å beregne den nøyaktige bithastigheten som trengs og kode den på nytt med ffmpeg som kjører direkte i nettleseren din (via ffmpeg.wasm), slik at videoen aldri lastes opp til en server. Beregningen følger den vanlige videokodingsformelen (mål-bithastighet = målstørrelse ÷ varighet), samme tilnærming som Handbrakes egen dokumentasjon anbefaler for koding med begrenset størrelse. Hvis du støter på Discords gratis 8 MB-opplastingsgrense, bruk 8 MB-forhåndsinnstillingen; hvis en e-postleverandør avviser et stort vedlegg, bruk 25 MB-forhåndsinnstillingen (Gmails grense); for alt annet skriver du inn et egendefinert mål.

Hva er dette verktøyet?

En videokomprimerer basert på målstørrelse koder videoen på nytt med akkurat den bithastigheten som kreves for å lande på (eller like under) en valgt filstørrelse, i stedet for en generisk 'kvalitets'-glidebryter som gir en uforutsigbar størrelse. Denne forskjellen er viktig når grensen er satt av noen andre — Discords gratisgrense for vedlegg er 8 MB, og de fleste e-postleverandører, inkludert Gmail, setter et tak på 25 MB for vedlegg — snarere enn av hvordan videoen ser ut.

Dette verktøyet måler videoens varighet, beregner det totale bithastighetsbudsjettet for målstørrelsen, fordeler budsjettet mellom video- og lydstrømmer, og koder på nytt med ffmpeg.wasm — WebAssembly-versjonen av den åpne kildekode-baserte FFmpeg-koderen — som kjører helt inne i nettleserfanen din. Ingenting lastes opp; kodingen skjer på din egen enhet.

Hvorfor bruke det?

  • 100 % lokalt: videofilen forlater aldri enheten din — ingen opplasting til server, ingen størrelsesbegrensning fra en hostingkvote.
  • Laget for reelle begrensninger: 8 MB (Discord gratisnivå) og 25 MB (Gmail/de fleste e-postleverandører) er forhåndsinnstillinger med ett klikk, pluss et felt for egendefinert størrelse for enhver annen grense.
  • Bruker den vanlige formelen for bithastighet basert på varighet i stedet for gjetting, med en innebygd sikkerhetsmargin slik at det faktiske resultatet sjelden havner over målet ditt.
  • Fremdriftslinje i sanntid under koding — ffmpeg.wasm-behandling kan ta en stund for lengre klipp, så du vet alltid at det jobber og ikke har stanset opp.
  • Viser den nøyaktige utstørrelsen etter komprimering, slik at du kan bekrefte at den holder seg innenfor grensen før du laster den opp eller legger den ved et annet sted.

Slik bruker du det

  1. Klikk på slippsonen (eller dra inn en fil) for å laste inn videoen din — verktøyet leser først størrelsen og varigheten.
  2. Velg et mål: 8 MB for Discord, 25 MB for e-post/Gmail, eller skriv inn en egendefinert størrelse i MB.
  3. Klikk Komprimer video og følg med på fremdriftslinjen — kodingen skjer i nettleseren din og kan ta fra noen sekunder til noen minutter avhengig av videolengde og enheten din.
  4. Når den er ferdig, sjekk den oppgitte utstørrelsen og klikk deretter Last ned.

Eksempel

Inndata

clip.mp4 — 42 MB, varighet 0:35

Resultat

clip-8MB.mp4 — 7,6 MB

Målet var 8 MB (Discord); verktøyet beregnet en video-bithastighet på ~1,5 Mbps for det 35 sekunder lange klippet, kodet med en sikkerhetsmargin på 10 %, og endte under grensen med god margin.

Hvordan mål-bithastigheten beregnes

Grunnformelen er enkel: total bithastighet (kbps) = målfilstørrelse (i kilobit) ÷ varighet (sekunder). Verktøyet legger til en sikkerhetsmargin på omtrent 10 % på bytebudsjettet før denne beregningen, og trekker deretter fra en reservert lyd-bithastighet (normalt 128 kbps, som trappes ned til 96 eller 64 kbps for svært små mål slik at lyden ikke spiser for mye av et stramt budsjett) for å komme frem til video-bithastigheten. Denne video-bithastigheten sendes til ffmpegs koder med både en hard grense (`-maxrate`) og en bufferstørrelse (`-bufsize`), slik at korte utbrudd av kompleks bevegelse ikke sprenger målet.

Ett detalj om enhetskonvertering er viktig for alle som bruker disse forhåndsinnstillingene nøyaktig: plattformers opplastingsgrenser, som Discords '8 MB', er som regel binære megabyte (1 MB = 1 048 576 byte, noen ganger kalt MiB), i tråd med hvordan lagrings- og overføringsgrenser vanligvis oppgis. Dette verktøyets bytebudsjett-beregning er bevisst konservativ — den bruker den mindre, strengere 1000-baserte megabyten for målbudsjettet og legger sikkerhetsmarginen oppå det — slik at resultatet holder seg under grensen uansett hvilken tolkning av 'MB' som gjelder.

Velge et mål for vanlige plattformer

Er du usikker på hvilken grense som gjelder, sjekk feilmeldingen plattformen ga deg — de fleste avvisninger på grunn av vedleggsstørrelse oppgir den eksakte grensen, som du kan skrive inn direkte som et egendefinert mål.

DestinasjonVanlig grenseAnbefalt mål
Discord (gratisnivå)8 MB per vedlegg8 MB-forhåndsinnstilling
Discord Nitro50–100 MB avhengig av nivåEgendefinert størrelse
Gmail / de fleste e-postleverandører25 MB per melding25 MB-forhåndsinnstilling
Slack (gratis arbeidsområde)1 GB (men store filer gir treg opplasting)Egendefinert størrelse, om ønskelig

Fra våre egne tester

Vi genererte et syntetisk testklipp med FFmpeg på kommandolinjen (en 12 sekunder lang 1280×720-video med tonelyd, kodet på ~800 kbps for å produsere en realistisk kildefil på flere megabyte) og kjørte det gjennom dette verktøyet med 8 MB Discord-forhåndsinnstillingen som mål. Resultatet endte under 8 MB som forventet, noe som bekrefter at bithastighetsberegningen og sikkerhetsmarginen holder stand mot en reell koding, ikke bare formelen på papiret.

Ofte stilte spørsmål

Blir videoen min lastet opp noe sted?

Nei. Komprimeringen skjer med ffmpeg.wasm, en WebAssembly-versjon av FFmpeg, som kjører i nettleserfanen din. Videofilen leses lokalt og sendes aldri til en server — du kan til og med koble fra internett etter at siden og motoren er lastet inn én gang.

Hvorfor tar den første komprimeringen lengre tid å starte?

Verktøyet laster inn ffmpeg.wasm-motoren (omtrent 30 MB) første gang du kjører en komprimering i en økt. Etter denne første innlastingen starter påfølgende komprimeringer på samme side umiddelbart.

Vil resultatet alltid holde seg under målstørrelsen min?

Verktøyet setter av en sikkerhetsmargin (det faktiske bithastighetsbudsjettet sikter mot rundt 90 % av valgt størrelse) fordi koder i praksis ikke treffer en eksakt bithastighet i hver eneste bilderute. I det sjeldne tilfellet at resultatet likevel blir litt for stort, velg et mindre egendefinert mål for å øke marginen — verktøyet vil varsle deg hvis dette skjer.

Hvorfor akkurat 8 MB for Discord?

Discords gratis (ikke-Nitro) nivå setter et tak på filopplastinger på 8 MB per vedlegg; Nitro-abonnenter får høyere grenser (50 MB eller 100 MB avhengig av nivå). 8 MB-forhåndsinnstillingen retter seg mot gratisnivåets grense, som er den de fleste møter på.

Hvorfor 25 MB for e-post?

25 MB er Gmails vedleggsgrense og et vanlig tak hos andre store leverandører også. Hvis din leverandør har en annen grense, bruk feltet for egendefinert størrelse i stedet.

Går komprimering ut over videokvaliteten?

Ja, nødvendigvis — å oppnå en mye mindre filstørrelse enn originalen betyr en lavere bithastighet, noe som reduserer detaljer og kan gi synlige komprimeringsartefakter, spesielt ved rask bevegelse eller detaljrike scener. Verktøyet velger fordelingen av bithastighet (video mot lyd) automatisk for å holde kvaliteten så høy som målstørrelsen tillater, men et klipp på 42 MB som må ned til 8 MB, vil se merkbart mykere ut enn originalen.

Hvilket video- og lydformat gir det ut?

Resultatet er alltid MP4 med H.264-video og AAC-lyd — den mest utbredt kompatible kombinasjonen for Discord, e-postklienter og de fleste sosiale plattformer.

Relaterte verktøy