Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 17009|Válasz: 4

Használj GPU-gyorsított ffmpeg-et feladatok feldolgozásához Windows alatt

[Linket másol]
Közzétéve: 2019-11-07 21:08:29 | | | |
ffmpeg letöltés

Hivatalos weboldal letöltési oldal:
A hiperlink bejelentkezés látható.
Ajánlott a lefordított verzió letöltése és az oldal letöltése:
A hiperlink bejelentkezés látható.
Általában inkább a legfrissebb verziót szeretem letölteni (a dátumról neveztem el), és természetesen van egy stabil verzió (a verziószámról van elnevezve).



CUDA letöltés

A CUDA egy olyan illezőprogram, amely lehetővé teszi a GPU számára, hogy kapcsolódó műveleteket végezzen, mert olyan alkalmazásokat fejlesztünk, amelyek nem közvetlenül irányítják a GPU-t, hanem az illesztőgépen keresztül működnek.
A hiperlink bejelentkezés látható.
Itt a verziót választom, ahogy az alábbiakban látható:
Természetesen az alábbi linkre is kattinthatsz, hogy közvetlenül a beállításokhoz menj, amikor letöltöttem.
A hiperlink bejelentkezés látható.


Letöltés után ne felejtsd el telepíteni, hogy ne mutassam be, hiszen mindannyian szoftvert fejlesztenek.

parancs

Lekérdezési parancsok
Nézd meg, hogy a letöltött ffmpeg támogatja-e a cuda-t, ha nem (én letöltöttem), akkor töltsd le újra, vagy fordítsd magad.




Tesztparancsok

Konvertáld a jelenlegi könyvtárban lévő 0.mp4 00.mp4-ra
A jelenlegi könyvtárban lévő 0.mp4 átalakítása 00.mp4-re, és megadja a kimeneti képkockasebességet 15 (-r 15) és a bitrátát 500k (-b 500k).
-hwaccel cuvid: Megadja a cuvid hardveres gyorsítás használatát
-c:v h264_cuvid: Videódekódolás h264_cuvid használatával
-c:v h264_nvenc: Videókódolás h264_nvenc
-vf scale_npp=1280:-1: Határozd meg a kimeneti videó szélességét és magasságát, figyeld meg, hogy ez eltér a -vf scale=x:x szoftvertől a soft dekódoláshoz használt -vf scale=x:x

Több videókártya parancs

GPU transzkódolási hatékonysági teszt
Egy szerveren, amely két Intel-E5-2630v3 CPU-val és két Nvidia Tesla M4 videókártyával rendelkezett, a h264 videótranszkódolási tesztet a következőképpen végezték:

Átlagos GPU transzkódolási idő: 8s
Átlagos CPU transzkódolási idő: 25 másodperc

Párhuzamos transzkódoláskor a CPU soft conversion hatékonysága javul, és mind a 32 mag elfoglalt, ha a három transzkódolási feladat párhuzamosan van

Átlagos GPU transzkódolási idő: 8s
Átlagos CPU transzkódolási idő: 18 másodperc

Nem nehéz látni, hogy a GPU transzkódolási sebessége nem nő párhuzamos állapotban, ami azt mutatja, hogy egy GPU egyszerre csak egyetlen transzkódoló feladatot tud végrehajtani. Szóval, ha több grafikus kártyát helyeznek be a szerverre, az ffmpeg több GPU-t használ párhuzamos transzkódoláshoz?
Sajnos a válasz nem.
Az ffmpeg nem képes automatikusan különböző GPU-khoz rendelni a transzkódoló feladatokat, de némi vizsgálat után kiderült, hogy a transzkódoló feladathoz használt GPU a -hwaccel_device paraméterrel meg lehet határozni!
Transzkódoló feladatokat különböző GPU-knak küldj be

Grafika 0


Videókártya1

Illusztrál:

-hwaccel_device N: Határozz meg egy GPU-t egy transzkódoló feladat végrehajtásához, N egy szám





Előző:[Praciális harc] Készíts egy Docker képet Nginx alapján
Következő:2000-es logóprototípusok
 Háziúr| Közzétéve: 2019-11-11-7 21:18:35 |
//参数说明
/*
    * -i fájlnév(bemenet) forrásfájl könyvtár
    * -y Új fájlokat ad ki, vajon kényszerítik-e a meglévő fájlok felülírását
    * -c Megadja a kódolót
    * -fs limit_size(outinput) határozza meg a fájlméret határát, amelyet bájtokban fejezve ki. A korlát átlépése után nem írnak további bájtblokkot. A kimeneti fájl mérete kissé nagyobb, mint a kért fájlméret.
    * -s videó arány 4:3 320x240/640x480/800x600 16:9 1280x720, alapértelmezett érték 'wxh', ugyanaz az eredeti videómérettel
    * -vframes szám (output) beállítja a videóképkockaok számát a kimenethez. Alias: -frames:v
    * -dframes szám (output) beállítja az adatkeretek számát a kimenethez. Alias: -frames:d
    * -frames[:stream_specifier] framecount(output, per-stream) megállítja a képkockák számát tartalmazó írást az folyamhoz.
    * -bsf[:stream_specifier] bitstream_filters (kimenet, folyamonként) megadja a kimeneti fájlfolyam formátumot,
Például kimenetelünk egy MP4 fájlt, amelyet h264 kódol: ffmpeg -i h264.mp4 -c:v másolj -bsf:v h264_mp4toannexb -an out.h264
    * -r 29,97 Zhen sebesség (változtatható, ügyelj rá, hogy a nem szabványos Zhen sebesség miatt a hang és a kép szinkron nélkül marad, így csak 15-re vagy 29,97-re állítható)
    *
    */
 Háziúr| Közzétéve: 2019-11-8 15:07:05 |
ffmpeg.exe -hwaccel_device 1 -hwaccel cuvid -i C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -y C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A16.avi

https://blog.csdn.net/Tosonw/article/details/90178195


NVCC --verzió

A CUVID egy CUDA-alapú videódekódolási könyvtár, amely a CUVID-et használja a dekódolásra


Nem sikerült létrehozni Direct3D eszközt
Eszközalkotás sikertelen: -1313558101.

Az ffmpeg verziónak a szinkronizált grafikus kártya illesztőprogramnak kell felelnie a hardveres gyorsítás helyes eléréséhez.


Nézd meg az NVIDIA hardvergyorsító kodekjét:

.\ffmpeg.exe -kodekek | SLS NVENC
.\ffmpeg.exe -kodekek | SLS cuvid

Az előtag a következő jelentéssel bír:

Előtag jelentése
D….. = Dekódolás támogatott
. E.... = Támogatott kódolás
.. V... = Videó kódek
.. A... = Hangkódek
.. S... = Feliratkód
… I.. = Kereten belüli kódek
....L. = Veszteséges tömörítés
….. S = Veszteségmentes kompresszió



ffmpeg.exe -hwaccel_device 1 -hwaccel cuvid -c:v h264_cuvid -i C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -c:v h264_nvenc -y C:\Users\DELL\Desktop\VideoDemo\ VideoDemo\bin\Debug\A16.avi

ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -c:v h264_nvenc -y C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\ A16.avi


https://developer.nvidia.com/ffmpeg
Közzétéve: 2023-2-26 12:11:24 |
Haladéktalan:A szerzőket kitiltják vagy eltávolítják, a tartalmak automatikusan blokkolódnak
Közzétéve: 2023-2-26 12:13:35 |
Haladéktalan:A szerzőket kitiltják vagy eltávolítják, a tartalmak automatikusan blokkolódnak
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com