FFMPEG изтегляне
Официална страница за изтегляне на уебсайта:
Входът към хиперлинк е видим. Препоръчва се да изтеглите компилираната версия и да изтеглите страницата:
Входът към хиперлинк е видим. Обикновено предпочитам да изтегля най-новата версия (наречена на датата) и разбира се има стабилна версия (наречена на номера на версията).
CUDA изтегляне
CUDA е драйвер, който позволява на GPU-то да извършва свързани операции, тъй като разработваме приложения, които не управляват директно GPU-то, а работят чрез драйвера.
Входът към хиперлинк е видим. Тук избирам версията, показана по-долу: Разбира се, можете също да кликнете на линка по-долу, за да отидете директно в настройките, когато изтеглих.
Входът към хиперлинк е видим.
След като го изтеглите, не забравяйте да го инсталирате, за да не го представям, все пак всички разработват софтуер.
команда
Команди за заявка Провери дали изтегленият ffmpeg поддържа CUDA, ако не (аз го изтеглих), после го изтегли отново или го компилирай сам.
Тестови команди
Конвертирайте 0.mp4 в текущата директория в 00.mp4
Конвертирайте 0.mp4 в текущата директория в 00.mp4 и задайте изходната честота на кадрите 15 (-r 15) и битрейта 500k (-b 500k).
-hwaccel cuvid: Определя използването на хардуерно ускорение на cuvid
-c:v h264_cuvid: Видео декодиране с помощта на h264_cuvid
-c:v h264_nvenc: Видео кодиране с h264_nvenc
-vf scale_npp=1280:-1: Задайте ширината и височината на изходното видео, като обърнете внимание, че това е различно от -vf scale=x:x, използван за меко декодиране
Множество команди за графична карта
Тест за ефективност на транскодирането на GPU На сървър с два процесора Intel-E5-2630v3 и две графични карти Nvidia Tesla M4, тестът за транскодиране на видео h264 беше изпълнен по следния начин:
Средно време за транскодиране на GPU: 8s Средно време за транскодиране на процесора: 25 секунди
При паралелно транскодиране ефективността на софт конвертирането на процесора се подобрява и всички 32 ядра са заети, когато трите задачи за транскодиране са паралелни
Средно време за транскодиране на GPU: 8s Средно време за транскодиране на процесора: 18 секунди
Не е трудно да се види, че скоростта на транскодиране на GPU не се увеличава, когато е паралелно, което показва, че GPU може да изпълнява само една транскодираща задача едновременно. Така че, ако на сървъра са поставени няколко графични карти, ще използва ли ffmpeg няколко графични карти за паралелно транскодиране? За съжаление, отговорът е не. FFMPEG няма възможност автоматично да задава задачи за транскодиране на различни GPU, но след известно проучване беше установено, че GPU, използван за транскодиращата задача, може да бъде зададен чрез параметъра -hwaccel_device! Поддавайте задачи за транскодиране към различни GPU
Графика 0
Графична карта1
Илюстрирам:
-hwaccel_device N: Задайте GPU за изпълнение на задача за транскодиране, N е число
|