CodeKitHub
Инструменти за всеки ден

Компресирайте видео до точен размер на файла

Последна актуализация:

Този инструмент смалява видео до размер, който вие избирате — 8 MB, 25 MB или произволно число — като изчислява точния необходим битрейт и прекодира с ffmpeg, работещ directly във вашия браузър (чрез ffmpeg.wasm), така че видеото никога не се качва на сървър. Изчисленията следват стандартната формула за видео кодиране (целеви битрейт = целеви размер ÷ продължителност) — същия подход, който препоръчва собствената документация на Handbrake за кодиране с ограничен размер. Ако достигате безплатния лимит на Discord от 8 MB за качване, използвайте пресета за 8 MB; ако имейл доставчик отхвърля голямо прикачено, използвайте пресета за 25 MB (лимитът на Gmail); за всичко друго въведете персонализирана цел.

Какво представлява този инструмент?

Компресор за видео с целеви размер прекодира видеото с битрейта, необходим за постигане на (или леко под) избран размер на файла, вместо общ плъзгач за 'качество', който произвежда непредвидим размер. Тази разлика е важна, когато лимитът е зададен от някой друг — безплатният лимит на Discord за прикачени файлове е 8 MB, а повечето доставчици на имейл, включително Gmail, ограничават прикачените файлове до 25 MB — а не от това как изглежда видеото.

Този инструмент измерва продължителността на видеото, изчислява общия бюджет за битрейт за целевия размер, разпределя този бюджет между видео и аудио потоците и прекодира с ffmpeg.wasm — WebAssembly версията на кодера с отворен код FFmpeg — работещ изцяло в раздела на вашия браузър. Нищо не се качва; кодирането се извършва на вашето собствено устройство.

Защо да го използвате?

  • 100% локално: видеофайлът никога не напуска устройството ви — без качване на сървър, без ограничение в размера, наложено от хостинг квота.
  • Създаден за реални ограничения: 8 MB (безплатен Discord) и 25 MB (Gmail/повечето доставчици на имейл) са пресети с едно кликване, плюс поле за персонализиран размер за всеки друг лимит.
  • Използва стандартната формула битрейт-от-продължителност вместо гадаене, с вграден марж на безопасност, така че реалният резултат рядко надвишава целта ви.
  • Лента за напредък на живо по време на кодирането — обработката с ffmpeg.wasm може да отнеме време за по-дълги клипове, така че винаги знаете, че работи, а не е заседнала.
  • Показва точния размер на изхода след компресията, за да потвърдите, че отговаря на лимита, преди да го качите или прикачите другаде.

Как да го използвате

  1. Кликнете върху зоната за пускане (или плъзнете файл) за да заредите видеото — инструментът първо прочита размера и продължителността му.
  2. Изберете цел: 8 MB за Discord, 25 MB за имейл/Gmail, или въведете персонализиран размер в MB.
  3. Кликнете „Компресирай видео“ и наблюдавайте лентата за напредък — кодирането се извършва в браузъра ви и може да отнеме от няколко секунди до няколко минути в зависимост от продължителността на видеото и вашето устройство.
  4. Когато приключи, проверете съобщения размер на изхода, след което кликнете „Изтегли“.

Пример

Вход

clip.mp4 — 42 MB, продължителност 0:35

Резултат

clip-8MB.mp4 — 7.6 MB

Целта беше 8 MB (Discord); инструментът изчисли видео битрейт от около 1.5 Mbps за 35-секундния клип, кодира с 10% марж на безопасност и постигна резултат под лимита с известен резерв.

Как се изчислява целевият битрейт

Основната формула е проста: общ битрейт (kbps) = целеви размер на файла (в килобита) ÷ продължителност (секунди). Инструментът прилага марж на безопасност от около 10% към бюджета в байтове преди това изчисление, след което изважда запазен аудио битрейт (обикновено 128 kbps, намаляващ до 96 или 64 kbps за много малки цели, за да не изяжда аудиото твърде голяма част от тесен бюджет), за да достигне до видео битрейта. Този видео битрейт се предава на кодера на ffmpeg с твърд таван (`-maxrate`) и размер на буфера (`-bufsize`), така че кратки изблици на сложно движение да не надхвърлят целта.

Един детайл за преобразуване на единици е важен за всеки, който използва тези пресети прецизно: лимитите за качване на платформи като „8 MB“ на Discord обикновено са в двоични мегабайти (1 MB = 1 048 576 байта, понякога наричани MiB), в съответствие с обичайния начин за задаване на лимити за съхранение и трансфер. Изчисленията за байтов бюджет на този инструмент са умишлено консервативни — използва по-малкия, по-строг мегабайт на база 1000 за целевия бюджет и добавя маржа на безопасност отгоре — така резултатът остава под лимита при всяко от двете тълкувания на „MB“.

Избор на цел за популярни платформи

Ако не сте сигурни кой лимит важи, проверете съобщението за грешка, което платформата ви е дала — повечето откази заради размер на прикачен файл посочват точния таван, който можете да въведете директно като персонализирана цел.

ДестинацияТипичен лимитПрепоръчителна цел
Discord (безплатен план)8 MB на прикачен файлПресет 8 MB
Discord Nitro50–100 MB в зависимост от планаПерсонализиран размер
Gmail / повечето доставчици на имейл25 MB на съобщениеПресет 25 MB
Slack (безплатно работно пространство)1 GB (но големите файлове забавят качването)Персонализиран размер, ако изобщо е нужен

От наши собствени тестове

Генерирахме синтетичен тестов клип с FFmpeg от командния ред (12-секундно видео 1280×720 с тонов звук, кодирано с около 800 kbps, за да произведе реалистичен изходен файл от няколко мегабайта) и го пропуснахме през този инструмент, насочен към пресета за Discord от 8 MB. Изходът се получи под 8 MB, както се очакваше, потвърждавайки, че изчисленията на битрейта и маржът на безопасност издържат срещу реално кодиране, а не само на теория.

Често задавани въпроси

Качва ли се видеото ми някъде?

Не. Компресията се извършва с ffmpeg.wasm, WebAssembly версия на FFmpeg, изпълнявана в раздела на браузъра ви. Видеофайлът се чете локално и никога не се изпраща на сървър — можете дори да прекъснете интернет връзката, след като страницата и нейният двигател са се заредили веднъж.

Защо първата компресия отнема време, за да започне?

Инструментът зарежда двигателя ffmpeg.wasm (около 30 MB) при първото стартиране на компресия в сесия. След това първоначално зареждане, следващите компресии на същата страница започват веднага.

Ще бъде ли изходът винаги под целевия размер?

Инструментът запазва марж на безопасност (реалният бюджет за битрейт цели около 90% от избрания от вас размер), защото реалните кодери не постигат точен битрейт във всеки кадър. В редкия случай, когато изходът все пак е малко над лимита, изберете по-малка персонализирана цел, за да добавите повече марж — инструментът ще ви предупреди, ако това се случи.

Защо точно 8 MB за Discord?

Безплатният (не-Nitro) план на Discord ограничава качването на файлове до 8 MB на прикачен файл; абонатите на Nitro получават по-високи лимити (50 MB или 100 MB в зависимост от плана). Пресетът от 8 MB е насочен към лимита на безплатния план, който повечето хора срещат.

Защо 25 MB за имейл?

25 MB е лимитът за прикачени файлове на Gmail и общ таван при други основни доставчици. Ако вашият доставчик има различен лимит, използвайте полето за персонализиран размер.

Влошава ли компресията качеството на видеото?

Да, неизбежно — постигането на много по-малък размер на файла от оригинала означава по-нисък битрейт, който намалява детайлите и може да въведе видими компресионни артефакти, особено при бързо движение или сцени с много детайли. Инструментът избира разпределението на битрейта (видео срещу аудио) автоматично, за да поддържа качеството възможно най-високо в рамките на целевия размер, но клип от 42 MB, принуден до 8 MB, ще изглежда забележимо по-мек от оригинала.

Какъв видео и аудио формат произвежда?

Изходът винаги е MP4 с видео H.264 и аудио AAC — най-широко съвместимата комбинация за Discord, имейл клиенти и повечето социални платформи.

Свързани инструменти