VideoChat API example
Описание
Приложение VideoChatAPI разработано на C++ и QML для демонстрации работы с VideoChat API под ОС Аврора. В режиме "Камера" приложение эмулирует работу видеозвонка, демонстрируя в качестве видеопотока собеседника изображение с камеры с задержкой. Также присутствует возможность изменять настройки получаемого изображения, например, выбрать другую камеру, настроить битрейт, разрешение и кодек изображения. В режиме "Видео" происходит воспроизведение встроенного видеофайла.
Полный список функций приложения VideoChatAPI представлен ниже:
- Просмотр списка доступных камер.
- Просмотр списка доступных кодеков.
- Просмотр списка доступных разрешений для выбранной камеры.
- Выбор камеры из списка доступных камер.
- Выбор кодека из списка доступных кодеков.
- Выбор разрешения камеры из списка доступных разрешений камеры.
- Кодирование и декодирование видеопотока с камеры.
- Просмотр превью изображения с камеры.
- Просмотр декодированного видео-файла.
В приложении задействованы следующие API:
- Базовые API: Qt5Core, Qt5Qml, Qt5Quick
- Мультимедиа: Qt5VideChat
Модуль Qt VideoChat предоставляет API для видеокамеры и доступа к аппаратным кодекам для приложений потокового видео. Он расширяет QtMultimedia, обеспечивая API кодирования и декодирования видео.
Содержание
- Совместимость
- Особенности сборки
- Информация о ветках
- Установка и запуск
- Скриншоты
- Варианты использования
- Структура проекта
- Правила использования и участие в разработке
Совместимость
Проект совместим с ОС Аврора версии 5 и выше.
Особенности сборки
Проект собирается обычным образом с помощью Аврора SDK.
Информация о ветках
Установка и запуск
Установка и запуск производятся согласно инструкции Сборка примера.
При первом запуске приложения необходимо предоставить ему все требуемые разрешения, а именно доступ к камере устройства.
Скриншоты

Варианты использования
Приложение имеет следующие варианты использования:
- Использование тыловой камеры мобильного устройства с настройками по умолчанию.
- Использование тыловой камеры мобильного устройства с измененными настройками битрейта, разрешения.
- Использование фронтальной камеры мобильного устройства с настройками по умолчанию.
- Использование фронтальной камеры мобильного устройства с измененными настройками битрейта, разрешения.
- Отображение экрана мобильного устройства в виде рекурсии с настройками по умолчанию.
- Отображение экрана мобильного устройства в виде рекурсии с измененными настройками битрейта, разрешения.
- Просмотр встроенного в приложение видео.
Подробнее о работе с модулем Qt VideoChat можно прочитать здесь.
Структура проекта
Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.
- Файл ru.auroraos.VideoChatApi.pro описывает структуру проекта для системы сборки qmake.
- Каталог icons содержит значки приложения для поддерживаемых разрешений экрана.
- Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
- Каталог cover содержит реализации обложек приложения.
- Каталог images содержит дополнительные значки интерфейса пользователя.
- Каталог pages содержит страницы приложения.
- Файл VideoChatApi.qml предоставляет реализацию окна приложения.
- Каталог rpm содержит настройки сборки rpm-пакета.
- Файл ru.auroraos.VideoChatApi.spec используется инструментом rpmbuild.
- Каталог src содержит исходный код на C++.
- Каталог filesource содержит данные из источника файла.
- Каталог h264 содержит интерфейс для кодирования и декодирования файлов.
- Каталог videosource содержит данные из источника видео файла.
- Файл main.cpp является точкой входа в приложение.
- Каталог translations содержит файлы перевода интерфейса пользователя.
- Файл ru.auroraos.VideoChatApi.desktop определяет отображение и параметры запуска приложения.
- Каталог video содержит тестовое видео для демонстрации.
Правила использования и участие в разработке
Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Лицензионное соглашение с участником.
Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».
Информация об участниках указана в файле AUTHORS.
Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.