Понадобилось недавно транскодировать пару фильмов из HEVC в H264(телевизор не тянет). Сначала попробовал на процессоре и увидел что скорость выходит 0.4х. Меня это расстроило и я решил попробовать задействовать недавно купленную GTX1060. Нагуглил что для кодирования используется nvenc. С кодированием проблем не возникло, а вот с декодированием(чтобы полностью использовать транскодирование на карточке) возникли проблемы.
Все мануалы пишут что нужно использовать декодеp h264_cuvid, но у меня его в упор нет. Есть h264_vdpau, но он сыплет ошибками при использовании в ffmpeg.
Думал что cuvid отсутствует от того что я не установил библиотеки cuda. Установил. Пересобрал ffmpeg. Пишет что есть hwaccels h264_cuvid, но выбрать его для декодирования(ffmpeg -hwaccel cuvid) не выходит, пишет что нет такого метода.
В общем, вопрос в том как задействовать в ffmpeg декодирование на GPU?(с целью получить полный процесс транскодирования на GPU) Во всяких mpv декодирование на vdpau вполне работает и жрет 2% процессора.
PS: только кодирование(декодирование на CPU) на GPU дает скорость 2.5х.