Скачать 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 — число
|