Приложение для модуля оператора, отображающее доступные камеры в аудиториях и позволяющее выбрать одну.
1. Установить зависимости
GStreamer
Фреймворк для работы с видео
sudo apt-get install libgstreamer1.0-0 libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
GTK+
Фреймворк для графического интерфейса
sudo apt-get install libgtk-3-dev
Google API
Библиотека python для доступа к GSuite и Google Drive
sudo apt-get install python3-pip
pip3 install google-api-python-client google-auth-httplib2 google-auth-oauthlib
Eclipse Paho MQTT
Библиотека для обмена данными по протоколу MQTT для C++
cd
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
git checkout v1.3.8
cmake -Bbuild -H. -DPAHO_WITH_SSL=OFF -DPAHO_ENABLE_TESTING=OFF
sudo cmake --build build/ --target install
sudo ldconfig
cd ..
sudo rm -r paho.mqtt.c
git clone https://github.com/eclipse/paho.mqtt.cpp
cd paho.mqtt.cpp
git checkout v1.2.0
cmake -Bbuild -H. -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=FALSE -DPAHO_WITH_SSL=OFF
sudo cmake --build build/ --target install
sudo ldconfig
cd ..
sudo rm -r paho.mqtt.cpp
2. Клонировать этот репозиторий и получить файлы для авторизации
git clone https://git.miem.hse.ru/19102/telecenter.git
cd telecenter/auth
git submodule init
git submodule update
cd ..
3. Выполнить компиляцию
mkdir core/obj Recorder/obj Grid/obj SingleStream/obj
cd Grid
make clean
make
В файле .conf изменить параметр platform
, в зависимости от аппаратной платформы, на которой планируется запускать программу:
Платформа | Значение |
---|---|
Nvidia Jetson Nano | platform = jetson |
Любая другая | platform = other |
Для запуска программы введите команду:
./grid
В правой части приложения будет список аудиторий, в основной - сами камеры в выбранной аудитории. Выбрав камеру в программе Grid
(при правильной конфигурации mqtt-брокера) она отобразится в Singlestream
на весь экран; Grid
и Singlestream
работают исключительно в паре.