Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 17009|Odpowiedź: 4

Użyj GPU-akcelerowanego ffmpeg do przetwarzania zadań w systemie Windows

[Skopiuj link]
Opublikowano 7.11.2019 21:08:29 | | | |
ffmpeg pobierz

Oficjalna strona do pobrania na stronie internetowej:
Logowanie do linku jest widoczne.
Zaleca się pobranie wersji skompilowanej i pobranie strony:
Logowanie do linku jest widoczne.
Zazwyczaj wolę pobierać najnowszą wersję (nazwaną od daty), a oczywiście jest też wersja stabilna (nazwana od numeru wersji).



Pobierz CUDA

CUDA to sterownik, który pozwala GPU na wykonywanie powiązanych operacji, ponieważ tworzymy aplikacje, które nie sterują bezpośrednio GPU, lecz działają przez sterownik.
Logowanie do linku jest widoczne.
Tutaj wybieram wersję pokazaną poniżej:
Oczywiście możesz też kliknąć poniższy link, aby przejść bezpośrednio do ustawień po pobraniu.
Logowanie do linku jest widoczne.


Po pobraniu pamiętaj, żeby go zainstalować, więc nie będę go przedstawiał, w końcu wszyscy tworzą oprogramowanie.

polecenie

Polecenia zapytań
Sprawdź, czy pobrany ffmpeg obsługuje cuda, jeśli nie (ja go pobrałem), to pobierz go ponownie lub skompiluj samodzielnie.




Polecenia testowe

Przekonwertuj 0.mp4 w aktualnym katalogu na 00.mp4
Przekonwertuj 0.mp4 w aktualnym katalogu na 00.mp4 i określ przepływność klatek wyjściowych 15 (-r 15) oraz bitrate 500k (-b 500k).
-hwaccel cuvid: Określa użycie sprzętowej akceleracji cuvid
-c:v h264_cuvid: Dekodowanie wideo za pomocą h264_cuvid
-c:v h264_nvenc: Kodowanie wideo za pomocą h264_nvenc
-vf scale_npp=1280:-1: Określ szerokość i wysokość wideo wyjściowego, zauważ, że różni się to od skali -vf=x:x używanej do miękkiego dekodowania

Wiele poleceń karty graficznej

Test efektywności transkodowania GPU
Na serwerze z dwoma procesorami Intel-E5-2630v3 i dwoma kartami graficznymi Nvidia Tesla M4 test transkodowania wideo h264 przeprowadzono następująco:

Średni czas transkodowania GPU: 8 sekund
Średni czas transkodowania CPU: 25 s

Podczas transkodowania równoległego poprawia się efektywność miękkiej konwersji CPU, a wszystkie 32 rdzenie są zajęte, gdy trzy zadania transkodowania działają równolegle

Średni czas transkodowania GPU: 8 sekund
Średni czas transkodowania CPU: 18 sekund

Nietrudno zauważyć, że prędkość transkodowania GPU nie wzrasta przy pracy równoległej, co pokazuje, że GPU może wykonywać tylko jedno zadanie transkodowania jednocześnie. Więc jeśli na serwerze włożonych jest kilka kart graficznych, czy ffmpeg będzie używał wielu GPU do transkodowania równoległego?
Niestety, odpowiedź brzmi: nie.
ffmpeg nie ma możliwości automatycznego przypisywania zadań transkodowania do różnych GPU, ale po pewnych badaniach odkryto, że GPU używany do tego zadania można określić parametrem -hwaccel_device!
Przesyłaj zadania transkodowania do różnych GPU

Grafika 0


Karta graficzna1

Ilustrują:

-hwaccel_device N: Określ GPU do wykonania zadania transkodowania, N to liczba





Poprzedni:[Walka praktyczna] Stwórz obraz Dockera na podstawie Nginx
Następny:Prototypy logo z 2000 roku
 Ziemianin| Opublikowano 7.11.2019 o 21:18:35 |
//参数说明
/*
    * -i katalog plików źródłowych(nadawanie(nadawanie)
    * -y Generuje nowe pliki, czy wymusić nadpisywanie istniejących plików
    * -c Określa enkoder
    * -fs limit_size(wyjście) ustala limit rozmiaru pliku, wyrażony w bajtach. Po przekroczeniu limitu nie zapisuje się już żadnych bloków bajtów. Rozmiar pliku wyjściowego jest nieco większy niż żądany rozmiar.
    * -s współczynnik wideo 4:3 320x240/640x480/800x600 16:9 1280x720, domyślna wartość 'wxh', taki sam jak oryginalny rozmiar wideo
    * -liczba (wyjście) -vramek określa liczbę klatek wideo na wyjściu. Alias: -frames:v
    * -liczba ramek (wyjście) określa liczbę ramek danych na wyniku. Alias: -frames:d
    * -klatek[:stream_specifier] liczba klatek (wyjście, na strumień) przestaje zapisywać do strumienia dla liczby klatek.
    * -bsf[:stream_specifier] bitstream_filters (wyjście, na strumień) określa format strumienia pliku wyjściowego,
Na przykład, wyjdź plik MP4 zakodowany przez h264: ffmpeg -i h264.mp4 -c:v kopiuj -bsf:v h264_mp4toannexb -an out.h264
    * -r 29,97 Prędkość Zhen (można ją zmienić, upewnij się, że niestandardowa szybkość Zhen powoduje niesynchronizację dźwięku i obrazu, więc można ją ustawić tylko na 15 lub 29,97)
    *
    */
 Ziemianin| Opublikowano 8.11.2019 o 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 -- wersja

CUVID to biblioteka dekodowania wideo oparta na CUDA, która wykorzystuje CUVID do dekodowania


Nie udało się utworzyć urządzenia Direct3D
Tworzenie urządzenia nie powiodło się: -1313558101.

Wersja ffmpeg musi odpowiadać synchronicznemu sterownikowi karty graficznej, aby umożliwić poprawne przyspieszenie sprzętowe.


Sprawdź kodek akceleracji sprzętowej NVIDIA:

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

Prefiks ma następujące znaczenia:

Znaczenie przedrostka
D….. = Obsługiwane dekodowanie
. E.... = Obsługiwane kodowanie
.. V... = kodek wideo
.. A... = Kodek audio
.. S... = kodek napisów
… I.. = Kodek tylko wewnątrzramkowy
....L. = Kompresja stratna
….. S = Bezstratna kompresja



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
Opublikowano 2023-2-26 12:11:24 |
Monit:Autorzy są banowani lub usuwane treści są automatycznie blokowane
Opublikowano 2023-2-26 o 12:13:35 |
Monit:Autorzy są banowani lub usuwane treści są automatycznie blokowane
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com