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
Другие вопросы по тегам