Заказчик предоставляет комплексные решения для кодирования, записи, управления, публикации и распространения видеоконтента. Его решения для потоковой передачи видео обеспечивают работу широкого спектра приложений, отвечающих требованиям клиентов.
По мере роста интереса к VR-тематике стали появляться решения, позволяющие записывать и транслировать видео в формате 360 градусов. Однако, помимо развлечений, этот формат имеет потенциал для использования в бизнес-решениях. Так, у заказчика возникла идея применить формат 360 градусов для проведения интерактивных видеоконференций.
Основная идея заключается в том, чтобы участников можно было произвольно размещать в комнате для видеоконференции. Таким образом, отпадает необходимость в построении сложных схем из нескольких камер и дополнительного оборудования для размещения всех участников. Это значительно повысит удобство использования всего решения.
Помимо конкретной 360-градусной камеры, нашему заказчику было необходимо реализовать компонент, позволяющий пользователю определять положение выступающего в live-режиме. Это необходимо для того, чтобы участники на другой стороне могли видеть человека, который говорит в данный момент.
Для реализации компонента обнаружения говорящего, наряду с 360-градусной видеокамерой, мы решили использовать специальный микрофон, позволяющий записывать пространственное аудио в формате Ambisonics.
Затем нам необходимо было исследовать и создать программное решение (алгоритм) для обработки Ambisonics аудио источника, позволяющее обнаружить и вычислить вектор направления на самый громкий источник звука. Для этого мы использовали алгоритмы FFT, Convolution, AGC, HRTF, а также ряд алгоритмов обработки сигналов из библиотеки OpenCV. Основная идея данного подхода заключалась в построении карты звукового поля в полярных координатах. Далее, используя алгоритмы цифровой обработки изображений (Threshold, Erode, Dilate, определение контуров), анализируются и вычисляются координаты (вектор направления) самого громкого источника звука.
Приложение позволяет пользователю:
анализировать Ambisonics аудио из различных источников (звуковая карта, аудиофайл, поток HLS)
создавать метаданных, содержащие сведения о направлении в видеопотоке H.264 с помощью Wowza WMS
выполнять обнаружение и вычисление векторов в режиме реального времени
генерировать различную отладочную информацию и визуализировать 360-градусную карту уровней звукового поля
HRTF
FFT
Convolution
AGC