CodeKitHub
Kasdieniai įrankiai

Suspauskite vaizdo įrašą iki tikslaus failo dydžio

Paskutinį kartą atnaujinta:

Šis įrankis sumažina vaizdo įrašą iki jūsų pasirinkto failo dydžio — 8 MB, 25 MB arba bet kokio kito skaičiaus — apskaičiuodamas tikslų reikiamą bitų dažnį ir perkoduodamas su ffmpeg, kuris veikia tiesiogiai jūsų naršyklėje (per ffmpeg.wasm), todėl vaizdo įrašas niekada nėra įkeliamas į serverį. Skaičiavimai remiasi standartine vaizdo kodavimo formule (tikslinis bitų dažnis = tikslinis dydis ÷ trukmė) — tuo pačiu metodu, kurį rekomenduoja Handbrake dokumentacija kodavimui pagal dydžio apribojimus. Jei susiduriate su Discord nemokamo plano 8 MB įkėlimo riba, naudokite 8 MB nustatymą; jei el. pašto paslaugų teikėjas atmeta didelį priedą, naudokite 25 MB nustatymą (Gmail riba); kitiems atvejams įveskite pasirinktinį dydį.

Kas yra šis įrankis?

Vaizdo įrašų suspaudimo pagal tikslinį dydį įrankis perkoduoja vaizdo įrašą tokiu bitų dažniu, kokio reikia, kad rezultatas atitiktų (arba būtų šiek tiek mažesnis už) pasirinktą failo dydį — vietoj įprasto „kokybės“ šliaužiklio, kuris duoda nenuspėjamą dydį. Šis skirtumas svarbus, kai ribą nustato kažkas kitas — Discord nemokamo plano priedų riba yra 8 MB, o dauguma el. pašto paslaugų teikėjų, įskaitant Gmail, riboja priedus iki 25 MB — o ne pats vaizdo kokybės vaizdas.

Šis įrankis nustato vaizdo įrašo trukmę, apskaičiuoja bendrą bitų dažnio biudžetą tiksliniam dydžiui, padalija šį biudžetą tarp vaizdo ir garso srautų bei perkoduoja naudodamas ffmpeg.wasm — atvirojo kodo FFmpeg kodavimo priemonės WebAssembly versiją — veikiančią visiškai jūsų naršyklės skirtuke. Niekas nėra įkeliama; kodavimas vyksta jūsų pačių įrenginyje.

Kodėl jį naudoti?

  • 100% lokaliai: vaizdo įrašo failas niekada nepalieka jūsų įrenginio — jokio įkėlimo į serverį, jokios dydžio ribos dėl talpinimo kvotos.
  • Sukurtas realioms situacijoms: 8 MB (Discord nemokamas planas) ir 25 MB (Gmail / dauguma el. pašto paslaugų) yra vieno paspaudimo nustatymai, be to, galite įvesti pasirinktinį dydį bet kokiai kitai ribai.
  • Naudoja standartinę bitų dažnio pagal trukmę formulę, o ne spėjimus, su įtaisytu saugumo skirtumu, kad galutinis rezultatas retai viršytų jūsų nustatytą tikslą.
  • Gyva eigos juosta kodavimo metu — ffmpeg.wasm apdorojimas gali užtrukti ilgesniems įrašams, todėl visada matote, kad viskas vyksta, o ne užstrigo.
  • Rodo tikslų išvesties dydį po suspaudimo, kad galėtumėte įsitikinti, jog jis atitinka ribą prieš įkeldami ar prisegdami jį kitur.

Kaip naudoti

  1. Spustelėkite įkėlimo zoną (arba nutempkite failą) norėdami įkelti vaizdo įrašą — įrankis pirmiausia nuskaito jo dydį ir trukmę.
  2. Pasirinkite tikslą: 8 MB Discord, 25 MB el. paštui / Gmail arba įveskite pasirinktinį dydį MB.
  3. Spustelėkite „Suspausti vaizdo įrašą“ ir stebėkite eigos juostą — kodavimas vyksta jūsų naršyklėje ir gali užtrukti nuo kelių sekundžių iki kelių minučių, priklausomai nuo vaizdo įrašo trukmės ir jūsų įrenginio.
  4. Kai procesas baigsis, patikrinkite nurodytą išvesties dydį, tada spustelėkite „Atsisiųsti“.

Pavyzdys

Įvestis

clip.mp4 — 42 MB, trukmė 0:35

Išvestis

clip-8MB.mp4 — 7,6 MB

Tikslas buvo 8 MB (Discord); įrankis apskaičiavo ~1,5 Mbps vaizdo bitų dažnį 35 sekundžių įrašui, koduojant su 10% saugumo skirtumu, ir rezultatas liko žemiau ribos su atsarga.

Kaip apskaičiuojamas tikslinis bitų dažnis

Pagrindinė formulė yra paprasta: bendras bitų dažnis (kbps) = tikslinis failo dydis (kilobitais) ÷ trukmė (sekundėmis). Įrankis prieš šį skaičiavimą pritaiko maždaug 10% saugumo skirtumą baitų biudžetui, tada atima rezervuotą garso bitų dažnį (paprastai 128 kbps, sumažinant iki 96 arba 64 kbps labai mažiems tikslams, kad garsas nepasisavintų per didelės griežto biudžeto dalies), taip gaunant vaizdo bitų dažnį. Šis vaizdo bitų dažnis perduodamas ffmpeg kodavimo priemonei kartu su griežta riba (`-maxrate`) ir buferio dydžiu (`-bufsize`), kad trumpi sudėtingo judesio pliūpsniai neviršytų tikslo.

Vienas matavimo vienetų konvertavimo niuansas svarbus tiems, kas nori naudoti šiuos nustatymus tiksliai: platformų įkėlimo ribos, tokios kaip Discord „8 MB“, dažniausiai nurodomos dvejetainiais megabaitais (1 MB = 1 048 576 baitai, kartais vadinama MiB), kaip įprasta nurodant saugojimo ir perdavimo ribas. Šio įrankio baitų biudžeto skaičiavimai yra sąmoningai atsargūs — jis naudoja mažesnį, griežtesnį 1000 pagrindu paremtą megabaitą tikslinio biudžeto skaičiavimui ir dar prideda saugumo skirtumą — todėl rezultatas lieka žemiau ribos, kad ir kaip interpretuotumėte „MB“.

Tikslo pasirinkimas populiarioms platformoms

Jei nesate tikri, kokia riba taikoma, patikrinkite platformos pateiktą klaidos pranešimą — dauguma atmestų priedų dydžio pranešimų nurodo tikslią ribą, kurią galite tiesiogiai įvesti kaip pasirinktinį tikslą.

PaskirtisĮprasta ribaRekomenduojamas tikslas
Discord (nemokamas planas)8 MB vienam priedui8 MB nustatymas
Discord Nitro50–100 MB, priklausomai nuo planoPasirinktinis dydis
Gmail / dauguma el. pašto paslaugų25 MB vienam laiškui25 MB nustatymas
Slack (nemokama darbo erdvė)1 GB (bet dideli failai lėtina įkėlimą)Pasirinktinis dydis, jei apskritai norite

Iš mūsų pačių testavimo

Sukūrėme sintetinį testinį įrašą naudodami FFmpeg komandinėje eilutėje (12 sekundžių, 1280×720 vaizdo įrašas su tono garsu, užkoduotas ~800 kbps, kad gautume realistišką kelių megabaitų šaltinio failą) ir paleidome jį per šį įrankį, nurodydami 8 MB Discord nustatymą. Rezultatas, kaip ir tikėtasi, buvo mažesnis nei 8 MB — tai patvirtina, kad bitų dažnio skaičiavimai ir saugumo skirtumas veikia ne tik teoriškai, bet ir su realiu kodavimu.

Dažniausiai užduodami klausimai

Ar mano vaizdo įrašas kur nors įkeliamas?

Ne. Suspaudimas vyksta naudojant ffmpeg.wasm, FFmpeg WebAssembly versiją, veikiančią jūsų naršyklės skirtuke. Vaizdo įrašo failas nuskaitomas lokaliai ir niekada nesiunčiamas į serverį — galite net atsijungti nuo interneto, kai puslapis ir jo variklis jau bus vieną kartą įkelti.

Kodėl pirmasis suspaudimas užtrunka ilgiau?

Įrankis pirmą kartą sesijoje paleidžia ffmpeg.wasm variklį (apie 30 MB). Po šio pirmo įkėlimo tolesni suspaudimai tame pačiame puslapyje prasideda iš karto.

Ar rezultatas visada bus mažesnis už mano nustatytą dydį?

Įrankis palieka saugumo skirtumą (faktinis bitų dažnio biudžetas nukreiptas į maždaug 90% jūsų pasirinkto dydžio), nes realūs kodavimo įrankiai ne kiekvieną kadrą pasiekia tikslų bitų dažnį. Retais atvejais, jei rezultatas vis tiek šiek tiek viršija ribą, pasirinkite mažesnį pasirinktinį tikslą, kad turėtumėte daugiau atsargos — įrankis apie tai jus įspės.

Kodėl būtent 8 MB Discord?

Discord nemokamas (ne Nitro) planas riboja failų įkėlimą iki 8 MB vienam priedui; Nitro prenumeratoriai gauna didesnes ribas (50 MB arba 100 MB, priklausomai nuo plano). 8 MB nustatymas skirtas nemokamo plano ribai, su kuria susiduria dauguma vartotojų.

Kodėl 25 MB el. paštui?

25 MB yra Gmail priedų riba ir dažna riba tarp kitų didžiųjų paslaugų teikėjų. Jei jūsų paslaugų teikėjo riba kitokia, naudokite pasirinktinio dydžio lauką.

Ar suspaudimas pablogina vaizdo kokybę?

Taip, neišvengiamai — siekiant gerokai mažesnio failo dydžio nei originalus, reikia mažesnio bitų dažnio, o tai sumažina detalumą ir gali sukelti pastebimų suspaudimo artefaktų, ypač greito judesio ar itin detalizuotose scenose. Įrankis automatiškai parenka vaizdo ir garso bitų dažnio pasiskirstymą, kad kokybė būtų kuo aukštesnė, kiek leidžia tikslinis dydis, tačiau 42 MB įrašas, suspaustas iki 8 MB, atrodys pastebimai prastesnis nei originalas.

Kokį vaizdo ir garso formatą jis sukuria?

Išvestis visada yra MP4 su H.264 vaizdo ir AAC garso kodavimu — plačiausiai suderinamu deriniu Discord, el. pašto programoms ir daugumai socialinių tinklų platformų.

Susiję įrankiai