WCS-сервер может быть развернут в Amazon Elastic Compute Cloud (EC2) тремя способами:
Этим способом можно воспользоваться, если Вам необходима более тонкая настройка операционной системы, установка дополнительный компонентов и т.п. Запустите виртуальную машину Linux по инструкции от AWS, настройте ее по необходимости, затем установите WCS по краткой или подробной инструкции.
1. Откройте страницу Web Call Server на Amazon AWS Marketplace, нажмите Continue to Subscribe:
2. Откроется страница с описанием продукта и почасовой стоимостью в зависимости от выбранной конфигурации сервера. Нажмите Continue to Configuration:
3. Откроется страница конфигурации сервера. Выберите регион размещения сервера и нажмите Continue to Launch:
4. Откроется страница запуска сервера. Выберите тип виртуальной машины, который будет использован для создания экземпляра сервера.
5. Прокрутите страницу до настройки Security Group Settings, нажмите Create New Based On Seller Settings:
6. Отобразится страница создания Security Group. Укажите имя группы, описание и нажмите Save.
7. Выберите новую группу в выпадающем списке:
8. Нажмите Launch:
9. Отобразится сообщение об успешном запуске:
10. Нажмите на ссылку EC2 Console. В разделе Instances найдите запущенную виртуальную машину:
11. Откройте в браузере адрес веб-интерфейса запущенного WCS-сервера https://host.amazonaws.com:8888, примите исключение безопасности. В качестве пароля администратора используйте Instance ID запущенной виртуальной машины:
12. Проверьте публикацию и воспроизведение WebRTC-потока с веб-камеры на примере Two Way Streaming:
Готовый образ WCS на AWS Marketplace содержит лишь базовые настройки. Для изменения настроек необходимо зайти по SSH в созданный экземпляр сервера и перезапустить WCS. Для получения готового к работе экземпляра "из коробки" можно указать пользовательский скрипт для изменения настроек при первом запуске сервера. Эта возможность полезна, например, при развертывании группы масштабирования.
1. В EC2 Console перейдите в раздел "Instances - Instances" и нажмите "Launch instance"
2. Выберите образ, указав при поиске "Web Call Server"
3. Просмотрите информацию об образе
4. Выберите тип ВМ
5. Прокрутите вниз до конца страницу "Configure Instance Details" и вставьте в поле "User data" скрипт обновления и настройки WCS
Пример скрипта, который обновляет WCS до последней сборки и настраивает Origin сервер для публикации WebRTC и RTMP потоков
#!/bin/bash # Stop WCS before reconfiguring PID="$(pgrep -f 'com.flashphoner.server.Server' | grep -v bash)" if [ -n "$PID" ]; then service webcallserver stop fi # Update WCS to the latest build (optionally, set to false if you don't) UPDATE=true if $UPDATE; then cd /tmp wget --timeout=10 --no-check-certificate https://flashphoner.com/download-wcs5.2-server.tar.gz -O wcs5-server.tar.gz if [ $? -eq 0 ]; then mkdir -p FlashphonerWebCallServer-5.2-latest && tar xzf wcs5-server.tar.gz -C FlashphonerWebCallServer-5.2-latest --strip-components 1 cd FlashphonerWebCallServer-5.2-latest chmod +x install.sh ./install.sh -silent cd .. rm -rf FlashphonerWebCallServer-5.2-latest wcs5-server.tar.gz fi fi # Configuration setup WCS_CONFIG=/usr/local/FlashphonerWebCallServer/conf/flashphoner.properties JVM_CONFIG=/usr/local/FlashphonerWebCallServer/conf/wcs-core.properties #CDN settings CDN_ROLE=origin CDN_IP=0.0.0.0 echo -e "\ncdn_enabled=true" >> $WCS_CONFIG echo -e "\ncdn_ip=$CDN_IP" >> $WCS_CONFIG echo -e "\ncdn_role=$CDN_ROLE" >> $WCS_CONFIG echo -e "\ncdn_nodes_resolve_ip=false" >> $WCS_CONFIG # Request keyframes from WebRTC publishers every 5 seconds echo -e "\nperiodic_fir_request=true" >> $WCS_CONFIG # Disable RTMP keepalives to publish from OBS echo -e "\nkeep_alive.enabled=websocket,rtmfp" >> $WCS_CONFIG # Configure heap settings HEAP_SIZE=512m sed -i -e "s/^\(-Xmx\).*\$/\1$HEAP_SIZE/" $JVM_CONFIG # Start WCS after reconfiguring PID="$(pgrep -f 'com.flashphoner.server.Server' | grep -v bash)" if [ -n "$PID" ]; then service webcallserver restart else service webcallserver start fi # Disable internal firewall, ports are allowed/blocked on security group level iptables -F |
6. Настройте группу безопасности. По умолчанию, группа будет создана из настроек образа. При необходимости, добавьте порты.
7. Нажмите "Review and Launch". Если в параметрах нет ошибок, нажмите "Launch"
Будет запущен экземпляр сервера.
8. Откройте веб интерфейс сервера, опубликуйте поток в примере Two Way Streaming и проиграйте его
1. При переходе к Amazon Linux 2 AMI в качестве базового образа, для управления сервисами используется systemd
Симптомы: команда
sudo service webcallserver start |
возвращает
Redirecting to /bin/systemctl start webcallserver.service |
команда
sudo service webcallserver check_update |
не работает
Решение:
a) для запуска, остановки, перезапуска использовать systemctl
sudo systemctl start webcallserver sudo systemctl stop webcallserver sudo systemctl restart webcallserver |
b) для проверки обновлений использовать скрипт webcallserver
cd /usr/local/FlashphonerWebCallServer/bin sudo ./webcallserver check_update sudo ./webcallserver update |