Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 17009|Odgovoriti: 4

Uporabite GPU-pospešeno ffmpeg za obdelavo nalog v Windows

[Kopiraj povezavo]
Objavljeno 7. 11. 2019 ob 21:08:29 | | | |
FFMPEG prenos

Uradna stran za prenos spletne strani:
Prijava do hiperpovezave je vidna.
Priporočljivo je, da prenesete prevedeno različico in prenesete stran:
Prijava do hiperpovezave je vidna.
Na splošno raje prenesem najnovejšo različico (poimenovano po datumu) in seveda obstaja stabilna različica (poimenovana po številki različice).



CUDA prenos

CUDA je gonilnik, ki GPU-ju omogoča izvajanje povezanih operacij, saj razvijamo aplikacije, ki ne nadzorujejo neposredno GPU-ja, ampak delujejo prek gonilnika.
Prijava do hiperpovezave je vidna.
Tukaj izberem različico, kot je prikazano spodaj:
Seveda lahko kliknete tudi spodnjo povezavo, da greste neposredno v nastavitve, ko sem prenesel.
Prijava do hiperpovezave je vidna.


Po prenosu ne pozabite namestiti, zato ga ne bom uvajal, saj vsi razvijajo programsko opremo.

ukaz

Ukazi za poizvedbe
Preveri, ali preneseni ffmpeg podpira cuda, če ne (jaz sem ga prenesel), potem ga ponovno prenesi ali sam prevedi.




Testni ukazi

Pretvorite 0.mp4 v trenutni mapi v 00.mp4
Pretvorite 0.mp4 v trenutni mapi v 00.mp4 in določite izhodno hitrost sličic 15 (-r 15) in bitno hitrost 500k (-b 500k).
-hwaccel cuvid: Določa uporabo strojne pospešitve cuvid
-c:v h264_cuvid: Dekodiranje videa z uporabo h264_cuvid
-c:v h264_nvenc: Video kodiranje z h264_nvenc
-vf_npp=1280:-1: Določite širino in višino izhodnega videa, upoštevajte, da se to razlikuje od lestvice -vf=x:x, ki se uporablja za mehko dekodiranje

Več ukazov grafične kartice

Test učinkovitosti prekodiranja GPU
Na strežniku z dvema procesorjema Intel-E5-2630v3 in dvema grafičnima karticama Nvidia Tesla M4 je bil test video transkodiranja h264 izveden takole:

Povprečni čas transkodiranja na GPU: 8s
Povprečni čas transkodiranja procesorja: 25 sekund

Pri vzporednem transkodiranju se izboljša učinkovitost mehke konverzije CPU, vseh 32 jeder pa je zasedenih, ko so tri naloge transkodiranja vzporedno

Povprečni čas transkodiranja na GPU: 8s
Povprečni čas transkodiranja procesorja: 18 sekund

Ni težko opaziti, da se hitrost transkodiranja GPU ne poveča, ko je vzporedno, kar kaže, da GPU lahko hkrati opravi le eno nalogo transkodiranja. Torej, če je na strežniku vstavljenih več grafičnih kartic, ali bo ffmpeg uporabljal več grafičnih kartic za vzporedno transkodiranje?
Na žalost je odgovor ne.
ffmpeg nima možnosti samodejnega dodeljevanja nalog transkodiranja različnim GPU-jem, vendar so po nekaj raziskavah ugotovili, da je GPU, ki se uporablja za nalogo transkodiranja, mogoče določiti s parametrom -hwaccel_device!
Oddaj naloge transkodiranja na različne GPU-je

Grafika 0


Grafična kartica1

Ponazoritev:

-hwaccel_device N: Določite grafično kartico za izvajanje naloge transkodiranja, N je število





Prejšnji:[Praktični boj] Ustvari Dockerjevo sliko na podlagi Nginx
Naslednji:Prototipi logotipa iz leta 2000
 Najemodajalec| Objavljeno 7. 11. 2019 ob 21:18:35 |
//参数说明
/*
    * -i ime(input) imenik izvorne datoteke
    * -y Izhodi nove datoteke, ali je treba prisilno prepisati obstoječe datoteke
    * -c Določa kodirnik
    * -fs limit_size(izhod) določa omejitev velikosti datoteke, izraženo v bajtih. Po presegu omejitve se ne piše več bajtnih blokov. Velikost izhodne datoteke je nekoliko večja od zahtevane velikosti.
    * -s video razmerje 4:3 320x240/640x480/800x600 16:9 1280x720, privzeta vrednost 'wxh', enaka kot originalna velikost videa
    * -vokvirjev številka (izhod) določa število video okvirjev na izhodu. Vzdevek: -frames:v
    * -število dokvirjev (izhod) določa število podatkovnih okvirjev na izhod. Vzdevek: -frames:d
    * -sličic[:stream_specifier] sličice (izhod, na tok) preneha zapisovati v tok za število sličic.
    * -bsf[:stream_specifier] bitstream_filters (izhod, na tok) določa format izhodnega datotečnega toka,
Na primer, izpišemo MP4 datoteko, kodirano s h264: ffmpeg -i h264.mp4 -c:v kopiraj -bsf:v h264_mp4toannexb -an out.h264
    * -r 29,97 Zhen hitrost (lahko se spremeni, poskrbite, da bo nestandardna Zhen hitrost povzročila nesinhronizacijo zvoka in slike, zato jo je mogoče nastaviti le na 15 ali 29,97)
    *
    */
 Najemodajalec| Objavljeno 8. 11. 2019 ob 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 -- različica

CUVID je knjižnica za dekodiranje videa, ki temelji na CUDA, ki uporablja CUVID za dekodiranje


Ni uspelo ustvariti naprave Direct3D
Ustvarjanje naprave ni uspelo: -1313558101.

Različica ffmpeg mora ustrezati sinhronemu gonilniku grafične kartice, da omogoča pravilno strojno pospeševanje.


Oglejte si NVIDIA kodek za strojno pospeševanje:

.\ffmpeg.exe -kodeci | SLS NVENC
.\ffmpeg.exe -kodeci | SLS Cuvid

Predpona ima naslednje pomene:

Pomen predpone
D….. = Podprto dekodiranje
. E.... = Podprto kodiranje
.. V... = Video kodek
.. A... = Avdio kodek
.. S... = kodek podnapisov
… I.. = Kodek samo znotraj okvirja
....L. = Izgubljiva kompresija
….. S = Brezizgubna kompresija



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\bin\Debug\ A16.avi


https://developer.nvidia.com/ffmpeg
Objavljeno 26. 2. 2023 ob 12:11:24 |
Uren:Avtorji so prepovedani ali pa je vsebina samodejno blokirana
Objavljeno 26. 2. 2023 ob 12:13:35 |
Uren:Avtorji so prepovedani ali pa je vsebina samodejno blokirana
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com