Описание¶
Для web-разработки приложений потокового видео и звонков используется Web SDK. Это набор скриптов и примеров для работы с WCS-сервером.
Скачать¶
Скачать Web SDK: Release notes
Скачать модуль JavaScript: https://flashphoner.com/downloads/builds/flashphoner_client/wcs_api-2.0/current/flashphoner.js
API документация: http://flashphoner.com/docs/api/WCS5/client/web-sdk/latest
Работа с кодом примеров на вашем Web-сервере¶
Чтобы работать с демо - примерами на вашем web-сервере, используйте последнюю доступную сборку web-клиента, входящую в комплект поставки WCS
Сборка содержит следующие элементы:
- doc - JavaScript API документация
- examples - демо примеры
- flashphoner.js - основной файл API, который нужно будет добавить на вашу web-страницу, включает все поддерживаемые технологии.
- flashphoner-webrtc-only.js - альтернативный файл API, если Вы планируете использовать только WebRTC
- flashphoner-no-flash.js - альтернативный файл API, если вы не планируете использовать Flash
- flashphoner-no-webrtc.js - альтернативный файл API, если вы не планируете использовать WebRTC
- flashphoner-no-wsplayer.js - альтернативный файл API, если вы не планируете использовать Websocket плеер
- media-provider.swf - файл для поддержки работы с Flash
Работа с кодом примеров прямо на WCS сервере¶
Если у вас есть установленный Web Call Server, вы можете работать с кодом демо-примеров напрямую.
Код примеров находится по следующему пути:
/usr/local/FlashphonerWebCallServer/client2/examples/demo
Для тестирования отдельного примера откройте в браузере соответствующую страницу, например:
Здесь host - это адрес вашего WCS-сервера.
Таким образом, вы можете вносить необходимые изменения в скрипты и тестировать измененный демо-пример прямо на WCS сервере.
Исходный код API и примеров на Github¶
https://github.com/flashphoner/flashphoner_client/tree/wcs_api-2.0
Как правило, для разработки достаточно сборок, которые доступны по ссылккам выше. Исходный код скорее всего не потребуется и может использоваться в крайних случаях, когда нужен быстрый фикс на уровне API.
В данной документации мы будем использовать код для пояснения работы примеров. Например так: line 3 можно сослаться на третью строку исходного кода файла package.json с хэшем ревизии 0b891b8.
Зависимости¶
WebSDK собирается с использованием библиотеки webrtc/adapter версии не ниже 7.2.6. В связи с этим, следует избегать прямого использования данной библиотеки совместно с WebSDK.
Известные проблемы¶
1. Публикация WebRTC может не работать в WKWebView на старых версиях iOS¶
При открытии веб-приложения в WKWebView на iOS 11 и выше работает только воспроизведение по WSPlayer, и не работают публикация и воспроизведение потока по WebRTC
Симптомы
При открытии примера Two-Way Streaming в iOS-приложении, использующем WKWebView для просмотра ссылок на страницы (например, Telegram) не работают ни воспроизведение, ни публикация; в примере Player воспроизведение работает по WSPlayer.
Таким же образом будет работать при открытии веб-страницы с домашнего экрана, если код страницы содержит
Решение
Использовать WKWebView только для веб-приложений, предназначенных для воспроизведения видеопотока, без вызова функции getUserMedia(), которая не поддерживается в WKWebView.
При необходимости использования WebRTC удалить из кода страницы <meta name="apple-mobile-web-app-capable" content="yes">, чтобы для ее открытия использовался Safari.