Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 17009|Răspunde: 4

Folosește ffmpeg accelerat cu GPU pentru a procesa sarcini sub Windows

[Copiază linkul]
Postat la 2019-11-7 21:08:29 | | | |
descărcare ffmpeg

Pagina oficială de descărcare a site-ului:
Autentificarea cu hyperlink este vizibilă.
Se recomandă descărcarea versiunii compilate și descărcarea paginii:
Autentificarea cu hyperlink este vizibilă.
De obicei prefer să descarc cea mai recentă versiune (denumită după dată) și, desigur, există o versiune stabilă (numită după numărul versiunii).



Descărcare CUDA

CUDA este un driver care permite GPU-ului să efectueze operații conexe, deoarece dezvoltăm aplicații care nu controlează direct GPU-ul, ci operează prin driver.
Autentificarea cu hyperlink este vizibilă.
Aici aleg versiunea așa cum este prezentată mai jos:
Desigur, poți da click și pe linkul de mai jos pentru a merge direct la setări când am descărcat.
Autentificarea cu hyperlink este vizibilă.


După descărcare, amintește-ți să-l instalezi, deci nu îl voi prezenta, până la urmă, toți dezvoltă software.

comanda

Comenzi de interogare
Verifică dacă ffmpeg descărcat suportă cuda, dacă nu (eu l-am descărcat), apoi descarcă-l din nou sau compilează-l singur.




Comenzi de testare

Convertește 0.mp4 din directorul curent în 00.mp4
Convertiți 0.mp4 din directorul curent în 00.mp4 și specificați rata de cadre de ieșire de 15 (-r 15) și rata de biți de 500k (-b 500k).
-hwaccel cuvid: Specifică utilizarea accelerării hardware cuvid
-c:v h264_cuvid: Decodare video folosind h264_cuvid
-c:v h264_nvenc: Codare video cu h264_nvenc
-vf scale_npp=1280:-1: Specifică lățimea și înălțimea videoclipului de ieșire, rețineți că aceasta este diferită de scara -vf=x:x folosită pentru decodarea soft

Comenzi multiple pentru plăcile video

Test de eficiență a transcodării GPU
Pe un server cu două procesoare Intel-E5-2630v3 și două plăci grafice Nvidia Tesla M4, testul de transcodare video h264 a fost efectuat astfel:

Timp mediu de transcodare GPU: 8s
Timp mediu de transcodare CPU: 25s

Când se transcodează în paralel, eficiența conversiei soft pentru CPU este îmbunătățită, iar toate cele 32 de nuclee sunt ocupate atunci când cele trei sarcini de transcodare sunt paralele

Timp mediu de transcodare GPU: 8s
Timpul mediu de transcodare al CPU-ului: 18s

Nu este greu de observat că viteza de transcodare a GPU-ului nu crește când este paralelă, ceea ce arată că o placă video poate efectua o singură sarcină de transcodare simultan. Deci, dacă sunt inserate mai multe plăci grafice pe server, ffmpeg va folosi mai multe plăci video pentru transcodare paralelă?
Din păcate, răspunsul este nu.
ffmpeg nu are capacitatea de a atribui automat sarcini de transcodare către diferite GPU-uri, dar după o investigație s-a descoperit că GPU-ul folosit pentru sarcina de transcodare poate fi specificat prin parametrul -hwaccel_device!
Trimite sarcini de transcodare către diferite plăci video

Grafică 0


Placă grafică1

Ilustra:

-hwaccel_device N: Specifică un GPU pentru a efectua o sarcină de transcodare, N este un număr





Precedent:[Luptă practică] Creează o imagine Docker bazată pe Nginx
Următor:Prototipuri cu logo-ul din 2000
 Proprietarul| Postat la 2019-11-7 21:18:35 |
//参数说明
/*
    * -i nume fișier(input) director sursă
    * -y Scoate fișiere noi, dacă trebuie forțată suprascrierea fișierelor existente
    * -c Specifică encoderul
    * -fs limit_size(outinput) stabilește limita dimensiunii fișierului, exprimată în octeți. Nu se mai scrie niciun bloc de octeți după ce limita este depășită. Dimensiunea fișierului de ieșire este puțin mai mare decât dimensiunea cerută.
    * -s raport video 4:3 320x240/640x480/800x600 16:9 1280x720, valoarea implicită 'wxh', aceeași ca dimensiunea video originală
    * -vframes number (output) setează numărul de cadre video la ieșire. Alias: -frames:v
    * Numărul de cadre d (ieșire) stabilește numărul de cadre de date la ieșire. Alias: -frames:d
    * -frames[:stream_specifier] framecount(output, per-stream) încetează să scrie în flux pentru numărul de cadre.
    * -bsf[:stream_specifier] bitstream_filters (ieșire, per flux) specifică formatul fluxului de fișiere de ieșire,
De exemplu, ieși un fișier MP4 codificat de h264: ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264
    * -r 29.97 rata Zhen (poate fi modificată, asigură-te că rata Zhen nestandard va face ca sunetul și imaginea să fie desincronizate, deci poate fi setată doar la 15 sau 29.97)
    *
    */
 Proprietarul| Postat la 2019-11-8 15:07:05 |
ffmpeg.exe -hwaccel_device 1 -hwaccel cuvid -i C:\Users\DELL\Desktop\VideoDemo\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 --versiune

CUVID este o bibliotecă de decodare video bazată pe CUDA care folosește CUVID pentru decodare


Eșuat la crearea unui dispozitiv Direct3D
Crearea dispozitivului a eșuat: -1313558101.

Versiunea ffmpeg trebuie să corespundă driverului plăcii video sincrone pentru a permite corect accelerarea hardware.


Aruncă o privire la codec-ul de accelerare hardware NVIDIA:

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

Prefixul are următoarele semnificații:

Semnificația prefixului
D….. = Decodare suportată
. E.... = Codificare suportată
.. V... = Codec video
.. A... = Codec audio
.. S... = Codec subtitrări
… I.. = Codec intra-cadru doar
....L. = Compresie cu pierderi
….. S = Compresie fără pierderi



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
Postat la 26-02-2023 12:11:24 |
Prompt:Autorii sunt interziși sau conținutul eliminat este blocat automat
Postat pe 26-02-2023 12:13:35 |
Prompt:Autorii sunt interziși sau conținutul eliminat este blocat automat
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com