Как стыковать видео при многоканальном захвате
В этой статье в основном рассказывается о том, как использовать MW
Capture SDK для сращивания видео при захвате нескольких каналов.
1. MW Capture SDK предоставляет метод сращивания при захвате нескольких каналов:
- Назначьте память фреймового буфера в соответствии с разрешением сращиваемого изображения и количеством каналов;
- Для синхронизации видеоканалов должен быть выполнен процесс синхронизации кадров;
- Используйте MWCaptureVideoFrameToVirtualAddressEx() для захвата видеокадров с разных каналов;
- Для синхронизации видеоэкранов следует использовать MWRegulateDeviceTime() для калибровки тактовых частот всех каналов;
2. Метод синхронизации нескольких каналов при захвате :
- В дополнение к захвату потока, выполните синхронизацию кадров в потоке;
- Определите статус различных каналов. Используйте MWSetDeviceTime() для синхронизации тактовых частот каналов с входными сигналами;
- Сравните кадровую информацию в разных каналах. Если значение кадра находится в пределах нормы, то установите значение маски канала равным 1;
В целом:
- Буфер занимает относительно большой объем памяти и в буферной памяти каждый канал имеет соответствующую целевую позицию (назначенную pRectDest). При захвате и объединении нескольких видео, вам необходимо использовать MW Capture Video Frame To Virtual Address Ex(), чтобы назначить захваченные кадры разным позициям в буферной памяти.
- Чтобы синхронизировать кадры, вам необходимо сослаться на время кадра канала A в качестве стандартного и установить опорный диапазон. Если время кадров других каналов находится в пределах диапазона, то установите значение маски канала равным 1 Поток захвата возьмет синхронизированные кадры в соответствии со значением маски.
- Чтобы синхронизировать несколько каналов, вам необходимо использовать MWRegulateDeviceTime() для периодической калибровки тактовых значений, чтобы обеспечить синхронизацию тактовых значений в разных каналах.