2015-05-27 2 views
1

У меня есть две видеокарты Quadro K620 NVidia. Я хочу сжать 4 потока H.264 с использованием NVENC SDK, 2 потока на карту. видео 640x 480 30 fps.NVENC: невозможно сжать H264 с несколькими видеопотоками

2 потока работают хорошо, без проблем, но это не удается, когда я пытаюсь кодировать 3 потока.

Функция nvEncOpenEncodeSessionEx возвращает ошибку NV_ENC_ERR_OUT_OF_MEMORY в 3-м потоке.

Любая идея?

Спасибо.

+1

в меру мои знания, NVENC не имеет ничего общего с CUDA, так что вы вряд ли найдете помощь, пометив вопрос этим тегом. Из сообщения об ошибке видно, что вы достигли предела NVENC по количеству параллельных потоков. документация NVENC для любых ограничений на количество поддерживаемых потоков (либо жесткий предел, либо на основе возможностей конкретных графических процессоров). – njuffa

+0

Quadro K620 поддерживает 2 потоковых передачи. Я подключаю две карты K620 на своем ПК. И я использую второе видео карты для 3-го потока. Но это не сработает. – daniel

+0

Я нашел его. Документация NVENC говорит: «Текущий пакет SDK позволяет до двух одновременных сеансов кодирования для каждой системы для низкокачественных карт Quadro и GeForce». Но я не уверен, что такое «low-end». У вас есть идея? Благодарю. – daniel

ответ

2

Это происходит из-за licensing limitations

Пожалуйста, прочитайте это: «Ниже приводится разница между лицензионными политиками вытаращенных драйвером R358 (ы) и предыдущий драйвер (ы) в драйвере (ы) ранее R358, два одновременного кодирование. сеансы на систему были разрешены независимо от количества неквалифицированных графических процессоров, присутствующих в системе. Например, в системах с одной картой Quadro K4000 и двумя картами GeForce могут выполняться только две одновременные сеансы кодирования, независимо от того, какой графический процессор работает сеанс кодирования. Запуск R358, ограничение двух сеансов одновременного кодирования будет применяться только к объединенному количеству сеансов, выполняемых на всех неквалифицированных картах. В приведенном выше примере приложение может выполнять N одновременных сеансов кодирования на карте Quadro K4000 (где N определяется кодировщиком/записью y/hardware) и два сеанса на обеих картах GeForce. Таким образом, ограничение на количество одновременных закодировать сессий для такой системы N + 2"

Минимальная плата поддерживает более 2 NVENC темы параллельно является QUADRO K2000
Пожалуйста, см NVENC SUPPOTED GPUs

+1

Знаете ли вы, можете ли вы преодолеть эту проблему, запустив виртуализатор (kvm) и присвоив одну карту каждому vm? Скажем, у вас есть 2 карты и создать 2 vm ... я смогу запустить 4 сеанса? Или это контроль, выполняемый на аппаратном уровне? – NublaII

+0

@NublaII Это хорошая идея, но я не проверял ее. Управление осуществляется на уровне водителя. Я думаю, этот ответ будет вам полезен: http://video.stackexchange.com/questions/17419/what-graphics-card-features-effect-nvidia-nvenc-hardware-encoding-speed/17943#17943 –

+0

I может подтвердить, что с использованием kvm и сквозной передачи для карт я могу кодировать 4 потока одновременно;) – NublaII

Смежные вопросы