Документация
ОС Аврора 5.1.5

WebRTC API

Библиотека WebRTC обеспечивает передачу аудио и видео данных (звонков) между браузерами. Стандарт WebRTC определяет набор ECMAScript API, позволяющих обмениваться медиа и произвольными данными с другим браузером или устройством, поддерживающим соответствующий набор протоколов реального времени.

Для использования WebRTC в проекте её следует подключить по имени libwebrtc в конфигурационном файле, а также в spec-файле:

BuildRequires: pkgconfig(libwebrtc)

Далее библиотеку можно подключать в C++-код, указывая необходимые классы и их модули. Например:

#include "media/engine/webrtc_media_engine.h"

Подробнее WebRTC API можно изучить в документации.

Архитектура WebRTC

Архитектура WebRTC

Пример работы с WebRTC

Для ОС Аврора доступен пример WebRTC.

Запуск примера для получения справки:

./peerconnection_client --helpfull

peerconnection_client демонстрирует локальное видео, снятое с камеры (или поддельное видео, если камера недоступна) и видео с подключённого удалённого узла.

peerconnection_client захватывает и воспроизводит звук с помощью устройства PulseAudio по умолчанию.

peerconnection_client имеет встроенный сервер для обмена сигнальными сообщениями через веб-сокет.

  • Без аргумента --connect ожидается входящее соединение через веб-сокет, порт 8881.
  • С аргументом --connect устанавливается подключение через веб-сокет к сигнальному серверу через порт IP 127.0.0.1 8881.

Следует использовать аргументы командной строки --server и --port для переопределения значений по умолчанию.

Предполагается, что телефон с ОС Аврора имеет IP-адрес 192.168.2.15.

Звонок из браузера ПК на телефон с установленным peerconnection_client

  1. Запустить peerconnection_client на телефоне с ОС Аврора.
  2. Открыть signaling_server/server_test.html в браузере.
  3. Установить адрес сервера как ws://192.168.2.15:8881.
  4. Нажать кнопку Подключиться. Кнопка Вызов станет зелёной.
  5. Нажать кнопку Вызов.

Звонок из peerconnection_client на ПК на телефон с установленным peerconnection_client

  1. Запустить peerconnection_client на телефоне.
  2. На ПК выполнить команду:
./peerconnection_client --server=192.168.2.15 --connect --call

Сборка примера

  • Пакет rpm собирается с помощью Аврора SDK, см. spec-файл.
  • peerconnection_client можно собрать с помощью meson.
meson setup build
meson compile -C build
  • peerconnection_client можно собрать с помощью GNU make, см. build_for_host.sh и build_for_phone.sh.

Зависимости примера

  • GNU make или meson.
  • libwebrtc.
  • Модули Qt: Qt5Quick, Qt5Gui, Qt5Qml, Qt5Network, Qt5Core, Qt5WebSockets,
  • libpulse.
  • streamcamera и streamcamera-qt5 для сборки для ОС Аврора.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.