Video kodeky. Ktoré sú najlepšie?

13.11 | 14:16 | Blog | Slavomír

V súčastnosti je najviac používaný video kodek H.264. Oveľa lepší kodek je H.265 – žiaľ používaný naprosto minimálne. Youtube používa vo webm kontajneri kodek VP9. Kodek VP9 je veľmi podstatne lepší od H.264.

V súčastnosti je najviac používaný video kodek H.264.
https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC
V tomto formáte nahrávate videá na smartfónoch a väčšina video portálov prehráva v tomto formáte. Štandardne býva zabudovaný v MP4 kontajneri. Ak budete sťahovať z Youtube video vo formáte MP4, bude mať kodek H.264.
Oveľa lepší kodek je H.265 – žiaľ používaný naprosto minimálne. Ide o kodek s rovnako proprietárnou licenciou a je nástupcom kodeku H.264.
https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding
Youtube používa vo webm kontajneri kodek VP9
https://en.wikipedia.org/wiki/WebM
https://en.wikipedia.org/wiki/VP9
Kodek VP9 je veľmi podstatne lepší od H.264.
Čím lepší kodek tým je lepší pomer dátový tok a kvalita videa, pri nízkom dátovom toku vysoká kvalita.

Sťahovanie WEBM videa</h2>

Sťahovanie videa vo WEBM kontajneri je dosť zaujímavá téma. Kým MP4 kontajneri je zvuk a obraz viac zviazaný dokopy, pri WEBM je to viac oddelené. Pri webových downloaderoch nie je možné stiahnuť video spoločne aj zo zvukom. Video je možné stiahnuť len bez zvuku a zvuk sa dá stiahnuť osobitne. Samozrejme cez príkazový riadok nie je problém do webm kontajneru pridať aj zvuk, ktorý je na youtube vo formáte .opus. (O formáte opus viac tu http://linuxos.sk/blog/blog-2/detail/mp3-format-je-prilis-zastaraly-ale-stale-najv/). Zvuk a obraz je možno spojiť aj cez linuxovú aplikáciu MKVToolNix pričom výstupný kontajner bude MKV (zvukové a obrazové kodeky sa nemenia, len na miesto wenm kontajnera bude MKV kontajner. Tento proces je veľmi rýchly).
Mne sa podaril iba jediný pohodlný spôsob ako stiahnuť webm video z Youtube a to cez Video DownloadHelper https://addons.mozilla.org/sk/firefox/addon/video-downloadhelper/
Sťahovanie je veľmi zaujímavé: všimnite si ako sú obraz a zvuk sťahované osobitne (aspoň na Ubuntu Mozilla Firefox to môžete vidieť určite). Zvuk je stiahnutý ako prvý, potom sa stiahne obraz a potom DownloadHelper oboje spojí do kontajneru.

Kodek VP9 odporúčam najviac</h2>

Vzhľadom k tomu, že ide o open-source formát má výhodu, je tam lepšia kompatibilita. Pri strihaní videa MP4 cez príkazový riadok som mal problémy, boli tam chyby v čase pri strihaní. Pri webm tam tento problém nebol.
Pri editácii alebo konvertovaní kodeku H.265 cez FFMPEG nastali určité problémy ako čudný obraz – nie je to dostatočne kompatibilné.

Editácia VP9 a H.265</h2>

Podľa mojich doterajších vedomostí grafické editory videa (žiaden z nich) nepodporujú editáciu vo formáte VP9 alebo H.265.
Riešenie je editácia VP9 cez príkazový riadok, najmä cez FFMPEG, ktorý je možné používať aj na Windowse (na Youtube sú návody ako na to). FFMPEG podporuje strihanie, spájanie videa, stabilizáciu a mnoho ďalšieho.

Kamery / zariadenia podporujúce VP9 a H.265 videa</h2>

Niekde na internete som čítal, že najnovšie zariadenie od Google Pixel 2 podporuje záznam videa v VP9 a H.265. Nakoľko je to pravda neviem, niekedy ľudia šíria aj hoaxy. Niekde v predajni by iste bolo možné to overiť, či je to pravda, ak by pozrel človek na nastavenia kamery.
https://www.alza.sk/google-pixel-2-cerny-d5125649.htm
Ak by sa profesionálnemu kameramanovi nepodarilo nájsť zariadenie s podporou novších formátov, tak potom ako riešenie by mohlo byť Google Pixel 2 (ak je to naozaj pravda, že ich podporuje), avšak bolo by tam treba doriešiť stabilizáciu – nejaké riešenie by sa snáď našlo.

    • RE: Video kodeky. Ktoré sú najlepšie? 13.11 | 15:29
      Avatar Branislav Poldauf Arch (antergos), Debian stable  Používateľ

      lepší a najlepší sú subjektívne pojmy ak niekto pouziva vykonny pc na prehravanie a ma maly disk tak urcite je HEVC (h.265) lepší ale ak niekto používa raspberrypi 2 ako multimedialne centrum tak je lepší h.264 (lebo rpi neprehrá h.265)

      treba uviesť že je lepší v pomere bitrate a kvalita, to áno

      ale niekde treba zohľadniť aj hw požiadavky na prehrávanie, aj ked čím dalej viac zariadení má akcelerátor aj pre h.265, vela zariadení to stále nepodporuje (a kupovat novy prehravac len pre novsi kodek nie je pre kazdeho)

      preto napriklad aj vacsina nelegalnej torrentovej sceny stale frci na h.264, lebo maju istotu ze to vsade pojde prehrat a pre neznalých si pouzivanim h.265 mozu vytvorit zle meno - lebo to niekto strci do 5r starej telky na usb a bude sa stazovat ze to od toho autora neprehralo/sekalo lebo to nevie robit - o to nema nikto záujem

      preto aj nove iphony sice nahravaju/fotia v nejakom ich formate ale pri posielani von to konvertuju do jpg a h.264 - lebo kompatibilita

      a strihat video v prikazovom riadku - to si neviem predstavit tu produktivitu a taky finalny triming o jeden dva framy by som chcel hlavne vidiet :-D

      Linux: the operating system with a CLUE... Command Line User Environment
      • RE: Video kodeky. Ktoré sú najlepšie? 13.11 | 21:52
        Avatar Slavomír Lubuntu  Používateľ

        Čavko,

        podarilo sa mi natrafiť na tento zaujímavý link. Veľmi jednoduché a pohodlné porovnanie H.265 a H.265. Videá sa dajú stiahnuť a prehrať https://x265.com/hevc-video-files/
        Mne to ide bez problémov prehrať na VLC a ešte jednom inom prehrávači na linuxe.
        Pozeral som aj porovnanie ako sa namáha procesor v porovnanie H.264 a H.265 a žiaden podstatný rozdiel.
        Ak neide prehrať H.265 údajne treba doinštalovať nejaký kodek (ja som to zatiaľ nepotreboval) a myslím, že to by malo byť bezplatné. Iba tento konvertor je platený https://x265.com/create-hevc-video/
        A taký konvertor sa oplatí ak chce človek pošetriť trochu miesta na disku (napr. na cloude).
        Ako som teraz testoval, prehliadače ešte nepodporujú HTML5 prehrávanie H.265 videí.

         

        K tomu príkazovému riadku:
        video editory z grafickým rozhraním veľmi nepoužívam, ale pokiaľ viem, tak po editácii (napr. strihaní) exportovanie toho videa trvá veľmi dlho a procesor pri exportovaní beží na 100% po dobu aj niekoľko hodín ak ide o väčší súbor vo vyššej kvalite. Samozrejme pri exportovaní sa stráca aj kvalita videa (hovorí sa tomu tuším re-encoding).
        S príkazovým riadkom si podstatne rýchlejší – stihne ti to v priebehu pár sekúnd bez toho aby sa procesor namáhal a navyše je to bez straty kvality. A strihnuté úseky videa je ľahké spojiť – to tiež trvá pár sekúnd bez zaťaženia procesoru. Ja zvyknem tie strihnuté úseky videa pomenovať jedným písmenom A, B, C, D atď. a ide to veľmi rýchlo.

         

        K Apple
        To áno, Iphony majú viacero nevýhod a napr. zipový súbor sa tam nedá rozbaliť. Keby som ja mal veľa peňazí tak by som si kúpil Google Pixel. Je to rozumnejšia investícia :D.

        • RE: Video kodeky. Ktoré sú najlepšie? 14.11 | 09:39
          Avatar Branislav Poldauf Arch (antergos), Debian stable  Používateľ

          1. jasne na beznom pc/ntb nie je problem s prehratim videa akehokolvek formatu (staci kodek a CPU z modernej doby) ale videa sa hlavne prehravaju v telkach (priamo - nie cez hdmi z pc) kadejakcýh satelitoch, multimedialnych centrách a iných hračkách s ARM alebo iným nevýkonnými procesromi - ktoré nemaju sancu bez akcelerácie (a tá nie je pre h.265 všadepritomna ako pre h.264)

          2. k tomu strihaniu - avidemux robi to co ty pises cez GUI

          ale realna praca s videom sa bez grafickeho rozhrania neda robit, spojit 5 video do jedného áno ale ja mám stovky zdrojových videí roznych fomrátov, stovky fotiek, casto pouzivam viacero videí "nad sebou" (výsledok 2 a viac vide naraz) plynule mením ich velkost, pouzivam rozne korekcie (jas, kontrast, farebnost, sytosť,...) a hlavne to potrebujem mať možnosť kedykovek zmenit (dĺžku klipov, hlasitosť, velkost) odstranit zo stredu alebo pridat do stredu dalsie klipy ... ale hlavne editaciou v videoeditore nedochadza k zasahu do originalneho suboru, ani jeho opakovanemu kopirovaniu a pod (co je pri projektoch velkosti 100GB dost ziaduce ;-))

          a strata kvality pri jednom renderovani je nepoznatelna - ak sa ako vysledny pouzije rozumny kodek a bitrate

          3. apple som uviedol ako priklad vyuzitia "lepsieho" kodeku (rovnaka kvalita pri zaberani menej miesta) a zároveň zachovávanie kompatibility s bežnými štandartom (konvertovanie pri odosielani) 

          Linux: the operating system with a CLUE... Command Line User Environment
          • RE: Video kodeky. Ktoré sú najlepšie? 15.11 | 20:06
            Avatar Slavomír Lubuntu  Používateľ

            Diki za super typ na video editor. Asi ho niekedy vyskúšam.

            Ak robíš z fotiek videá, môže byť niekedy aj rýchlejšia alternatíva príkazový riadok, hlavne to nie je záťaž na RAMku a procesor. Ja osobne využívam tvorbu videa s jedného obrázku. Ak tam dáš jednu snímku za sekundu, tak je to hotové bleskurýchle v priebehu pár sekúnd bez namáhania procesora. Youtube servery s tým problém nemajú.

             

            Video s VP9 kodekom vytvorené z obrázka

            • cd Plocha
            • ffmpeg -loop 1 -framerate 1/60 -i obrazok.jpg -i audio.flac -c:v libvpx-vp9 -c:a copy -shortest -r 2 video.mkv

             

            Cez ffmpeg (cez príkazový riadok samozrejme) som robil experiment že som sa pokúsil spojiť dve videá s rôznymi rozlíšeniami. Išlo to, prehrávač s tým problém mal, ale youtube servery s tým problém nemali – všetko prekonvertovali do rovnakých rozmerov

            • RE: Video kodeky. Ktoré sú najlepšie? 16.11 | 08:09
              Avatar Branislav Poldauf Arch (antergos), Debian stable  Používateľ

              ja robim videa tohto typu:

              https://youtu.be/48VNAwfdf20

              na konci (6:30) si pozri ako pouzivam fotky do videa - ak toto das s prikazovym riadkom bez dodatočného renderovania, hned prechádzam z grafického editora ;-)

              a toto bolo jednoduche narychlo spravené video

              hlavne som mal len zabery z jednej kamery (mojej gopro) a teda len jedno rozlisenie a jeden framerate + par fotiek z mobilov - kde bezne mam video z 4 roznych kamier každá s iným rozlíšením a frameratom a iným pomerom strán a z každej stovky videí 

              Linux: the operating system with a CLUE... Command Line User Environment
    • RE: Video kodeky. Ktoré sú najlepšie? 14.11 | 21:23
      Avatar Miroslav Bendík Gentoo  Administrátor

      Neviem, či je dobré hodnotiť kodeky všeobecne pomocou slov lepší/horší. Za kvalitu môžme používať buď objektívne merateľné hodnoty ako napr. odstup signálu od šumu, čo nemusí zhodovať skutočnej vizuálnej kvalite, alebo subjektívne hodnotenie. Taktiež sú rozdiely pri rôznych bitratoch. Napríklad pri vysokom bitrate môže mať najvyššiu vizuálnu kvalitu pokojne aj mpeg2. Nakoniec kritériom môže byť aj podpora v rôznych smart krabičkách, kde mi môže byť ukradnutých pár MB keď to nemám ako prehrať.

      • RE: Video kodeky. Ktoré sú najlepšie? 15.11 | 20:08
        Avatar Slavomír Lubuntu  Používateľ

        Tu si môžeš ukážky stiahnuť a porovnať

        https://x265.com/hevc-video-files/

        • RE: Video kodeky. Ktoré sú najlepšie? 17.11 | 15:37
          Avatar Miroslav Bendík Gentoo  Administrátor

          Prakticky všetko je v mizernej kvalite. Keď som pár rokov dozadu pozeral planétu zem v 720p s video bitratom 10Mbit mal som celkom slušný problém to prehrať na vtedy aktuálnom core 2 duo. Tých 500kbit na 1080p mi pripadá fakt smiešne.

          • RE: Video kodeky. Ktoré sú najlepšie? 17.11 | 16:04
            Avatar Branislav Poldauf Arch (antergos), Debian stable  Používateľ

            500kbps pri 1080p je aj pre h.265 slabota, aspon 2mbps

            pri h265 v podstate bitrate moze byt polovicny  oproti h264 a kvalita by mala byt rovnaka

            ked chcem aku taku kvalitu tak pod 5mbps pri h.264 a 2mbps pri h.265 nejdem (co sa tyka filmov a serialov compozeram)

            idealne dvojnasobok, tam uz kompresiu nevidno takmer vobec

            bitrate tiez nie je vsetko, zle nastaveny enkoder spravi skaredy vysledok aj pri 15mbps (ale to sa da odkontrolovat len opticky)

            idealne pozerat priamo z blueray, tam myslim byva minimalne 25mbps

            Linux: the operating system with a CLUE... Command Line User Environment
            • RE: Video kodeky. Ktoré sú najlepšie? 17.11 | 18:41
              Avatar Miroslav Bendík Gentoo  Administrátor

              S bitratom sa hlavne výraze mení náročnosť na dekódovanie. Pri vysokom bitrate bude bez akcelerácie problém s prehrávaním h.265. Inak väčšinou je mi kvalita celkom ukradnutá. Vyrastal som na VHS, neskôr na 640x360. Ak nepozerám niečo u čoho si fakt chcem vychutnať dokonalé zábery (napr. planéta zem) tak mi fakt stačí 640x360.

              • RE: Video kodeky. Ktoré sú najlepšie? 18.11 | 21:37
                Avatar bedňa antiX, Devuan, LegacyIce  Administrátor

                Ja to vidím rovnako.

                Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
              • RE: Video kodeky. Ktoré sú najlepšie? 19.11 | 15:40
                Avatar Slavomír Lubuntu  Používateľ

                A ako by si porovnal VP9 a H.264? VP9 zdá sa nie je kompresný formát na rozdiel od H.265, takže HW nároky by mali byť nižšie. Čo som si ja sťahoval z Youtube cez Download helper v 1080 kvalite, tak som videl len minimálne rozdiely medzi MP4 (=H.264) a webm (=VP9) v zaťažení procesora.

                • RE: Video kodeky. Ktoré sú najlepšie? 19.11 | 15:47
                  Avatar Branislav Poldauf Arch (antergos), Debian stable  Používateľ

                  Tu pozor videa na YT su po uploade celkom slusne komprimovane

                  ja exportujem videa s VBR 15mbs pri h.264 a1080p, ale ked ho stiahnem z YT je casto na pohlad komprimovane a bitrate ovela nizsi

                  co je samozrejme logicke, google potrebuje setrit miestom pri milionoch nahravanych videi

                  takze YT by som nebral ako vzorku, lebo to su pri stiahnuti 2 az 3 krat reenkodovane videa

                  Linux: the operating system with a CLUE... Command Line User Environment
        • RE: Video kodeky. Ktoré sú najlepšie? 17.11 | 16:03
          Avatar Miroslav Bendík Gentoo  Administrátor

          Čo takto tieto (zdroj)?

          Pre porovnanie prikladám výstup time pri prehrávaní:

          • h264 - 1,95s user 1,18s system 20% cpu 15,058 total
          • hevc - 161,11s user 12,58s system 381% cpu 45,545 total
          • 3Mbit hevc - 23,06s user 0,38s system 154% cpu 15,162 total
    • RE: Video kodeky. Ktoré sú najlepšie? 19.11 | 15:47
      Avatar Slavomír Lubuntu  Používateľ

      Všimnite si tu dosť veľké rozdiely v kvalite toho istého videa. Pravdepodobne za to môže re-endoding alebo na mojevideo.sk majú nejakú nedostatky na serveroch pri konverzii

      https://www.youtube.com/watch?v=9cXBJrL9zPg

      https://www.mojevideo.sk/video/2ba9e/no_nazdar_(vysoke_tatry).html

      • RE: Video kodeky. Ktoré sú najlepšie? 19.11 | 15:49
        Avatar Branislav Poldauf Arch (antergos), Debian stable  Používateľ

        setria miestom

        a maju horsie nastavenu kompresiu - co sa kvality tyka

        Linux: the operating system with a CLUE... Command Line User Environment