Задать вопрос
@SmeliyR

Почему для ffmpeg есть кодек h264_nvenc но нет h264_CUDA?

Почему для ffmpeg есть кодек h264_nvenc
который позволяет существенно ускорить энкодинг видео.
НО ведь количество карточек которые поддерживают CUDA намного больше, чем NVENC. И появилась CUDA раньше. Даже моя p106 не имеет NVENC, а поддерживает CUDA очень хорошо (настолько что какая нить условная нейросеть saiga-mistral работает в 100 раз быстрее чем на процессоре)

Но что тогда помешало создать кодек для ffmpeg который работает через CUDA ?
Даже в теории видеофайл можно спокойно целиком закинуть в видео память ну или копировать в неё по частям и полностью на CUDA ядрах работать с этим видеофайлом?
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
Потому что никто не заморачивался с реализацией кодировщика h264 на cuda, ибо это всё-таки не очень простая задача.

nvenc - это кодирование через выделенный аппаратный модуль, который даже cuda ядра не использует.

Бтв nvenc появился в gtx 750ti

Даже в теории видеофайл можно спокойно целиком закинуть в видео память

Тебе не нужно загружать видео на видеокарту целиком для кодирования.


Даже моя p106 не имеет NVENC

Потому что это видеокарта для майнинга крипты, а не для работы с видео)

Советую ещё самостоятельно почитать вики ffmpeg по поводу того, что можно ускорить аппаратно:
https://trac.ffmpeg.org/wiki/HWAccelIntro
Ответ написан
Комментировать
@Drno
так nvenc и работает через CUDA...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы