ffmpeg полный аппаратный транскод NVIDIA с деинтерлейсингом
Я знаю, что если ffmpeg скомпилирован с поддержкой libnpp, вы можете выполнить полное аппаратное транскодирование с масштабированием, например:
ffmpeg -hwaccel_device 0 -hwaccel cuvid -c: v h264_cuvid -i input -vf scale_npp = -1: 720 -c: v h264_nvenc -preset slow output.mkv
Можно ли вместо масштабирования применить фильтр деинтерлейсинга, который будет обрабатываться аппаратными средствами, как масштабирование в приведенном выше примере? Обеспечивает ли libnpp деинтерлейсинг?
1 ответ
Может быть, вы можете использовать cuvid декодер, но я не проверял это.
Смотрите: ffmpeg -h decoder=h264_cuvid
...
Decoder h264_cuvid [Nvidia CUVID H264 decoder]:
General capabilities: delay
Threading capabilities: none
Supported pixel formats: cuda nv12
h264_cuvid AVOptions:
-deint <int> .D.V.... Set deinterlacing mode (from 0 to 2) (default weave)
weave .D.V.... Weave deinterlacing (do nothing)
bob .D.V.... Bob deinterlacing
adaptive .D.V.... Adaptive deinterlacing
-gpu <string> .D.V.... GPU to be used for decoding