Utilia

Kompresia videa

Skomprimuj video v prehliadači a pošli ho e-mailom alebo cez chat. Zvoľ kvalitu alebo cieľovú veľkosť v MB, zníž rozlíšenie, bez nahrávania na server.

Kompresia

Kompresia využíva FFmpeg skompilovaný do WebAssembly (video H.264, zvuk AAC, súbor MP4). Pri prvom použití sa stiahne približne 30 MB, ktoré sa potom uchovajú vo vyrovnávacej pamäti prehliadača. Opakované kódovanie videa v prehliadači beží na jedinom jadre procesora: je oveľa pomalšie než desktopový softvér, pri HD videu často pomalšie než v reálnom čase. Zníženie rozlíšenia ho výrazne urýchli.

Ako skomprimovať video

  1. Presuň video do poľa vyššie alebo naň klikni a vyber súbor (najviac 500 MB). Pod ukážkou sa zobrazí jeho rozlíšenie, dĺžka a veľkosť.
  2. Zvoľ Kompresiu: - Podľa kvality (konštantná kvalita, veľkosť závisí od videa) a potom Kvalitu: Vysoká (CRF 23, menšia úspora), Vyvážená (CRF 28) alebo Najmenší súbor (CRF 32, viditeľné zmäkčenie); - Podľa cieľovej veľkosti (cieli na veľkosť súboru) a potom zadaj Cieľovú veľkosť (MB), napríklad 8 pre prílohu e-mailu. Navrhuje sa približne tretina pôvodnej veľkosti.
  3. Voliteľne zníž Rozlíšenie (1080p, 720p, 480p alebo 360p) a vyber Zvuk: AAC pri 128, 96 alebo 64 kb/s, prípadne Odstrániť zvuk.
  4. Stlač Komprimovať video. Zobrazí sa ukazovateľ priebehu s tlačidlom Zrušiť.
  5. Porovnaj veľkosti uvedené pod výsledkom, pozri si ho a ak ti vyhovuje, stiahni ho.

Výsledkom je vždy súbor MP4 s videom H.264 a zvukom AAC, čo je kombinácia, ktorá sa prehrá v každom telefóne, počítači, prehliadači aj komunikátore.

Režim kvality alebo cieľová veľkosť?

Podľa kvality používa konštantný faktor rýchlosti (CRF) kodeka x264. Namiesto pevného dátového toku kodér udržiava konštantnú vizuálnu kvalitu a míňa bity tam, kde ich obraz potrebuje: statický rozhovor sa komprimuje výrazne, futbalový zápas oveľa menej. Nižšie CRF znamená lepšiu kvalitu a väčší súbor; každé +6 približne zníži veľkosť na polovicu. CRF 23 je predvolená hodnota kodéra a vyzerá prakticky rovnako ako zdroj; 28 je dobrý kompromis na zdieľanie; 32 je viditeľne mäkšie, ale veľmi ľahké. Výslednú veľkosť nemožno vopred poznať.

Podľa cieľovej veľkosti funguje opačne: nástroj vypočíta dátový tok, ktorý sa zmestí do tvojej veľkosti, podľa vzorca

dátový tok videa (kb/s) = cieľová veľkosť × 8 × 0,97 ÷ trvanie − dátový tok zvuku

(3 % sa nechávajú na kontajner MP4). Pre cieľ 10 MB pri 60-sekundovom zábere so zvukom 96 kb/s je to približne 1 260 kb/s pre video. Kodér tento dátový tok spriemeruje v jednom prechode, takže súbor zvyčajne skončí do približne 10 % od cieľa. Ak je cieľ pre danú dĺžku príliš malý (pod približne 60 kb/s videa), nástroj radšej požiada o väčší, než by vytvoril nepoužiteľný súbor.

Tipy na menšie súbory

  • Zníž rozlíšenie. Je to najúčinnejšie nastavenie. Video z telefónu natočené v 4K alebo 1080p vyzerá na obrazovke telefónu v 720p dobre a potrebuje približne polovicu bitov. Rozlíšenie sa vzťahuje na kratšiu stranu, takže zvislé videá sa spracujú správne.
  • Zníž alebo odstráň zvuk. Na reč stačí 64 kb/s. Pri nahrávke obrazovky bez zvuku zvuk odstráň.
  • Najprv skráť. Každá odstránená sekunda sa ušetrí úplne: pred kompresiou odstrihni zbytočný začiatok a koniec pomocou strihu videa.
  • Ak je výsledok väčší než pôvodný súbor, zdroj bol už efektívne skomprimovaný: ponechaj pôvodný súbor alebo zníž rozlíšenie.

Rýchlosť: treba trpezlivosť

Kompresia znova kóduje každý snímok. Nástroj používa FFmpeg skompilovaný do WebAssembly (pri prvom použití sa stiahne približne 30 MB a uchová vo vyrovnávacej pamäti prehliadača) a beží na jedinom jadre procesora. Je preto oveľa pomalší než desktopový softvér ako HandBrake. Orientačne na novšom počítači trvá video v rozlíšení Full HD približne jedno- až dvojnásobok svojej dĺžky, výstup v 720p je rýchlejší a telefón pomalší. Počas spracovania nechaj kartu otvorenú. Pri dlhých videách alebo veľkých dávkach je lepšou voľbou desktopový softvér.

Často kladené otázky

Nahráva sa moje video na server?

Nie. Celá kompresia prebieha na tvojom zariadení, vo vnútri prehliadača. Nič sa neodosiela na server, čo znamená aj žiadne čakanie na nahrávanie.

Prečo kompresia trvá tak dlho?

Kódovanie videa je náročná práca a WebAssembly v prehliadači využíva jedno jadro procesora, bez hardvérových kodérov, ktoré používajú desktopové programy. Voľba nižšieho rozlíšenia výrazne urýchli spracovanie.

Ktorú možnosť použiť na odoslanie videa e-mailom?

Zvoľ Podľa cieľovej veľkosti (cieli na veľkosť súboru) a zadaj trochu menej, než je limit prílohy, napríklad 20 pri limite 25 MB. Pre komunikátory je zvyčajne dobrým začiatkom 720p s možnosťou Vyvážená (CRF 28).

Zníži sa kvalita?

Trochu, pretože sa video komprimuje znova. Pri možnosti Vysoká (CRF 23, menšia úspora) je rozdiel ťažko vidieť; pri možnosti Najmenší súbor (CRF 32, viditeľné zmäkčenie) detaily a textúry zmäknú. Pred stiahnutím si vždy skontroluj ukážku.

Aké videokodeky sa používajú?

Výstupom je video H.264 so zvukom AAC v súbore MP4. Nástroj obsahuje aj kodéry HEVC a VP9, ale v prehliadači sú niekoľkonásobne pomalšie a HEVC sa neprehráva všade, preto sa používa H.264.

Môžem komprimovať akýkoľvek formát?

Väčšinu formátov, ktoré FFmpeg dokáže čítať: MP4, MOV, WebM, MKV, AVI a ďalšie. Ak tvoj prehliadač súbor nevie prehrať, nezobrazí sa ukážka, ale komprimovať sa dá aj tak.