Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 17009|Svar: 4

Brug GPU-accelereret ffmpeg til at behandle opgaver under Windows

[Kopier link]
Opslået den 7-11-2019 kl. 21:08:29 | | | |
ffmpeg download

Officielle hjemmeside for download:
Hyperlink-login er synlig.
Det anbefales at downloade den kompilerede version og downloade siden:
Hyperlink-login er synlig.
Jeg foretrækker generelt at downloade den nyeste version (opkaldt efter datoen), og selvfølgelig findes der en stabil version (opkaldt efter versionsnummeret).



CUDA-download

CUDA er en driver, der tillader GPU'en at udføre relaterede operationer, fordi vi udvikler applikationer, der ikke direkte styrer GPU'en, men kører gennem driveren.
Hyperlink-login er synlig.
Her vælger jeg versionen som vist nedenfor:
Selvfølgelig kan du også klikke på linket nedenfor for at gå direkte til indstillingerne, da jeg downloadede.
Hyperlink-login er synlig.


Efter download, husk at installere det, så jeg ikke introducerer det, for de udvikler jo alle software.

kommando

Forespørgselskommandoer
Tjek om den downloadede ffmpeg understøtter CUDA, hvis den ikke gør (jeg downloadede den), så download den igen eller kompiler den selv.




Testkommandoer

Konverter 0.mp4 i den nuværende mappe til 00.mp4
Konverter 0.mp4 i den aktuelle mappe til 00.mp4 og angiv outputbilledhastigheden på 15 (-r 15) og bitraten på 500k (-b 500k).
-hwaccel cuvid: Specificerer brugen af cuvid hardwareacceleration
-c:v h264_cuvid: Videodekodning ved hjælp af h264_cuvid
-c:v h264_nvenc: Videokodning med h264_nvenc
-vf scale_npp=1280:-1: Angiv bredden og højden af outputvideoen, bemærk at dette adskiller sig fra -vf-skalaen=x:x, der bruges til blød dekodning

Flere grafikkortkommandoer

GPU-transkodningseffektivitetstest
På en server med to Intel-E5-2630v3 CPU'er og to Nvidia Tesla M4 grafikkort blev h264 videotranskodningstesten udført som følger:

Gennemsnitlig GPU-transkodningstid: 8 sekunder
Gennemsnitlig CPU-transkodningstid: 25 sekunder

Ved transkodning parallelt forbedres effektiviteten af CPU-soft-konvertering, og alle 32 kerner er optaget, når de tre transkodningsopgaver er parallelle

Gennemsnitlig GPU-transkodningstid: 8 sekunder
Gennemsnitlig CPU-transkodningstid: 18 sekunder

Det er ikke svært at se, at GPU'ens transkodningshastighed ikke stiger, når den er parallel, hvilket viser, at en GPU kun kan udføre én transkodningsopgave ad gangen. Så hvis der indsættes flere grafikkort på serveren, vil ffmpeg så bruge flere GPU'er til parallel transkodning?
Desværre er svaret nej.
ffmpeg har ikke mulighed for automatisk at tildele transkodningsopgaver til forskellige GPU'er, men efter lidt undersøgelse blev det fundet, at GPU'en, der bruges til transkodningsopgaven, kan specificeres ved parameteren -hwaccel_device!
Indsend transkodningsopgaver til forskellige GPU'er

Grafik 0


Grafikkort1

Illustrere:

-hwaccel_device N: Angiv en GPU til at udføre en transkodningsopgave, N er et tal





Tidligere:[Praktisk kamp] Opret et Docker-image baseret på Nginx
Næste:Logoprototyper fra 2000
 Udlejer| Opslået den 7-11-2019 21:18:35 |
//参数说明
/*
    * -i filnavn(input) kildefilmappe
    * -y Udskriver nye filer, uanset om eksisterende filer skal overskrives med tvung.
    * -c Angiver koderen
    * -fs limit_size(outinput) sætter grænsen for filstørrelsen, udtrykt i bytes. Der skrives ikke flere byteblokke efter grænsen er overskredet. Størrelsen på outputfilen er en smule større end den ønskede filstørrelse.
    * -s videoformat 4:3 320x240/640x480/800x600 16:9 1280x720, standardværdi 'wxh', samme som den oprindelige videostørrelse
    * -vframes number(output) sætter antallet af videoframes til outputtet. Alias: -frames:v
    * -dframes antal (output) sætter antallet af dataframes til outputtet. Alias: -frames:d
    * -frames[:stream_specifier] framecount(output, per-stream) stopper med at skrive til streamen for antallet af frames.
    * -bsf[:stream_specifier] bitstream_filters (output,per-stream) specificerer outputfilstrømsformatet,
For eksempel, output en MP4-fil kodet med h264: ffmpeg -i h264.mp4 -c:v kopier -bsf:v h264_mp4toannexb -an out.h264
    * -r 29,97 Zhen-hastighed (kan ændres, sørg for, at ikke-standard Zhen-hastighed vil få lyd og billede til at være ude af sync, så den kun kan sættes til 15 eller 29,97)
    *
    */
 Udlejer| Opslået den 8-11-2019 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 --version

CUVID er et CUDA-baseret videodekodningsbibliotek, der bruger CUVID til dekodning


Fejlede i at oprette Direct3D-enhed
Enhedsskabelse mislykkedes: -1313558101.

FFMPEG-versionen skal svare til den synkrone grafikkortdriver, for korrekt at muliggøre hardwareacceleration.


Se NVIDIA's hardwareaccelerationscodec:

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

Præfikset har følgende betydninger:

Præfiksbetydning
D….. = Understøttet afkodning
. E.... = Kodning understøttet
.. V... = Videocodec
.. A... = Lydkodek
.. S... = Undertekstkodek
… Jeg.. = Intra-frame-only codec
....L. = Tabsgivende kompression
….. S = Tabsfri kompression



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


https://developer.nvidia.com/ffmpeg
Opslået den 26-2-2023 kl. 12:11:24 |
Lynhurtig:Forfattere bliver udelukket eller fjernet indhold blokeres automatisk
Opslået den 26-2023 kl. 12:13:35 |
Lynhurtig:Forfattere bliver udelukket eller fjernet indhold blokeres automatisk
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com