Как использовать аппаратное ускорение AMD VAAPI при использовании ffmpeg (qt Creator)?C++

Программы на C++. Форум разработчиков
Anonymous
Как использовать аппаратное ускорение AMD VAAPI при использовании ffmpeg (qt Creator)?

Сообщение Anonymous »

версия ffmpeg: 4.2.2
env: создатель QT
Я передал эту команду в терминале:

Код: Выделить всё

ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i input.mp4 -vf format=yuv420p,hwupload -c:v h264_vaapi -b:v 1000k output.mp4
Это можно ускорить, загрузка ЦП очень низкая
Но когда я хочу использовать код для реализации кодирования с аппаратным ускорением, появляется запрос:

Код: Выделить всё

cannot allocate memory(-12)
мой код на C++:

Код: Выделить всё

av_hwdevice_ctx_create = (&hw_device_ctx,AV_HWDEVICE_TYPE_VAAPI,"/dev/dri/renderD128");
print:-12
Я могу быть уверен, что скомпилировал ffmpeg правильно, поскольку я могу включить аппаратное ускорение vaapi с помощью этой команды, и моя видеокарта достаточно видеопамяти.
Возможные причины:
Я добавил -lavcodec -lavformat -lavutil -lswscale в свои библиотеки файлов qt pro, но не добавил -lva -lva-drm
Правильно ли добавлять -lva -lva-drm после libs?

Подробнее здесь: https://stackoverflow.com/questions/793 ... qt-creater

Вернуться в «C++»