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
|