Описание
Механизм перехвата и обработки декодированных кадров позволяет интегрировать мощную библиотеку обработки изображений OpenCV. Эта возможность может быть полезна, например, при реализации дополненной реальности на стороне сервера, и в других подобных случаях, и доступна начиная со сборки WCS 5.2.1914.
Для того, чтобы реализовать собственный класс для интеграции OpenCV, прежде всего, необходимо собрать саму библиотеку OpenCV.
Сборка OpenCV
Рассмотрим сборку OpenCV 4.9.0 на Centos 7, чтобы обеспечить совместимость с glibc 2.17.
1. Устанавливаем JDK 8 и ANT
yum install openjdk-8-jdk ant
2. Определяем местоположение каталога установки JDK и настраиваем переменную JAVA_HOME
export JAVA_HOME=$(echo $(readlink -f $(which javac)) | sed 's/\/bin\/javac//g')
3. Устанавливаем CMake 3.6.2 или новее
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz tar -zxf cmake-3.6.2.tar.gz cd cmake-3.6.2 ./bootstrap --prefix=/usr/local make -j$(nproc) make install
4. Устанавливаем GCC 11 и переключаемся на него для сборки OpenCV
yum install centos-release-scl yum install devtoolset-11-gcc devtoolset-11-gcc-c++ scl enable devtoolset-11 -- bash
5. Скачиваем и распаковываем исходные тексты OpenCV
wget -O opencv-490.zip https://github.com/opencv/opencv/archive/4.9.0.zip unzip opencv-490.zip
6. Настраиваем сборку
cd opencv-490 mkdir build cd build cmake ..
7. Собираем OpenCV
make -j $(nproc)
8. Копируем собранные модули в каталог установки WCS
cp bin/opencv-490.jar /usr/local/FlashphonerWebCallServer/lib/custom cp -r lib/* /usr/local/FlashphonerWebCallServer/lib/so