Hardveres gyorsítás használata videó konvertáláshoz

tonsur képe

Fórum: 

Azt szeretném megtudni a tapasztalt linuxos szakemberektől,hogy van-e megoldás a videók hardveres konvertálására linuxon. Én egy intel 4 magos cpu-val, és egy nvidia 950-es kártyával rendelkezem, (laptop) és szeretném kihasználni, vagy a gpu, vagy a videokártya képességeit a video konvertáláshoz.Azt tudom,hogy a következő programok támogatják: Avidemux, Handbrake, Xmedia Recode, Shotcut, csak nem tudom, hogy linuxon is használhatóak ezen képességeik, és ha igen mit kell tenni a működéshez.

tonsur képe

Hardveres gyorsitás használata video konvertáláshoz

Értékelés: 

0
Még nincs értékelve

Azt jelenti, hogy harmad annyi idő alatt konvertálsz mint cpu-val.
Annyit már elértem, hogy a intel-graphics-update-tool-al felraktam az intel drivereket, igy az Avidemuxban már használható a hardveres gyorsitás dekódoláskor (LIBVA-intel), ezzel már az első pass kb 30%-kot gyorsult. De az igazi az lenne,ha a második pass is gyorsulna, ehhez kéne tudni használni az Intel Quick Sync, vagy az nvidia NVENC technologiát.

kimarite képe

Hardveres gyorsitás használata video konvertáláshoz

Értékelés: 

0
Még nincs értékelve

#4 Készítesz egy rendszer-visszaállítási pontot a Systemback-kel, vagy a 18+ saját, mentést készítő alkalmazásával (nem próbáltam) és belevágsz. Step by step, szájbarágós.

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

A téma felvetése óta sikerült kipróbálnom Ubuntun a hardveres videokonvertálást,és a következőket tapasztaltam:
Miután feltelepitettem az NVIDIA megfelelő driverét,és a vaapi drivert,két szoftverrel sikerült életre kelteni ezt a funkciót,a Shotcut,és a Handbrake bizonyult alkalmasnak a hardveres konvertálás kipróbálására.Az én dedikált videokártyám GTX 950M,és a GPU HD Graphics 530,az NVENC h264,és VAAPI h264,HEVC h265 formátumok használatára alkalmas.A Shotcut mindkét formátumot kezeli,a Handbrake csak az NVENC h264,NVENC h265-t.A próbák során azonos bitrátát használtam a szoftveres és a hardveres konvertálás során és megállapitható,hogy a szoftveres konvertálás sokkal jobb minőséget állit elő mint a hardveres konvertálás,konkrétabban,ahhoz hogy láthatóan azonos minőségü legyen a két metodus a hardveres konvertálásnál 3x nagyobb bitrátára volt szükség (3MB kontra 9MB/sec),és igy pont a számomra leglényegesebb szempont nem teljesül,hogy minél kisebb fájlmérettel érjek el megfelelő minőséget,ezért azon videóknál ahol fontos a kiváló minőség ott továbbra is a szoftveres konvertálást fogom használni 2pass-al,ahol nem számit a fájlméret,ott szóba jöhet a hardveres konvertálás is.A hardveres konvertálás nagy előnye a sebessége nagyon csábitó,hiszen h264-ben az eredeti video idejének negyede alatt lehet konvertálni,h265-ben pedig az eredeti video hosszának kb fele harmada alatt,de ehhez a minőséget,vagy a fájlméretet kell feláldozni,ezt mindenkinek magának kell eldönteni,érdemes egy próbát tenni,én a Shotcut 19.07.15-ös appimage verziót használtam,a Handbrake-nél pedig az 1.2.1-es verziót.

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#6 Ez a téma engem is érdekel, mert a h.265-ös enkódolás igencsak időigényes. Egy 1920x816-os videót a játszási (valódi) idő 4-4,5-szerese alatt tömöríti be egymenetes kódolással (a minőség végig azonos) a Handbrake. Ezzel a módszerrel sajnos előre nem lehet megmondani, mekkora lesz a fájlméret - ez nagyban függ a film dinamikusságától (gyors jeleneteknél magasabb a bitráta, a kevés mozgásnál alacsonyabb). A h.264 kódolása sokkal gyorsabb, hiszen egyszerűbb a blokkok elosztása, de ugyanakkor nagyobb fájlméretet eredményez azonos minőség mellett. Azért is kell nagyobb erőforrás a hevc videó lejátszásához, mert bonyolultabb a kodek - a tabletem majd' beledöglik, mert a hardvere nem támogatja a dekódolását. Az említett felbontású film (a hossza 133,5 perc) enkódolása több, mint 8 órán át tartott.

A laptop processzora csak 2 magos, de 4 szálas működésű. Az alaplapon van dedikált NVIDIA-chip is (GeForce 940M, 2 GiB RAM-mal). Vajon rendelkezik-e az általad is említett hardveres rásegítéssel, hogy egy kicsit tehermentesítse a processzort? A lejátszással semmi gond, hiszen még a 4k-s VP9-es videókat is lejátssza.

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#7
Ki kell próbálnod,ha telepitetted a gépedre a megfelelő (valószinüleg legújabb) NVIDIA drivert:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo ubuntu-drivers devices (nálam a válasz:nvidia-driver-430 - third-party free recommended)
ezzel a parancsal ezt az ajánlottat telepiti:
sudo ubuntu-drivers autoinstall
Valamint az Intel integrált GPU drivert (VAAPI):
sudo apt install mesa-va-drivers
Ha ezek fenntvannak,akkor jöhet a próba,ha az NVIDIA X Server setings-ben az NVIDIA-ra vagy bejelentkezve,akkor tudod használni az NVENC hardveres kódolást (ekkor a GeForce 940M-et használod),és ha telepited a legújabb handbrake-t (1.2.1-es) és elinditod,a video opcióban a video encoder listán meg kell jelennie a h.264 (NVEnc),és a h.265(NVEnc) opciónak,nálam csak a h.264(NVEnc) működik a GeForce 950M kártyám csak ezt támogatja,és ezt tudtam kipróbálni.Ha az NVIDIA X Server setings-ben az Intel GPU-ra jelentkezel be akkor tudod a VAAPI-t használni a konvertáláshoz,nálam (HD Graphics 530) ebben az opcióban a shotcut mindkét lehetőséget támogatja h264 vaapi,és hevc vaapit is.Erről úgy tudsz meggyőződni,hogy megnyitod a shotcutot,ráklikkelsz a configure fülre,és minden elől kiveszed a pipát,majd leokézod,és bepipálod a use hardware encoder opciót,ekkor leteszteli e lehetőségeket a shotcut és a configure fület megnyitva bepipálja azokat az opciókat amit támogat a hardvered,és ezeket már használhatod is.Sok sikert a próbához.

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#8 Végrehajtottam az általad javasoltakat, frissítettem a Handbrake-et az 1.2.1-es verzióra - meg is jelent a kodekek között az NVEnc lehetőség is -, de nálam egyik se működik. A shotcutot nem használom kódoláshoz, csak a Handbrake-et (az Avidemuxot is lehetne enkódolásra használni, de lassabb, mint a Handbrake - inkább csak vágásra veszem igénybe). 

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#9
Akkor a te videokártyád (GeForce 940M) még éppen nem támogatott,érdekes nekem eggyel van nagyobb (GeForce 950M),és az már támogatott,de a biztosat a shotcut tudja megállapitani,mindkét üzemmódban (NVIDIA/INTEL) le kell tesztelned vele a hardveredet az elözöekben leirtak szerint,csak akkor lehetsz biztos a kompatibilitással kapcsolatban.Az Intel GPU-nál is eggyel nagyobb az én HD Graphics 530-as GPU-m mint a tied (HD Graphics 520,ha jól tippelek) és az mindkét VAAPI h264/H265-öt támogatja,remélhetőleg itt nem fogod éppen elbukni a kompatibilitást,mert akkor nagyon peches voltál a laptopod kiválasztásánál.
Shotcut appimage letöltése

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#10 Ki akartam próbálni a Shotcut videószerkesztő programot (verziószám: 19.12.31), de nem akaródzik neki a videókonvertálás. Jelenleg az Intel Core i5-5200u processzor van beállítva a videó kezelésére. Ennek megfelelően a Shotcutban a kodeknél a h264_vaapi-t állítottam be, de a videóbeállítások után az exportálás nem akar elindulni. Lehet, hogy ez a processzor nem támogatja ezt a módot? A NVIDIA Geforce 940M-ről is azt olvastam egy fórumon, hogy az NVEnc rásegítést nem támogatja. Így kénytelen vagyok mindig szoftveresen kódolni, ami igencsak időigényes (főleg a HEVC-nél). Az NVEnc kódolási mód a HandBrake-nél is rendelkezésre áll, de az se használja.
Elképzelhető, hogy rosszul kezelem a Shotcutot, eddig még nem használtam. A fájlt beolvastam, beállítottam a videó paramétereit, de a feladatok ablaka üres. Eddig csak a HandBrake-et és az Avidemuxot használtam.
Tudnál mutatni egy képernyővideót a Shotcut kezeléséről?

kimarite képe

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#11 A verziószám annak fényében nem túl „érdekes”, hogy a ShotCut alkalmazás (tükrökről nem, de) elérhető Appimage, Portable, Snap verzió is, és talán PPA-ról is. Többféle a csomagolás ...

A Portable / Hordozható változatot kipróbáltam, elindult az átalakítás is.

    Honnan töltötted le, és melyik fenti verziót próbálod a„lélegeztetőgépre tenni”?

Forrásaim
Az épp aktuális portable (kibontás > kettő katt a desktop fájlra):
https://github.com/mltframework/shotcut/releases/download/v19.12.31/shot...
https://shotcut.org/download/
https://mintguide.org/video/902-shotcut-free-open-source-cross-platform-...

Kapcsolódó információ

Az ffmpeg telepítve (ha jól emlékszem, nálad is), tesztelem a h264_vaapi kodekra

ffmpeg -codecs | grep h264_vaapi

és azt látom, támogatva.

DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_crystalhd h264_v4l2m2m ) (encoders: libx264 libx264rgb h264_omx h264_v4l2m2m h264_vaapi )
kimarite képe

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#12 Szerk.: szerintem az Appimage (tonsur ezt használta) nem biztos, hogy merít a rendszerfájlokból.

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#12 A Szoftverkezelőből telepítettem a Shotcutot.
h264_vaapi: https://paste.ubuntu.com/p/VKjrXwzGj7/

kimarite képe

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#14 Köszi. Ki kéne derítened, mondjuk ez Snap csomag, vagy miféle más.
Másik lehetőség, ha kipróbálod a hordozható változatot.

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#15 Flatpak-verzió. Már működik az inteles megoldás, de borzasztóan lassan dolgozik. Fogalmam sincs, hogy valóban használja-e a h264_vaapi-t? 2 %-ig vártam, aztán leállítottam a konvertálást. A keletkezett videó ráadásul szaggatott is. Azt hiszem, maradok a HandBrake-nél.

kimarite képe

Hardveres gyorsítás használata konvertáláshoz 2019

Értékelés: 

0
Még nincs értékelve

#16 Nálam működött a dolog. Igaz, nem HD videó, azt nem próbáltam. A konvertálás sikeres volt. Talán, próbáld ki a MESA beállítást a megjelenítésnél. Kisérletezz, melyik formátum jó neked.

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

A GeForce 940M, és HD Graphics 520 nem támogatott hardveres gyorsitás ügyben,ezt már régebben tisztáztuk,az NVENC a Shotcuttal jól használható,gyors és jó a minőség is,a VAAPI-t azért nem használom mert csak magasabb (8MB/sec-nél nagyobb) bitrátán nyújt jó minőséget,de a napokban jelent meg az Openshot legújabb (2.5.0-ás) változata ami már támogatja a hardveres gyorsitást (a megfelelő hardverrel) kipróbáltam,és jó minőségben és gyorsan renderel az NVENC-el,a VAAPI itt is csak magasabb bitrátán nyújt jó minőséget, úgyhogy ennél a szoftvernél is mellőzöm és inkább a H264/NVENC-et használom.
Mindkét szoftvernél az Appimage-verziót használom,és kitünően kezelik a hardvert.

kimarite képe

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#18 Mindkét szoftvernél az Appimage-verziót használom,és kitünően kezelik a hardvert.

Lajosnál a kodeket nem kezelte korábban.

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#19 Az Appimage-verzióban lehet használni a h264_vaapi kodeket, és gyorsabb is a konvertálás vele (egy 5' 3"-es HD-videót 1' 44" alatt konvertált [22-es Minőség alapú változó bitrátával]), mint a libx264-gyel, de a jó minőséghez tényleg nagyobb bitráta kell, ahogyan tonsur is írta. A hevc_vaapi nem működik. Azért az furcsa, hogy a 2-menetes kódolás hiányzik a programból.
Maradok a HandBrake-nél.

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#19 Az Avidemux is tud hardveresen kódolni. A Beállításokban be lehet állítani a HW Accel-nél az Intelt, majd a kodeknél az Intel H264-et. Hardveresen az Avidemux is gyorsan kódol.

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

A Minöség miatt csak az NVIDIA/NVENC-hardveres konvertálást használom főleg a shotcut-al,mivel az egy menetben kis bitrátával tud nagyon jó minőségü VBR-es konvertálást (a legújabb 435-ös NVIDIA drájverrel).A Handbrake is jó és tud két menetben is konvertálni, ennek ellenére nem jobb a minősége a shotcut-nál.Amit meglepve tapasztaltam,hogy a régebbi (1.2.1-es) deb fájlból telepitett verzió sokkal gyorsabb a hardveres konvertálásnál mint az újabb (1.3.1-es),amit Flatpak-os programként telepitettem,a különbség 4k-videó 1080p-re konvertálásánál több mint 20 fps volt a régebbi javára,valószinüleg a Flatpak-os szoftverkörnyezet nem túl hatékony az erőforrások kihasználásában,ezért a régebbit használom.
A Processzorok hibajavitásai miatt (amitől belassulnak) lassan mindenki a hardveres konvertálásra fog kényszerűlni,ha nem akar irreálisan hosszú ideig áramot pazarolni,de szerencsére erre már Linuxon is egyre több szoftver áll rendelkezésre.

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#22 Nálam az Avidemux korrektebben használja ki a processzor adottságait, mint a Shotcut. A Shotcuttal többféle beállítási móddal próbálkoztam, de a minőség általában gyatra volt, és a processzort is jobban igénybe vette, mint az Avidemux. A Shotcutban a h264_vaapi kodeket állítottam be (átlagos 4 Mbit/s, B=0, GOP=120), míg az Avidemuxnál Intel H264-es kodeket (4 Mbit/s, B=0, GOP=120, High profil). A videó felbontása 1920x872, 23,976 fps-sel. Az Avidemux alig terhelte le a processzort (lényegében 1 processzorszál volt 70% terhelésen, a többi meg alig), és a film valós idejénél hamarabb végzett. A Shotcut mind a 4 processzorszálat használta, 80% körüli terhelésen. Utóbbinál a kódolási idő is jóval hosszabb volt, és az eredmény minősége is silányabb. Főleg azon a filmrészleten látszik a különbség, ahol a kissrác repked a kukoricásban. Egyik programnál se lehet 2 menetet használni hardveres enkódolásnál.

Erről az 5 perces videórészletről van szó: https://my.pcloud.com/publink/show?code=XZKL1skZbjEnpGsS5lB7cOTEP4sPtXjc...
Az avidemuxos eredmény: https://my.pcloud.com/publink/show?code=XZ381skZ94FkNolp5JhEIlAa8EeGQzf6...
A shotcutos eredmény: https://my.pcloud.com/publink/show?code=XZFQ1skZb8dabLvrfgjxHdCweKHazYjw...

Be vannak tömörítve, nehogy átkonvertálja őket a pcloud.

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#23
Az NVIDIA NVENC-et H264-el használva full HD-nál a konvertálási idő nálam a video időtartalmának kevesebb mint a negyede (5 és fél perces videót 1-perc 20 másodperc alatt) konvertál kiváló minőségü VBR-es kis bitrátáju (3mb/sec) fájlba. 4K-t full hd-ba pedig az eredeti video időtartalmának 80-90% alatt.HEVC-el konvertálás szempontjából nem kompatibilis a videokártyám,de egyenlőre nincs is szükségem rá.Az Avidemuxot én is próbáltam de csak magasabb bitrátán volt jó minőségü,és a Shotcuthoz képest igen lassú volt,úgyhogy már nem használom.

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

Most próbáltam a Handbrake-t (1.2.1-es verzió) NVIDIA NVENC H264-es konvertálással a 8K-t full hd-ra 25 fps-el, a 4K-t full HD-ra 55 fps-el konvertálta,a full hd-t kisebb bitrátára 230 fps-el,úgyhogy meg vagyok elégedve a hardveres konvertálás sebességével és most már a minőségével is (435-ös drájverrel használva).

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#25 Az első linkelt videót nem konvertálnád át? Kíváncsi vagyok a NVIDIA nvenc h264-re, milyen minőséget produkál 4 Mbittel, 1 menetben. Én csak az Intel h264_vaapi-t tudom használni.

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#26
58 másodperc alatt konvertálta át a Shotcut,innen letöltheted:
https://send.firefox.com/download/27b117441f4900d8/#Tkc_i9GUlY45mybwxuHf3g

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#29 Örülhetsz, hogy tudod használni a NVIDIA-chipedet konvertálásra, mert sok időt spórolhatsz meg vele. Az eredmény jó, de ugyanaz a hiba benne van, mint amit az Intel produkált: a kukoricás jelenetnél kockásodik a kép. Ez betudható a kis (aránylag) bitsebességnek, vagy az 1 menetnek. 2 menettel munkára fogható a videóchip, vagy csak a szoftveres módszerrel lesz jobb minőség?
Az Intel processzorával is hasonló eredményt tudnál elérni hardveres kódolással?

tonsur képe

Hardveres gyorsítás használata konvertáláshoz 2020

Értékelés: 

0
Még nincs értékelve

#30
Tapasztalatom szerint a szoftveres kétmenetes konvertálás nyújtja a legjobb minőséget alacsony bitrátán,és ahogy növeljük a bitrátát úgy csökken majd eltünik a minőségi különbség a hardveres és szoftveres konvertálás között.Ahol nagyon fontosnak tartom a minél jobb képminőséget ott a szoftveres kétmenetes konvertálást használom,de az NVIDIA NVENC hardveres konvertálás 3mbit/sec bitráta felett olyan jó minőséget nyújt,hogy egyre többször használom mostanában.Handbrake-el lehet kétmenetben hardveresen konvertálni,de nem látom jobbnak a Shotcut egymenetes VBR-es konvertálásánál.
Az Inteles HW konvertálás (VAAPI) eddig nekem nagy csalódás, mert lassú és csak magasabb (8mbit/sec felett) bitrátán elfogadható nálam,az NVIDIA csipp pedig azért van a gépben,hogy az erőforrásigényesebb műveleteket támogassa,ha erre a funkcióra nem tudnám használni,akkor teljesen kihasználatlan lenne,mivel játékra nem használom.