Консультации по кодеку/аппаратному обеспечению при кодировании нескольких HD-потоков в реальном времени

Кто-нибудь знает, какое оборудование вместе с любыми хорошими кодеками могут разумно кодировать 3 x 1920x1200 60fps потоков DirectShow в реальном времени? Предпочтительно кодек без потерь, но я знаю, что при таких высоких скоростях это может быть невозможно. Я знаю, что есть некоторые кодеки на основе OpenCL/CUDA, но не знаю, какое оборудование потребуется для этого в режиме реального времени. Цена значения не имеет, но мы планируем использовать карты захвата Epiphan DVI2PCIE.

Ответы (1)

Для этого вам понадобится оборудование для кодирования в реальном времени и несколько высокоскоростных жестких дисков. Я знаю, что такие устройства, как Matrox MX-02, будут работать с разрешением 1080p30, но я не уверен в более высоких разрешениях и 60p. Я думаю, что у Black Magic Design есть несколько кодировщиков 4k в реальном времени, но я не уверен, поддерживают ли они 60p. Несколько твердотельных накопителей также будут в значительной степени требованием. Вероятно, на отдельных контроллерах, и даже тогда скорость шины может быть узким местом при таком большом количестве данных.

Пропускная способность не будет проблемой здесь, если мы говорим о захвате и кодировании в реальном времени, все останется в оперативной памяти для этого, и только финальное видео будет записано на диск, что не так много с видео, закодированным h264, современный SSD достаточно для этого.
@ProfessorFartSparkle - «Предпочтительно кодек без потерь, но я знаю, что при таких огромных скоростях это может быть невозможно». Даже в формате H264 он может охватывать очень широкий диапазон возможных скоростей передачи данных, в том числе такие, для которых потребуются дополнительные твердотельные накопители для параллельной записи.
Я довольно часто сталкиваюсь с этой проблемой на своей текущей работе, в основном в отношении воспроизведения, но то же самое и с записью, когда речь идет о высокопроизводительных синхронных твердотельных накопителях. Давайте возьмем подход без потерь. Размер несжатого кадра Full HD составляет 5,93262 МБ. JPEG2000 может сжимать кадр без потерь в среднем в соотношении 2:1. Обычно даже лучше. При 60 кадрах в секунду это означает, что нам нужно будет писать со скоростью 177 9786 МБ/с в секунду. Умножаем на 3 и получаем 533 9358 МБ/с. Это сглаживает ограничения твердотельных накопителей SATA3, но все же возможно при наличии буфера ОЗУ разумного размера и никаких проблем с твердотельными накопителями PCI-E.
Хотя причина, по которой я упомянул h264, заключается в том, что это один из немногих кодеков, которые имеют полную аппаратную поддержку на многих устройствах. Если вы не выбираете аппаратное кодирование, вам понадобится достаточно мощная система, хотя, если деньги действительно не проблема, вы можете просто выбрать сумасшедшую систему с 64 ГБ ОЗУ и 12+ ядрами. Это обойдется вам примерно в 2000-3000 долларов (самостоятельная сборка), но определенно выполнит свою работу, если программное обеспечение сможет справиться с этим, не все драйверы карт захвата предназначены для наличия нескольких устройств захвата в системе.