CodeKitHub
Mindennapi eszközök

Videó tömörítése pontos fájlméretre

Utolsó frissítés:

Ez az eszköz az Ön által megadott fájlméretre — 8 MB-ra, 25 MB-ra vagy bármilyen egyéni értékre — csökkenti a videót úgy, hogy kiszámítja a pontosan szükséges bitrátát, és újrakódolja a videót a böngészőjében közvetlenül futó ffmpeg segítségével (az ffmpeg.wasm révén), így a videó soha nem kerül feltöltésre semmilyen szerverre. A számítás a videokódolás szabványos képletét követi (célbitráta = célméret ÷ időtartam), amelyet a Handbrake saját dokumentációja is ajánl mérethez kötött kódoláshoz. Ha a Discord ingyenes csomagjának 8 MB-os feltöltési korlátjába ütközik, használja a 8 MB-os előbeállítást; ha egy e-mail-szolgáltató visszautasít egy nagy méretű mellékletet, használja a 25 MB-os előbeállítást (a Gmail korlátja); minden más esetben adja meg az egyéni célértéket.

Mi ez az eszköz?

A célméretre optimalizált videótömörítő olyan bitrátával kódolja újra a videót, amely szükséges a kiválasztott fájlméret eléréséhez (vagy éppen az alá kerüléshez), szemben az általános 'minőség' csúszkával, amely kiszámíthatatlan méretet eredményez. Ez a különbség akkor számít, ha a korlátot valaki más határozza meg — a Discord ingyenes csomagjának mellékletkorlátja 8 MB, a legtöbb e-mail-szolgáltató, köztük a Gmail is, 25 MB-ban maximálja a mellékleteket —, nem pedig az, hogy hogyan néz ki a videó.

Ez az eszköz megméri a videó időtartamát, kiszámítja a célmérethez tartozó teljes bitrátakeretet, elosztja azt a video- és hangsáv között, majd újrakódolja az ffmpeg.wasm segítségével — ez a nyílt forráskódú FFmpeg kódoló WebAssembly változata —, amely teljes egészében a böngészőlapon fut. Semmi sem kerül feltöltésre; a kódolás a saját eszközén történik.

Miért érdemes használni?

  • 100%-ban helyi: a videofájl soha nem hagyja el az eszközét — nincs szerverre történő feltöltés, nincs a tárhelykvóta által meghatározott méretkorlát.
  • Valós korlátokra tervezve: a 8 MB (Discord ingyenes csomag) és a 25 MB (Gmail/legtöbb e-mail-szolgáltató) egy kattintással elérhető előbeállítás, emellett egyéni méret is megadható bármilyen más korláthoz.
  • A találgatás helyett az időtartamból számított szabványos bitráta-képletet használja, beépített biztonsági ráhagyással, így a végeredmény szinte soha nem lépi túl a célértéket.
  • Élő folyamatjelző sáv a kódolás alatt — az ffmpeg.wasm feldolgozása hosszabb klipeknél eltarthat egy ideig, így mindig tudja, hogy az eszköz dolgozik, nem akadt el.
  • A tömörítés után megjeleníti a pontos kimeneti méretet, hogy még feltöltés vagy csatolás előtt megbizonyosodhasson arról, hogy megfelel a korlátnak.

Használati útmutató

  1. Kattintson a fájlfeltöltő területre (vagy húzzon rá egy fájlt) a videó betöltéséhez — az eszköz először beolvassa a méretét és időtartamát.
  2. Válasszon célértéket: 8 MB a Discordhoz, 25 MB az e-mailhez/Gmailhez, vagy adjon meg egyéni méretet MB-ban.
  3. Kattintson a Compress video gombra, és kövesse a folyamatjelző sávot — a kódolás a böngészőjében fut, és a videó hosszától, valamint az eszköz teljesítményétől függően néhány másodperctől néhány percig is tarthat.
  4. Amikor a folyamat véget ért, ellenőrizze a megjelenített kimeneti méretet, majd kattintson a Download gombra.

Példa

Bemenet

clip.mp4 — 42 MB, 0:35 időtartam

Kimenet

clip-8MB.mp4 — 7,6 MB

A célérték 8 MB volt (Discord); az eszköz a 35 másodperces klipnél kb. 1,5 Mbps videobitrátát számított ki, 10%-os biztonsági ráhagyással kódolt, és a végeredmény kényelmesen a korlát alatt maradt.

Hogyan számítódik ki a célbitráta

Az alapképlet egyszerű: teljes bitráta (kbps) = célfájlméret (kilobitben) ÷ időtartam (másodpercben). Az eszköz a számítás előtt nagyjából 10%-os biztonsági ráhagyást alkalmaz a bájtkereten, majd levonja a fenntartott hangbitrátát (jellemzően 128 kbps, nagyon kis célértékeknél 96 vagy 64 kbps-ra csökkentve, hogy a hang ne emésszen fel túl sokat a szűkös keretből), így jutva el a videobitrátához. Ezt a videobitrátát az eszköz átadja az ffmpeg kódolónak egy szigorú felső korláttal (`-maxrate`) és pufferméretttel (`-bufsize`) együtt, hogy a bonyolult mozgás rövid szakaszai se lépjék túl a célértéket.

Egy mértékegység-átváltási részlet fontos mindenkinek, aki pontosan szeretné használni ezeket az előbeállításokat: az olyan platformok feltöltési korlátai, mint a Discord '8 MB'-ja, általában bináris megabájtot jelentenek (1 MB = 1 048 576 bájt, amit néha MiB-nek is neveznek), összhangban azzal, ahogyan a tárolási és átviteli korlátokat általában megadják. Ennek az eszköznek a bájtkeret-számítása szándékosan óvatos — a célkerethez a kisebb, szigorúbb, 1000-es alapú megabájtot használja, és erre épül még rá a biztonsági ráhagyás —, így az eredmény mindkét 'MB'-értelmezés mellett a korlát alatt marad.

Célméret kiválasztása a gyakori platformokhoz

Ha nem biztos benne, melyik korlát vonatkozik Önre, nézze meg a platform által adott hibaüzenetet — a legtöbb mellékletméret miatti elutasítás megadja a pontos korlátot, amelyet közvetlenül megadhat egyéni célértékként.

CélJellemző korlátJavasolt célérték
Discord (ingyenes csomag)8 MB mellékletenként8 MB-os előbeállítás
Discord Nitro50–100 MB, szinttől függőenEgyéni méret
Gmail / a legtöbb e-mail-szolgáltató25 MB üzenetenként25 MB-os előbeállítás
Slack (ingyenes munkaterület)1 GB (de a nagy fájlok lassítják a feltöltést)Egyéni méret, ha egyáltalán szükséges

A saját teszteléseinkből

Egy szintetikus tesztklipet állítottunk elő az FFmpeg parancssori eszközzel (egy 12 másodperces, 1280×720-as videó hanggal, kb. 800 kbps-on kódolva, hogy reális, több megabájtos forrásfájlt kapjunk), majd ezt futtattuk le ezen az eszközön a 8 MB-os Discord-előbeállítást célozva meg. A kimenet a várakozásnak megfelelően 8 MB alatt maradt, ami megerősíti, hogy a bitrátaszámítás és a biztonsági ráhagyás valós kódolásnál is helytálló, nem csak papíron a képletben.

Gyakori kérdések

Feltöltésre kerül valahova a videóm?

Nem. A tömörítés az ffmpeg.wasm segítségével történik, amely az FFmpeg WebAssembly változata, és a böngészőlapon belül fut. A videofájl helyben kerül beolvasásra, és soha nem kerül elküldésre semmilyen szerverre — miután az oldal és a motorja egyszer betöltődött, akár le is választhatja magát az internetről.

Miért tart egy darabig, amíg elindul az első tömörítés?

Az eszköz a munkamenet során először betölti az ffmpeg.wasm motort (nagyjából 30 MB). Ezt az első betöltést követően az ugyanazon az oldalon végzett további tömörítések azonnal elindulnak.

A kimenet mindig a célméret alatt lesz?

Az eszköz biztonsági ráhagyást tartalmaz (a tényleges bitrátakeret a kiválasztott méret kb. 90%-át célozza meg), mivel a valós kódolók nem érik el pontosan ugyanazt a bitrátát minden képkockán. A ritka esetben, ha a kimenet mégis kissé a korlát fölé kerül, válasszon kisebb egyéni célértéket a nagyobb ráhagyás érdekében — az eszköz figyelmeztetni fogja, ha ez történik.

Miért pont 8 MB a Discordhoz?

A Discord ingyenes (nem Nitro) csomagja mellékletenként 8 MB-ra korlátozza a fájlfeltöltést; a Nitro-előfizetők magasabb korlátot kapnak (szinttől függően 50 MB vagy 100 MB). A 8 MB-os előbeállítás az ingyenes csomag korlátját célozza meg, amellyel a legtöbben találkoznak.

Miért pont 25 MB az e-mailhez?

A 25 MB a Gmail mellékletkorlátja, és más nagyobb szolgáltatóknál is gyakori felső határ. Ha az Ön szolgáltatójánál eltérő a korlát, használja inkább az egyéni méret mezőt.

A tömörítés ront a videó minőségén?

Igen, szükségszerűen — az eredetinél lényegesen kisebb fájlméret elérése alacsonyabb bitrátát jelent, ami csökkenti a részletgazdagságot, és látható tömörítési műtermékeket okozhat, különösen gyors mozgásnál vagy részletgazdag jeleneteknél. Az eszköz automatikusan választja meg a video- és hangbitráta arányát, hogy a minőség a célmérethez képest a lehető legjobb maradjon, de egy 42 MB-os klip 8 MB-ra kényszerítése észrevehetően puhábbnak fog látszani az eredetihez képest.

Milyen video- és hangformátumban készül a kimenet?

A kimenet mindig MP4, H.264 videóval és AAC hanggal — ez a legszélesebb körben kompatibilis kombináció a Discordhoz, az e-mail-kliensekhez és a legtöbb közösségimédia-platformhoz.

Kapcsolódó eszközök