https://trac.ffmpeg.org/wiki/HWAccelIntro
FFmpeg предоставляет подсистему для аппаратного ускорения.
Аппаратное ускорение позволяет использовать определенные устройства (обычно графические карты> или другие конкретные устройства) для обработки мультимедиа. Это позволяет использовать выделенное оборудование для выполнения сложных вычислений, освобождая при этом ЦП от таких вычислений. Обычно аппаратное ускорение позволяет определенным аппаратным устройствам (обычно графическим процессорам) выполнять операции, связанные с декодированием и кодированием видеопотоков или фильтрацией видео.
При использовании инструмента FFmpeg декодирование с помощью HW включается с помощью параметра -hwaccel
, который включает определенный декодер. Каждый декодер может иметь определенные ограничения (например, декодер H.264 может поддерживать только базовый профиль). HW-ассистированное кодирование включается с помощью специального кодера (например, nvenc_h264). Фильтрация Обработка с помощью HW поддерживается только в нескольких фильтрах, и в этом случае вы включаете код OpenCL с помощью параметра фильтра.
Существует несколько стандартов API аппаратного ускорения, некоторые из которых в некоторой степени поддерживаются FFmpeg.
Параметр «-hwaccel auto» позволяет выбрать аппаратное ускоренное декодирование, которое будет использоваться для сеанса кодирования.
Вы можете добавить этот параметр с помощью "auto" перед вводом (если ваш x264 скомпилирован с поддержкой OpenCL, вы можете попробовать добавить параметр -x264opts), например:
ffmpeg -hwaccel auto -i input -vcodec libx264 -x264opts opencl output
Извините, но я не могу вспомнить, как перечислить все доступные опции для "-hwaccel".
Также вы можете попробовать это:https://wiki.archlinux.org/index.php/Hardware_video_acceleration