"Natív" vs. Browser - mp4 videólejátszás teszt

Állítólag:

"Nem értem, miért csodálkozik ezen bárki, amikor egy böngésző még mindig nem arra való, hogy videót játssz le rajta. A böngészőfejlesztők továbbra is képtelenek/lusták normálisan kioptimalizálni a videólejátszást, ezért továbbra is 2x-3x annyi erőforrást eszik, mint ha natív lejtászóval játszod le. Ezt világszinten gigawattórákban lehet mérni."

Na most akkor mi van?

i5-3210M @ 2.50GHz - 8GB RAM

Tesztfile mp4:
https://drive.google.com/open?id=0B8lUX-7G-G04aXAyZFExM21CeGs

(Kizárólag HDD-ről betöltve, internet ki)

Tesztkörnyezetek:

1.
Windows 10 Version 1511 (build 10586, Home, aktivált)
Intel HD Graphics 4000 driver: 10.18.10.4358

Eredmények (CPU használat):
MS Edge 25.10586.0.0 - 2%
Chrome Verzió: 53.0.2785.89 m - 4%
Firefox 48.0.2 - 4%

MPC-HC Build: 1.7.10 (d911f14) - 4%
mpv 0.20.0-git-c226bc7 - 11%
VLC 2.4.4 Weatherwax - 15%

2.
Linux 4.4.0-36-generic Ubuntu MATE 16.04.1 AMD64
Intel HD Graphics 4000 X.Org X Server 1.18.3 KMS i915 1.6.0
VA-API version: 0.39 (libva 1.7.0)

Eredmények (CPU használat):
Chromium 53.0.2785.80 (64-bit) - 6%
QupZilla 1.8.9 - 12,5%
Chrome 53.0.2785.92 (64-bit) - 14%
Firefox 48.0 - 18%

mpv 0.14.0 - 5%
VLC 2.2.2 Weatherwax - 12%

(Köszönettel vennék pár eredményt bárkitől ide, köszke.)

Hozzászólások

Enegiahasználatról beszélt, nem pedig lefoglalt CPU ciklusokról.

"Ezt világszinten gigawattórákban lehet mérni."
"Ezt világszinten gigawattórákban lehet mérni."

Kiemeltem a lényeget.
Bár a kihasznált CPU órajeleket is lehet erőforrásnak venni, ha éppen valaki renderel közben, vagy bitcoint bányászik. (ellenkező esetben az 1-10-100%-nyi CPU leterheltség ingyenes)

CPU használatot mivel mérted linux alatt?

Upsz, az Edge kiesett, véletlenül másik fájl eredményét írtam. Ezzel csak online működik, 4% körül, de cache-ből. Bocs.

Windows 10 x64 1607. i5 560m:

Firefox: 5%
Filmek app: 4%
Edge: 4%
Mpv: 5%

Órajel kb azonos volt. Ezek átlagok persze.

---
A Linux nem ingyenes. Meg kell fizetni a tanulópénzt.
Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!
Mindenki jó valamire. Ha másra nem, hát elrettentő példának.

Szeretném megtudni, hogy melyik filmből/sorozatból van a részlet.

Köszönöm

Eredményem:

intel pentium G3220
win 10 pro 64 bit
8 gb ram

MPC-HC: 9-11%

Azért ez erősen VGA függő szerintem. AMD Phenom II X4, max. 3.2 GHz, 8 GiB DDR2@800 MHz RAM :), GeForce 8500 GT VGA, nouveau driver, 4.7.2-201.fc24.x86_64 kernel:

vlc: 72 % körül
firefox: 122 % körül
ffplay: 56 % körül

Egyik sem szaggatott, az értékek egy CPU magra vonatkoztatva értendők, tehát 400 % az elvi maximum. A gép elmúlt 8 éves.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ubuntu 16 x64, i5-5200U CPU @ 2.20GHz, Intel HD5500 VGA, teljes átlagok 1 magra:

Firefox: 59%
Chromium: 41%
VLC: 41%

Bírom, amikor a "minden jó ahogy van" emberkék megpróbálják bebizonyítani a bebizonyíthatatlant.

Öcsém, próbálkozzál már egy olyan gépen, amit az átlag magyar felhasználó csépel otthon, és ne a csiligépeden. Elhiszem, hogy a harmadik gen. i5-öd elviszi hardvergyorsítással. Csak épp marhára nem a hardvergyorsított környezetekben jön ki a különbség. Próbáld ki egy régebbi Core Duo-n mondjuk. Ja hogy az túl régi? Érdekes, natívan elviszi az is az 1080p-t, csak a hiperszuper böngészőiddel nem.

Na akkor a teszthez mindenkinek egy kis plusz infó:

Windózon általában jól működik a hardveres video dekódolás, a videokártya driverek implementálják a DXVA-t, a böngészők meg használják. Az 1. teszt is ezt mutatja, a VLC/mpv azért evett többet, mert az CPU-ból dekódolt, a többi a videokártyával, szvsz. Ezeknél a lejátszóknál külön engedélyezni kell.

Linuxon (elsősorban az Ubuntu-t ismerem) állandóan gond van a hardveres video lejátszással. Még Intel driverek esetén a legjobb a helyzet, mert itt az opensource driver meg tudja oldani minden Intel 4500 MHD GPU-tól feltelé, beleértve az összes Core i*-ot. Ez még nem elég, fel kell rakni a megfelelő VA-API és vdpau csomagokat, és után engedélyezni minden lejátszóban ennek a használatát, beleértve a böngészőket is.
Mivel Linuxon a hardveres videó dekódolás sokkal instabilabb (a szarabb driverek miatt), ezért mindenhol alapértelmezetten ki van kapcsolva.

Nekem van egy régi Core2 E8400-as gépem, NVidia kártyával, és bizony gépészkednem kellett a böngészőkkel meg mindenféle csomagokkal, hogy menjen akadásmentesen. Chromium alatt megy is, Vivaldi alatt nem, illetve Flash-el is működik a hardveres dekódolás. Firefox-al nem megy (ha nem flash-t használ az oldal), de nem másztam bele, hogy miért.

Még egy adalék a teszthez: ha például nagy sávszélességű DTS hangot kell dekódolni, azt mindenképpen a CPU csinálja, ez is módosíthatja a tesztek eredményét. Ezt még árnyalja, hogy Windózon viszont vannak olyan hangkártya driverek, amik ezt a hangkártya DSP-jével csinálják, Linuxon viszont ilyen nincs.

Kösz az infót. Ubi 16 alatt "apt install *vaapi*" után ~60% helyett 6% lett a lejátszás. VLC-ben nem állítottam semmit, mert alapértelmezésben automatic-ra van állítva a hw gyorsítás.

(az előbbi 40%-ot dstat-tal mértem, ezt meg top-pal: top -d 5 -b | grep vlc, egyelőre nem tudom miért van különbség)

Firefox 48 top-pal nézve 68%-ról lemegy 32%-re ha engedélyezve van a multiprocess windows.

Szerk.: sajnos nagyob bug-os a vaapi. Le is szedtem.

Itt az oprendszerek lényegtelenek, nem azon volt a hangsúly, hanem a szoftveres dekódoláson.
A wines hangkártya driver pont ezért lényegtelen, a wines progik ugyanazt a drivert kapják. :)
Nem oprendszereket akartam összehasonlítani, hanem (a jelenlegi legáltalánosabban használt) az mp4 dekódolás minőségét.

hanem a szoftveres dekódoláson

Bocs, ez nekem nem derült ki, főleg hogy a windózos tesztek egy része biztosan hardveres dekódolást használ (ahol 2-4% a CPU például).

Szerintem az mp4 dekódolás minőségét az alábbi módon lehetne összehasonlítani: windózon böngészőkben illetve tipikusan windózos lejátszók esetén nem lesz számottevő különbség, tekintve hogy nem ezek a szoftverek dekódolnak, hanem a GPU (annak a driverével). Azaz itt nincs értelme az összehasonlításnak.

Linuxon viszont tényleg szoftveres dekódolás lesz sok esetben alapértelmezetten, itt már talán relevánsabb az összehasonlítás a browser-es ill. a standalone lejátszók között.

Nézd, hardveres videódekódolást egyedül a mozigép csinál, nyilván azokról a szoftverekről szól ez a bejegyzés, amikre a globális felmelegedés egy részét próbálták ráfogni. Nyilván, ha olyan környezetben teszteljük ezeket a szoftvereket, ahol nincs GPU támogatás akkor is arányaikban hasonlóan fognak teljesíteni. A dekódolást végző szoftver nem változik meg, mert nincs GPU. 386-os procin is enkódoltunk mp3-at. Nem is értem, miért zavar ez meg ilyen sok mindenkit. Illetve értem...

Helló!

Nálam a következő a helyzet:

CPU - Core i3-2348m (4 Core, 2.3 GHz)
RAM - 8 GB
VGA - Intel HD3000

Browser: Vivaldi 1.3.551.38 (Stable channel) (64 bites)
Flash: Adobe Flash Player Verzió: 22.0.0.209

Linux: 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux

Eredmény böngészőből és VLC (2.2.4) alól is átlag 20% körül (15-25 között ugrál), semmi különbség, dstat-tal mérve.

--
robyboy

VLC 2.2.4 alatt - némi guglizás után - tovább léptem. A bemenet/kodekek alatt a hardveresen gyorsított dekódolásnál az "automatikus" helyett a "VA-API videodekódoló DRM-en keresztül"-t választottam.

Most VLC-ből procinként 5-10% a terhelés, azaz összesen 20-40%. Kicsit jobban hangzik.

--
robyboy

A vaapi drm-mel jónak tűnik.

Szerk.: jelentem stabilnak és jónak tűnik így nekem a VLC. Ötöde vagy tizede is lehet a CPU fogyasztás, videó kódolástól függően.

Így rakom fel:

sudo apt install va-driver-all *vaapi*

Eből VLC-hez elég a va-driver-all, csak a gstreamer se baj ha fent van ha más program kihasználná, ezt még nem tudom (pl. totem, chromium stb).