Ошибка FFMPEG Hwaccel с -hwaccel_output_format
У меня Nvidia 1050Ti gpu
Я тестирую ffmpeg с помощью cuda
ffmpeg -hwaccel nvdec -hwaccel_output_format cuda -i input.mp4 -y \
-c:v h264_nvenc -c:a libmp3lame -b:v 3M \
-filter_complex hwdownload,scale=w=iw*min(1280/iw\,720/ih):h=ih*min(1280/iw\,720/ih),hwupload out.mp4
Ошибка:
[hwupload @ 00000199b49c1080] A hardware device reference is required to upload frames to.
[Parsed_hwupload_2 @ 000001999ba8ee80] Query format failed for 'Parsed_hwupload_2': Invalid argument
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
Conversion failed!
Мне нужен полный аппаратный перекод без использования процессора.
1 ответ
РУКОВОДСТВО ПО ТРАНСКОДАМ NVIDIA FFMPEG
Вы можете выполнить полное перекодирование с помощью аппаратного графического процессора NVIDIA.
Вам необходимо вручную скомпилировать FFmpeg с включенной функцией CUDA. Потому как
scale
это программное обеспечение, использующее ресурсы ЦП. С другой стороны
scale_npp
и
scale_cuda
с использованием ресурса GPU (ограниченные возможности).
hwdownload
: frame down to ram, это означает данные в GPU VRAM -> RAM.
hwupload
: инвертировать
hwdownload
. Примечание: NVENC работает только с видеопамятью GPU.