Windows SubSystem for Linux (WSL) - это среда исполнения Linux в MS Windows 10. WSL 2 представляет собой полноценную виртуальную машину Hyper-V и поддерживает наиболее распространенные дистрибутивы Linux. Это позволяет развернуть WCS на Windows ПК для тестирования
Установка WSL
В последних выпусках Windows для установки WSL необходимо выполнить команду от имени администратора
wsl --install
При этом потребуется перезагрузка системы. По умолчанию, устанавливается Ubuntu 20.04. Для просмотра доступных дистрибутивов выполните команду
wsl --list --online
Дистрибутив для установки можно выбрать следующим образом:
wsl --install -d Ubuntu-18.04
Подробнее об установке WSL можно прочитать в официальной документации Microsoft.
По окончании установки рекомендуется обновить установленные пакеты:
sudo apt-get update sudo apt-get upgrade -y
Развертывание WCS
Установка JDK
Любую из поддерживаемых версии JDK можно установить из репозиториев или вручную, в зависимости от того, доступны пакеты в используемом дистрибутиве или нет. Например, в Ubuntu 18.04 JDK 8 доступна в репозиториях:
sudo apt-get install -y openjdk-8-jdk
а JDK 14 придется установить вручную
# Download JDK package sudo rm -rf jdk* curl -s https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_linux-x64_bin.tar.gz | tar -zx [ ! -d jdk-14.0.1/bin ] && exit 1 # Prepare installation folder sudo mkdir -p /usr/java [ -d /usr/java/jdk-14.0.1 ] && sudo rm -rf /usr/java/jdk-14.0.1 # Move JDK files to installation folder sudo mv -f jdk-14.0.1 /usr/java [ ! -d /usr/java/jdk-14.0.1/bin ] && exit 1 # Make /usr/java/default symlink to installation folder for convenience sudo rm -f /usr/java/default sudo ln -sf /usr/java/jdk-14.0.1 /usr/java/default # Make the necessary symlinks sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-14.0.1/bin/java" 1 sudo update-alternatives --install "/usr/bin/jstack" "jstack" "/usr/java/jdk-14.0.1/bin/jstack" 1 sudo update-alternatives --install "/usr/bin/jcmd" "jcmd" "/usr/java/jdk-14.0.1/bin/jcmd" 1 sudo update-alternatives --install "/usr/bin/jmap" "jmap" "/usr/java/jdk-14.0.1/bin/jmap" 1 sudo update-alternatives --set "java" "/usr/java/jdk-14.0.1/bin/java" sudo update-alternatives --set "jstack" "/usr/java/jdk-14.0.1/bin/jstack" sudo update-alternatives --set "jcmd" "/usr/java/jdk-14.0.1/bin/jcmd" sudo update-alternatives --set "jmap" "/usr/java/jdk-14.0.1/bin/jmap"
Установка WCS
Для установки последней сборки WCS используйте следующие команды:
wget https://flashphoner.com/download-wcs5.2-server.tar.gz -O- | tar -zx cd FlashphonerWebCallServer-* sudo ./install.sh
Активируйте лицензию WCS (ознакомительную лицензию можно получить здесь)
cd /usr/local/FlashphonerWebCallServer/bin sudo ./activation.sh
Запуск WCS
В поставку Ubuntu для WSL 2 не входит systemd. Поэтому запуск WCS производится следующими командами
cd /usr/local/FlashphonerWebCallServer/bin sudo ./webcallserver set-permissions sudo ./webcallserver start
Проверит, запущен ли WCS, можно командой
sudo ./webcallserver status
Тестирование
1. Откройте веб-интерфейс WCS в браузере по ссылке http://localhost:8081/admin/ и введите имя пользователя demo, пароль demo
2. Выберите пример Two Way Streaming в меню слева
3. Опубликуйте и проиграйте поток в примере
Известные проблемы
1. Одновременно может быть запущен только один инстанс WSL
2. При перезапуске ПК у инстанса WSL меняется IP адрес
Симптомы: если WCS стартовал после перезапуска ПК, при публикации потока возвращается ошибка
No free ports available
Решение: после перезапуска ПК, запускать WCS с предварительной настройкой IP адресов
cd /usr/local/FlashphonerWebCallServer/bin sudo ./webcallserver set-ip sudo ./webcallserver start