CodeKitHub
Arkityökalut

Pakkaa video tarkkaan tiedostokokoon

Viimeksi päivitetty:

Tämä työkalu pienentää videon valitsemaasi tiedostokokoon — 8 Mt, 25 Mt tai mihin tahansa muuhun lukemaan — laskemalla tarvittavan bittinopeuden ja pakkaamalla videon uudelleen ffmpegillä, joka toimii suoraan selaimessasi (ffmpeg.wasmin avulla), joten videota ei koskaan lähetetä palvelimelle. Laskenta perustuu videoiden pakkauksen vakiokaavaan (tavoitebittinopeus = tavoitekoko ÷ kesto) — samaa periaatetta suosittelee myös Handbraken oma dokumentaatio kokorajoitteisille pakkauksille. Jos Discordin ilmaisversion 8 Mt:n latausraja tulee vastaan, käytä 8 Mt:n esiasetusta; jos sähköpostipalveluntarjoaja hylkää suuren liitetiedoston, käytä 25 Mt:n esiasetusta (Gmailin raja); muissa tapauksissa syötä oma tavoitekoko.

Mikä tämä työkalu on?

Tavoitekokoon perustuva videon pakkaaja pakkaa videon uudelleen sellaisella bittinopeudella, joka tarvitaan valitun tiedostokoon saavuttamiseksi (tai juuri sen alle), toisin kuin tavallinen 'laatu'-liukusäädin, jonka lopputulos on ennalta arvaamaton koko. Tämä ero on tärkeä silloin, kun rajan asettaa joku muu — Discordin ilmaisversion liitetiedostoraja on 8 Mt, ja useimmat sähköpostipalveluntarjoajat, Gmail mukaan lukien, rajoittavat liitteet 25 megatavuun — eikä sillä, miltä video näyttää.

Tämä työkalu mittaa videon keston, laskee tavoitekoon mukaisen kokonaisbittinopeusbudjetin, jakaa sen video- ja äänivirran kesken ja pakkaa videon uudelleen ffmpeg.wasmilla — se on avoimen lähdekoodin FFmpeg-pakkaimen WebAssembly-versio, joka toimii täysin selainvälilehdelläsi. Mitään ei ladata palvelimelle — pakkaus tapahtuu omalla laitteellasi.

Miksi käyttää sitä?

  • 100 % paikallinen: videotiedosto ei koskaan poistu laitteeltasi — ei palvelinlatausta, ei hosting-kiintiön asettamaa kokorajaa.
  • Suunniteltu todellisia rajoituksia varten: 8 Mt (Discordin ilmaisversio) ja 25 Mt (Gmail/useimmat sähköpostipalveluntarjoajat) ovat yhden klikkauksen esiasetuksia, ja lisäksi voit syöttää mukautetun koon mitä tahansa muuta rajaa varten.
  • Käyttää arvailun sijaan keston perusteella laskettavaa vakiobittinopeuskaavaa, jossa on sisäänrakennettu turvamarginaali, jotta lopullinen tiedosto ylittää tavoitteen harvoin.
  • Reaaliaikainen edistymispalkki pakkauksen aikana — ffmpeg.wasmin käsittely voi kestää pidempien klippien kohdalla hetken, joten näet aina, että työkalu toimii eikä ole jumissa.
  • Näyttää tarkan lopputiedoston koon pakkauksen jälkeen, jotta voit varmistaa rajan alittumisen ennen lähettämistä tai liittämistä muualle.

Käyttöohje

  1. Napsauta pudotusaluetta (tai vedä tiedosto sinne) videon lataamiseksi — työkalu lukee ensin sen koon ja keston.
  2. Valitse tavoite: 8 Mt Discordia varten, 25 Mt sähköpostia/Gmailia varten tai kirjoita mukautettu koko megatavuina.
  3. Napsauta Compress video -painiketta ja seuraa edistymispalkkia — pakkaus tapahtuu selaimessasi ja voi kestää muutamasta sekunnista muutamaan minuuttiin videon pituudesta ja laitteestasi riippuen.
  4. Kun pakkaus on valmis, tarkista ilmoitettu lopputiedoston koko ja napsauta sitten Download.

Esimerkki

Syöte

clip.mp4 — 42 Mt, kesto 0:35

Tuloste

clip-8MB.mp4 — 7,6 Mt

Tavoitteena oli 8 Mt (Discord); työkalu laski 35 sekunnin klipille noin 1,5 Mbps:n videobittinopeuden, pakkasi 10 %:n turvamarginaalilla ja lopputulos jäi selvästi rajan alle.

Miten tavoitebittinopeus lasketaan

Perustava kaava on yksinkertainen: kokonaisbittinopeus (kbps) = tavoitteena oleva tiedostokoko (kilobiteissä) ÷ kesto (sekunteina). Työkalu lisää tavutabudjettiin noin 10 %:n turvamarginaalin ennen tätä laskentaa ja vähentää sitten varatun äänibittinopeuden (normaalisti 128 kbps, laskien 96 tai 64 kbps:iin hyvin pienillä tavoitteilla, jotta ääni ei vie liikaa tiukasta budjetista) saadakseen videobittinopeuden. Tämä videobittinopeus välitetään ffmpegin pakkaimelle sekä ylärajan (`-maxrate`) että puskurikoon (`-bufsize`) kanssa, jotta lyhyet monimutkaisen liikkeen jaksot eivät ylitä tavoitetta.

Yksikkömuunnoksen yksityiskohta on tärkeä niille, jotka käyttävät näitä esiasetuksia tarkasti: alustojen latausrajat, kuten Discordin '8 Mt', tarkoittavat yleensä binäärisiä megatavuja (1 Mt = 1 048 576 tavua, joita joskus kutsutaan MiB:ksi), mikä vastaa tapaa, jolla tallennus- ja siirtorajat yleensä ilmoitetaan. Tämän työkalun tavutabudjettilaskenta on tarkoituksella varovainen — se käyttää tavoitebudjetissa pienempää, tiukempaa 1000-pohjaista megatavua ja lisää sen päälle vielä turvamarginaalin — joten lopputulos pysyy rajan alla kummalla tahansa 'Mt':n tulkinnalla.

Tavoitekoon valinta yleisille alustoille

Jos et ole varma, mikä raja on kyseessä, tarkista alustan antama virheilmoitus — useimmat liitetiedoston koosta johtuvat hylkäykset ilmoittavat tarkan rajan, jonka voit syöttää suoraan mukautetuksi tavoitteeksi.

KohdeTyypillinen rajaSuositeltu tavoite
Discord (ilmaisversio)8 Mt liitettä kohden8 Mt:n esiasetus
Discord Nitro50–100 Mt tasosta riippuenMukautettu koko
Gmail / useimmat sähköpostipalveluntarjoajat25 Mt viestiä kohden25 Mt:n esiasetus
Slack (ilmainen työtila)1 Gt (mutta suuret tiedostot hidastavat latausta)Mukautettu koko, jos ylipäätään tarpeen

Omista testeistämme

Loimme FFmpegin komentorivillä synteettisen testiklipin (12 sekunnin 1280×720-video äänensävyllä, pakattu noin 800 kbps:ssa realistisen usean megatavun lähdetiedoston aikaansaamiseksi) ja ajoimme sen tämän työkalun läpi käyttäen 8 Mt:n Discord-esiasetusta. Tuloste jäi odotetusti alle 8 Mt:n, mikä vahvistaa, että bittinopeuslaskenta ja turvamarginaali toimivat myös todellisessa pakkauksessa, ei vain kaavana paperilla.

Usein kysytyt kysymykset

Ladataanko videoni jonnekin?

Ei. Pakkaus tapahtuu ffmpeg.wasmilla, joka on FFmpegin WebAssembly-versio ja toimii selainvälilehdelläsi. Videotiedosto luetaan paikallisesti eikä sitä koskaan lähetetä palvelimelle — voit jopa katkaista internetyhteyden sen jälkeen, kun sivu ja sen moottori on ladattu kerran.

Miksi ensimmäinen pakkaus kestää käynnistyä?

Työkalu lataa ffmpeg.wasm-moottorin (noin 30 Mt) ensimmäisellä kerralla, kun käynnistät pakkauksen istunnon aikana. Tämän jälkeen samalla sivulla tehtävät pakkaukset käynnistyvät välittömästi.

Onko lopputulos aina tavoitekokoani pienempi?

Työkalu varaa turvamarginaalin (todellinen bittinopeusbudjetti tavoittelee noin 90 % valitsemastasi koosta), koska todelliset pakkaimet eivät osu tarkkaan bittinopeuteen joka kuvassa. Harvinaisessa tapauksessa, jossa lopputulos on silti hieman rajan yli, valitse pienempi mukautettu tavoite lisätäksesi marginaalia — työkalu varoittaa sinua, jos näin käy.

Miksi juuri 8 Mt Discordia varten?

Discordin ilmaisversiossa (ei-Nitro) tiedostojen latausraja on 8 Mt liitettä kohden; Nitro-tilaajilla rajat ovat suuremmat (50 Mt tai 100 Mt tasosta riippuen). 8 Mt:n esiasetus vastaa ilmaisversion rajaa, johon useimmat törmäävät.

Miksi juuri 25 Mt sähköpostia varten?

25 Mt on Gmailin liitetiedostoraja ja yleinen yläraja myös muilla suurilla palveluntarjoajilla. Jos palveluntarjoajallasi on eri raja, käytä sen sijaan mukautetun koon kenttää.

Heikentääkö pakkaus videon laatua?

Kyllä, väistämättä — huomattavasti alkuperäistä pienemmän tiedostokoon saavuttaminen tarkoittaa matalampaa bittinopeutta, mikä vähentää yksityiskohtia ja voi aiheuttaa näkyviä pakkausartefakteja, erityisesti nopeassa liikkeessä tai yksityiskohtaisissa kohtauksissa. Työkalu valitsee video- ja äänibittinopeuden jaon automaattisesti pitääkseen laadun mahdollisimman korkeana annetun tavoitekoon rajoissa, mutta 42 Mt:n klippi, joka pakataan 8 Mt:iin, näyttää selvästi alkuperäistä epätarkemmalta.

Missä video- ja äänimuodossa tuloste on?

Tuloste on aina MP4, jossa on H.264-video ja AAC-ääni — tämä on laajimmin yhteensopiva yhdistelmä Discordille, sähköpostiohjelmille ja useimmille some-alustoille.

Liittyvät työkalut