Ошибка 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.

Другие вопросы по тегам