Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 17009|Vastaus: 4

Käytä GPU-kiihdytettyä ffmpegiä tehtävien käsittelyyn Windowsissa

[Kopioi linkki]
Julkaistu 2019-11-7 21:08:29 | | | |
ffmpeg lataus

Virallinen verkkosivuston lataussivu:
Hyperlinkin kirjautuminen on näkyvissä.
Suositellaan lataamaan käännetty versio ja lataamaan sivun:
Hyperlinkin kirjautuminen on näkyvissä.
Yleensä suosin uusimman version lataamista (nimetty päivämäärän mukaan) ja tietysti on olemassa vakaa versio (nimetty version numeron mukaan).



CUDA-lataus

CUDA on ajuri, joka sallii GPU:n suorittaa siihen liittyviä toimintoja, koska kehitämme sovelluksia, jotka eivät suoraan ohjaa GPU:ta, vaan toimivat ajurin kautta.
Hyperlinkin kirjautuminen on näkyvissä.
Tässä valitsen version alla esitetyn mukaisesti:
Tietenkin voit myös klikata alla olevaa linkkiä päästäksesi suoraan asetuksiin, kun latasin.
Hyperlinkin kirjautuminen on näkyvissä.


Lataamisen jälkeen muista asentaa se, joten en esittele sitä, loppujen lopuksi he kaikki kehittävät ohjelmistoja.

komento

Kyselykomennot
Tarkista, tukeeko ladattu ffmpeg Cudaa, jos ei (itse latasin sen), lataa se uudelleen tai käännä itse.




Testikomennot

Muunna nykyisen hakemiston 0.mp4 muotoon 00.mp4
Muunna nykyisen hakemiston 0.mp4 muotoon 00.mp4 ja määritä lähtöruudunpäivitysnopeus 15 (-r 15) ja bittinopeus 500k (-b 500k).
-hwaccel cuvid: Määrittelee cuvid-laitteistokiihdytyksen käytön
-c:v h264_cuvid: Videon dekoodaus h264_cuvid
-c:v h264_nvenc: Videokoodaus h264_nvenc
-vf scale_npp=1280:-1: Määritä ulostulovideon leveys ja korkeus, huomaa, että tämä eroaa pehmeässä dekoodauksessa käytetystä -vf scale=x:x -asteikosta

Useat näytönohjaimen komennot

GPU:n transkoodauksen tehokkuustesti
Palvelimella, jossa oli kaksi Intel-E5-2630v3 -prosessoria ja kaksi Nvidia Tesla M4 -näytönohjainta, h264-videon transkoodaustesti suoritettiin seuraavasti:

GPU:n keskimääräinen transkoodausaika: 8 sekuntia
Suorittimen keskimääräinen transkoodausaika: 25s

Kun transkoodataan rinnakkain, suorittimen pehmeän muunnoksen tehokkuus paranee, ja kaikki 32 ydintä ovat varattuja, kun kolme transkoodaustehtävää ovat rinnakkain

GPU:n keskimääräinen transkoodausaika: 8 sekuntia
Keskimääräinen suorittimen transkoodausaika: 18s

Ei ole vaikea huomata, että GPU:n transkoodausnopeus ei kasva rinnakkain, mikä osoittaa, että GPU voi suorittaa vain yhden transkoodaustehtävän samanaikaisesti. Joten, jos palvelimelle asennetaan useita näytönohjaimia, käyttääkö ffmpeg useita näytönohjaimia rinnakkaiseen transkoodaukseen?
Valitettavasti vastaus on ei.
ffmpegillä ei ole kykyä automaattisesti määrittää transkoodaustehtäviä eri GPU:ille, mutta jonkin tutkimuksen jälkeen havaittiin, että transkoodaukseen käytetty GPU voidaan määrittää -hwaccel_device-parametrilla!
Lähetä transkoodaustehtäviä eri GPU:ille

Grafiikka 0


Näytönohjain1

Havainnollistaa:

-hwaccel_device N: Määritä GPU suorittamaan transkoodaustehtävä, N on luku





Edellinen:[Käytännön taistelu] Luo Docker-kuva Nginxin pohjalta
Seuraava:Vuoden 2000 logoprototyypit
 Vuokraisäntä| Julkaistu 2019-11-7 21:18:35 |
//参数说明
/*
    * -i tiedostonimi(syöte) lähdetiedostohakemisto
    * -y Tulostaa uudet tiedostot, riippumatta siitä, pakotetaanko olemassa olevat tiedostot ylikirjoitettavaksi
    * -c Määrittää kooderin
    * -fs limit_size(outinput) asettaa tiedostokoon rajan, joka ilmaistaan tavuina. Lisää tavulohkoja ei kirjoiteta rajan ylittämisen jälkeen. Tulostiedoston koko on hieman suurempi kuin pyydetty tiedostokoko.
    * -s videosuhde 4:3 320x240/640x480/800x600 16:9 1280x720, oletusarvo 'wxh', sama kuin alkuperäisessä videokoossa
    * -vframes number(output) asettaa videokehysten määrän lähtöön. Alias: -frames:v
    * -dframes -luku (output) määrittää datakehysten määrän lähtöön. Alias: -frames:d
    * -frames[:stream_specifier] framecount (output, per-stream) lopettaa kirjoittamisen streamille ruutujen määrälle.
    * -bsf[:stream_specifier] bitstream_filters (output, per stream) määrittää tulostiedostovirran muodon,
Esimerkiksi tulosta MP4-tiedosto, joka on koodattu h264:llä: ffmpeg -i h264.mp4 -c:v kopioi -bsf:v h264_mp4toannexb -an out.h264
    * -r 29,97 Zhen-taajuutta (voidaan muuttaa, varmista, että ei-standardi Zhen-nopeus aiheuttaa äänen ja kuvan epäsynkronin, joten se voidaan asettaa vain 15:een tai 29,97:ään)
    *
    */
 Vuokraisäntä| Julkaistu 2019-11-8 klo 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 --versio

CUVID on CUDA-pohjainen videon dekoodauskirjasto, joka käyttää CUVIDia dekoodaukseen


Direct3D-laitteen luominen epäonnistui
Laitteen luominen epäonnistui: -1313558101.

ffmpeg-version täytyy vastata synkronista näytönohjaimen ajuria, jotta laitteistokiihdytys onnistuu oikein.


Katso NVIDIA:n laitteistokiihdytyskoodekki:

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

Etuliitteellä on seuraavat merkitykset:

Etuliitteen merkitys
D….. = Tuettu dekoodaus
. E.... = Tuettu koodaus
.. V... = Videokoodekki
.. A... = Äänikoodekki
.. S... = Tekstityskoodekki
… I.. = Pelkkä kehyksen sisäinen koodekki
....L. = Häviöllinen pakkaus
….. S = Häviötön pakkaus



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
Julkaistu 2023-2-26 12:11:24 |
Ripeä:Tekijät bannataan tai poistetaan, sisältö estetään automaattisesti
Julkaistu 2023-2-26 klo 12:13:35 |
Ripeä:Tekijät bannataan tai poistetaan, sisältö estetään automaattisesti
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com