С марта 2020 года в России ввели режим самоизоляции, и многие компании были вынуждены перевести сотрудников на работу из дома. Чтобы обезопасить своих сотрудников, которые добираются до офиса на общественном транспорте, компания NetAngels перешла на удаленный режим работы с 16 марта, за две недели до того, как это сделал вся страна. К удаленной работе в NetAngels были готовы: техподдержка работает круглосуточно, сотрудники дежурят и в праздники, и в новогоднюю ночь. Но возникла проблема – как проводить обязательные собрания?
Раз в неделю все сотрудники техподдержки и руководители компании собирались вместе, садились кружочком и каждый рассказывал, что за это время случилось: какие проблемы были, с какими частными вопросами клиенты обращались, что не работает, какая неожиданная ошибка всплыла и что нужно чинить. На эти встречи собирались 15-20 человек. Каждые две недели проходили презентации собственных разработок. На этих собраниях присутствовали сотрудники техподдержки и клиенты. Участникам встречи рассказывали и показывали на большом экране, какие за 2 недели появись новые фичи и как они работают.
BigBlueButton — Что Это Такое — Краткий Видео Обзор
Эти собрания для компании – рабочий инструмент. В офисе под них есть специальная большая комната, оборудованная проектором, экраном. И в условиях удаленки нужна была какая-то альтернатива, чтобы перевести встречи из оффлайна в онлайн.
Поиск подходящей платформы для онлайн-конференций
Прежде чем нашли оптимальную для работы платформу, перебрали несколько вариантов популярных систем для веб-конференций.
Skype
Начали с доброго старого Скайпа. Первое онлайн-собрание провели еще до того, как вся Россия засела на карантин. И попытку удачной не назовешь. Сначала попробовали создать полноценную конференцию, когда все включают камеры, чтобы видеть друг друга.
Первые несколько подключений прошли хорошо, но вот уже на пятом человеке система начала виснуть и экран превратился в слайдшоу из квадратиков. Качество связи было ужасное. Приходилось на ходу решать, как сделать так, чтобы все участники могли поговорить. Половину времени, отведенного на собрание, пришлось потратить на тестирование различных вариантов.
Отключали видео, чтобы все не зависало, убирали звук, потому что крики ребенка в соседней комнате или лай собаки за окном отвлекали всех участников. В итоге камеру и звук включал только тот участник, который в данный момент выступал.
В общем, Skype не оправдал возложенных на него надежд.
Zoom
Следующей платформой, которую решили протестировать, оказался модный в этом сезоне Zoom. Проводить собрания в зуме было удобнее, чем в скайпе, но выявились две серьезные проблемы.
1. Необходимо было установить приложение Zoom на компьютеры. Уже в тот момент появилось очень много информации, что в приложении практически нет защиты, и через него утекают данные. А для IT-компании эксперименты с безопасностью могут очень дорого стоить.
2. В Zoom есть ограничение на длину сеанса связи. Бесплатно можно подключаться всего на 40 минут. Конечно, можно купить аккаунт за деньги, но, с учетом проблем с безопасностью, это было не лучшим вариантом.
BigBlueButton (BBB): сервис видеоконференций с возможностью размещения на собственном сервере
BigBlueButton
Потерпев неудачу с Zoom и Skype, в NetAngels вспомнили о бесплатном opensource решении BigBlueButton (ВВВ). У одного из сотрудников компании есть собственный проект, в котором он использует эту платформу, и полностью ей доволен. Поэтому решили развернуть ВВВ для собственных нужд.
BigBlueButton – открытое программное обеспечение для проведения веб-конференции. Изначально система была разработана для дистанционного обучения. В названии (анл. Big Blue Button – большая синяя кнопка) отражается концепция: очень просто начать веб-конференцию одним нажатием кнопки.
Третье онлайн-собрание проводили в BigBlueButton . Платформу развернули на собственном сервере, участникам не пришлось ничего устанавливать, они зашли по ссылке. Собрание практически ничем не отличалось от привычных оффлайн-встреч: можно было демонстрировать аудио и видео, показывать презентации в форматах MS Word, MS PowerPoint и PDF. Все прекрасно работало, ничего не зависало и не тормозило, видео и голос передавались синхронно. Единственный минус – зеркально перевернутое изображение, но к этому быстро приспособились.
Теперь все показы в NetAngels проводятся онлайн: разработчики на своем компьютере запускают и показывают тот новый функционал, который они сделали. И все, кого пригласили на презентацию, могут зайти по ссылке и посмотреть. Можно смотреть с телефона, ноутбука, планшета. Собираться лично больше не нужно.
Попутно компания решила еще одну проблему. Поскольку техподдержка работает круглосуточно, во время собрания все сотрудники физически не могут на нем находиться: кто-то в этот момент общается по телефону или отвечает на письма, кто-то отдыхает дома после ночной смены. После внедрения в работу BigBlueButton появилась возможность смотреть презентацию, не отходя от рабочего места. Сидишь у себя дома, пишешь ответ на письмо и вполглаза следишь за тем, что происходит.
По результатам 3 месяцев удаленной работы можно сделать вывод: осведомленность и вовлеченность сотрудников в дела компании стала в разы больше. Теперь никому не нужно отдельно объяснять и показывать новые разработки и изменения. Те, кто раньше по объективным причинам не мог ходить на собрания, теперь тоже задают вопросы и участвуют в решении проблем.
BigBlueButton как услуга
Тем временем клиенты NetAngels столкнулись со всеми прелестями удаленки: нужно было проводить встречи и совещания, осуществлять текущие коммуникации. Им требовалось готовое решение. «Несколько человек написали мне лично, что пробовали установить ВВВ, но возникли какие-то технические проблемы, с которыми они не могли разобраться. А потом друг из фейсбука попросил сделать готовый образ, чтобы можно было нажать кнопку, все развернулось и заработало, так же, как это сделано с другими нашими приложениями», – рассказал основатель NetAngels Антон Халиков.
Через несколько дней была готова система, которая примерно так и работала:
- нажимаешь кнопку и запускаешь инсталлятор;
- выбираешь доменное имя, на котором разворачивается приложение (можно использовать свое или бесплатное от NetAngels);
- производятся необходимые настройки и выпускаются сертификаты.
За 10 минут готова система для конференций.
Сделали два варианта установки.
1. Быстрый вариант
В результате установки быстрого варианта появляется уникальная ссылка, которую можно разослать всем участникам. Ссылка открывается в любом браузере, на любом устройстве. Устанавливать какие-то дополнительные приложения не нужно. После того, как все вопросы обсудили, нужно нажать кнопку «удалить» – все данные будут уничтожены и никто ничего не сможет украсть. Один час общения по этой схеме стоит примерно 1,8 рубля.
2. Полноценный сервис
Сервис устанавливается для постоянного пользования и настраивается под конкретного клиента. В конференции каждому частнику можно определить права: зритель имеет право по ссылке присоединиться к конференции, попросить слово и общаться с другими участниками; модератор имеет возможность отключить / включить микрофон любого зрителя, передать слово для выступления (дать права ведущего) или удалить зрителя из веб-конференции. Ведущий может загружать презентации, документы, использовать доску. В общем, все как на обычном собрании, только без личного присутствия.
BigBlueButton – платформа для удаленного обучения
Несколько десятков клиентов NetAngels уже установили сервис и активно им пользуются. Причем чаще выбирают именно полноценный сервис, а не быстрый вариант с одноразовой ссылкой.
BigBlueButton разрабатывалась для дистанционного обучения, поэтому неудивительно, что большинство клиентов используют систему по прямому назначению, а не только как инструмент для организации производственных совещаний и собраний. Вот несколько конкретных примеров.
Источник: dzen.ru
Как подключить BigBlueButton к Moodle
BigBlueButton — популярная система веб-конференций с открытым исходным кодом, которая используется для онлайн-обучения, проведения вебинаров, брифингов и презентаций.
Изначально создатели системы назвали ее Blindside, но позже переименовали в BigBlueButton, поскольку для запуска видеоконференции нужно нажать символическую большую синюю кнопку. Далее в статье мы будем называть систему кратко – BBB.
BBB делит пользователей на следующие группы:
- «Преподаватель» может совершать любые действия,
- «Ассистент» (без права редактирования) может преподавать и ставить оценки, но не может вносить изменения в курс,
- «Студент» может участвовать в чате и опросах, отправлять/получать аудио- и видеоматериалы, работать с материалами курса,
- «Гость» может только читать некоторые материалы.
Если вы — создатель курса, то автоматически получите роль «Преподаватель». Дополнительно в системе предусмотрен статус «Руководитель», его могут получить пользователи с ролью «Преподаватель» или «Ассистент».
BigBlueButton можно скачать с официального сайта. Она используется бесплатно, вам понадобится лишь сервер, на котором можно развернуть и настроить BBB.
Какие возможности есть у BBB?
Система поддерживает в режиме реального времени совместное использование материалов разного формата: аудио и видео, слайдов, онлайн-опросов, многопользовательской доски, комнат обсуждений, чата, запись сеансов и их воспроизведение для последующего просмотра.
Вы можете использовать систему не только для дистанционного обучения, но и для проведения брифингов и презентаций или для личного общения.
ВВВ — многопользовательское приложение, поэтому оно подходит для проведения обучения удаленных учебных групп.
Пользователи могут загружать материал в формате PDF или любом другом, поддерживаемым OpenOffice.org, включая форматы Microsoft Office. Кроме того, в ВВВ есть функции рисования и виртуальная указка, что упрощает проведение презентаций.
Если вы хотите заняться онлайн-обучением с веб-конференциями, то связка Moodle с BigBlueButton станет отличным решением. Система дистанционного обучения Moodle позволяет бесплатно создавать онлайн-курсы и проводить тестирования. Платформу можно настроить под любые задачи, связка Moodle + BBB закроет весь необходимый инструментарий для проведения теоретической и лекционной частей и практических занятий. Вы сможете бесплатно использовать полный функционал систем, не тратя время на детальное изучение настроек. Просто разверните Moodle в один клик и наполните его контентом, а для проведения конференций используйте встроенный BBB.
Для того, чтобы пользоваться BBB и Moodle, вам необходимо установить их на сервер.
Давайте разберемся как это делается.
Установка BigBlueButton на сервер
Платформа для проведения видеоконференций BigBlueButton. Установка
У всех нас может возникнуть потребность в проведении видеоконференции. Цели могут быть разные: совещание, обучение, а быть может и просто чтобы поболтать с друзьями.
Инструментов для таких задач сейчас представлено немало, но в рамках этой статьи хотелось бы остановиться именно на BigBlueButton. Главная идея при разработке данной платформы — «Она должна быть проста в использовании как большая синяя кнопка».
В данной статье мы поговорим о том, как установить BigBlueButton на свой сервер. Кому интересен данный вопрос — добро пожаловать под кат.
▍ Системные требования
На момент написания данной статьи версия BigBlueButton 2.3 является самой свежей. Посмотрим минимальные системные требования для сервера в документации к BBB:
- Ubuntu 18.04 64-bit OS running Linux kernel 4.x
- Latest version of docker installed
- 16 GB of memory with swap enabled
- 8 CPU cores, with high single-thread performance
- 500 GB of free disk space (or more) for recordings, or 50GB if session recording is disabled on the server
- TCP ports 80 and 443 are accessible
- UDP ports 16384 — 32768 are accessible
- 250 Mbits/sec bandwidth (symmetrical) or more
- TCP port 80 and 443 are not in use by another web application or reverse proxy
- A hostname (such as bbb.example.com) for setup of a SSL certificate
- IPV4 and IPV6 addresses
Если Вы устанавливаете BigBlueButton для локальной разработки на рабочей станции, Вы можете пренебречь некоторыми требованиями, поскольку к серверу будет подключаться лишь несколько клиентов. Ориентируясь на требования выше, Вы можете понизить их следующим образом:
- 4 CPU cores/8 GB of memory
- Installation on a local VM container
- 50G of disk space
- IPV4 address only
Вне зависимости от конфигурации оборудования, на сервер нужно будет установить SSL-сертификат. Причина в следующем: чтобы пользователи могли делиться аудио- и видеопотоками со своих компьютеров, все браузеры требуют валидный SSL-сертификат, дабы дать доступ к веб-камере и микрофону пользователя через WebRTC. Если подключаться к BigBlueButton только по IP-адресу, то браузеры заблокируют клиенту BBB доступ к веб-камере и микрофону.
▍ Заказ сервера
Для начала нам нужен сервер для размещения на нём BigBlueButton. На случай если он уже имеется — пролистайте до следующего раздела.
Разберём заказ сервера на примере RUVDS.
Переходим на сайт RUVDS.
Нажимаем на «Выбрать VPS».
В разделе «Своя конфигурация» нажимаем на «Собрать».
В появившейся форме заполняем данные для входа в аккаунт RUVDS и нажимаем «Войти». Если же аккаунта нет, нажимаем «Регистрация». Мы предполагаем, что аккаунт уже есть.
Выбираем из списка нужный дата-центр.
Пролистываем чуть ниже и выбираем нужную конфигурацию сервера. Напомним, что если сервер нужен для проведения видеоконференций, то необходимо 8 ядер CPU и 16 ГБ RAM. Если же на нём предполагается разработка, то будет достаточно 4 ядер и 8 ГБ соответственно.
В случае, если предполагается запись видеоконференций, объём диска должен быть не менее 500 ГБ. Если же не предполагается, то достаточно 100 ГБ; будет с небольшим запасом.
В качестве шаблона сервера выбираем «Docker CE — Ubuntu 18.04».
Затем выбираем необходимый срок аренды сервера.
Пролистав ещё чуть ниже, соглашаемся с условием публичной оферты, предоставляем согласие на обработку персональных данных, а затем нажимаем кнопку «Оплатить».
Появится форма выбора метода оплаты. Выбираем наиболее удобный и проходим через процедуру платежа.
После успешной оплаты появится соответствующее сообщение.
Нажимаем на кнопку «Мои сервера»
Появится список, содержащий только что заказанный сервер. Все необходимые данные для подключения (IP-адрес, user, password) будут находиться в соответствующих полях.
▍ Привязка доменного имени к серверу
Для корректной работы и получения SSL-сертификата, к серверу должно быть привязано доменное имя. Если оно уже привязано — пролистайте до следующего раздела.
Привязка доменного имени к серверу на примере бесплатного сервиса freenom.com
Заходим на сайт freenom.com, вводим желаемое доменное имя и нажимаем на кнопку «Проверить доступность».
Далее нажимаем «Оформить заказ».
Затем кликаем «Use DNS».
В появившихся полях выбираем срок предоставления доменного имени, IP-адрес сервера и нажимаем кнопку «Continue».
В появившейся форме вводим валидный адрес электронной почты и нажимаем «Verify My Email Address».
Проверяем входящую почту на предмет пришедшего письма от Freenom. В пришедшем письме переходим по ссылке валидации.
В открывшейся форме заполняем поля.
После заполнения формы ставим флажок, соглашаясь с условиями, и нажимаем на «Complete Order».
Появление сообщения о подтверждении заказа свидетельствует, что процедура прошла успешно.
Потребуется некоторое время, пока обновленная информация о доменных записях распространится между другими DNS-серверами. Это может занять до 24 часов.
▍ Подготовка и проверка перед установкой
Итак, у нас есть сервер с 64-битным Ubuntu версии 18.04, с привязанным доменным именем. Перед тем как приступать непосредственно к инсталляции, проведём несколько проверок, чтобы убедиться, что сервер соответствует минимальным требованиям.
Проведение этих проверок сильно уменьшает шансы столкнуться с проблемами в процессе установки.
Также, установим необходимые пакеты и обновим сервер.
Подключимся к серверу по SSH. Инструкцию для пользователей Windows можно найти здесь.
Также, если мы подключаемся под пользователем root, то префиксы команд sudo везде ниже не нужны.
❒ В первую очередь обновим сервер:
sudo apt update sudo apt dist-upgrade
❒ Затем установим пакет gnupg:
sudo apt install gnupg
❒ Убедимся, что локаль сервера — en_US.UTF-8:
$ cat /etc/default/locale LANG=»en_US.UTF-8″
❒ Если локаль отличается от en_US.UTF-8, наберём несколько команд, чтобы это исправить:
$ sudo apt-get install -y language-pack-en $ sudo update-locale LANG=en_US.UTF-8″
❒ Затем нужно выйти из SSH-сессии и зайти снова, это перезагрузит настройки локали для сессии.
Наберём команду cat /etc/default/locale. Необходимо убедиться, что есть только одна строка LANG=«en_US.UTF-8».
Если Вы видите ещё одну строку LC_ALL=en_US.UTF-8, уберите её из /etc/default/locale, после чего завершите SSH-сессию и откройте её снова.
❒ Далее, выполняем команду sudo systemctl show-environment и убеждаемся, что видим LANG=en_US.UTF-8:
$ sudo systemctl show-environment LANG=en_US.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Если LANG=en_US.UTF-8 нет, то выполняем команду sudo systemctl set-environment LANG=en_US.UTF-8, а затем ещё раз выполняем sudo systemctl show-environment, чтобы убедиться, что в выводных данных LANG=en_US.UTF-8
❒ Затем убедимся, что на сервере есть 16 ГБ оперативной памяти при помощи команды free -h. Выводные данные должны быть примерно такими:
$ free -h total used free shared buff/cache available Mem: 15G 3.1G 1.0G 305M 11G 12G Swap: 0B 0B 0B
Если в строке Mem в столбце total менее 15G, то серверу недостаточно памяти для запуска BigBlueButton в боевом режиме, и необходимо увеличить количество памяти хотя бы до 16G. Впрочем, если Вы планируете использовать сервер для задач разработки, 8G будет достаточно.
❒ Далее, убедимся, что на сервер установлена Ubuntu 18.04:
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION=»Ubuntu 18.04.5 LTS»
❒ Удостоверимся, что запущена 64-разрядная версия Ubuntu:
$ uname -m x86_64
❒ Далее, проверим, что сервер поддерживает IPv6:
$ ip addr | grep inet6 inet6 ::1/128 scope host .
Если нет строки inet6 ::1/128 scope host, то после установки BigBlueButton нужно будет внести изменения в настройки FreeSWITCH, чтобы отключить поддержку IPv6.
❒ Следующим шагом убедимся, что сервер запущен на ядре Linux v.4.x:
$ uname -r 4.15.0-NNN-generic
❒ Далее, проверим, что у сервера есть минимум 8 ядер. Напоминаем, что для задач разработки достаточно 4 ядра:
$ cat /proc/cpuinfo | awk ‘/^processor/’ | wc -l 8
Итак, мы закончили предустановочные проверки и настройки. Следующий шаг — непосредственно установка BigBlueButton.
▍ Установка BigBlueButton
Установка BigBlueButton производится скриптом bbb-install.sh. Данная ссылка содержит подробную информацию по использованию данного скрипта.
После того как скрипт bbb-install.sh закончит свою работу, можно проверить состояние сервера командой bbb-conf —check.
Результат будет примерно таким:
$ sudo bbb-conf —check BigBlueButton Server 2.3.10 (2419) Kernel version: 4.15.0-153-generic Distribution: Ubuntu 18.04.5 LTS (64-bit) Memory: 16414 MB CPU cores: 8 /etc/bigbluebutton/bbb-web.properties (override for bbb-web) /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web) bigbluebutton.web.serverURL: https://bbb-test.cf defaultGuestPolicy: ALWAYS_ACCEPT svgImagesRequired: true /etc/nginx/sites-available/bigbluebutton (nginx) server_name: bbb-test.cf port: 80, [::]:80 port: 443 ssl /opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH) local_ip_v4: 193.108.114.47 external_rtp_ip: 193.108.114.47 external_sip_ip: 193.108.114.47 /opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH) ext-rtp-ip: $$ ext-sip-ip: $$ ws-binding: 193.108.114.47:5066 wss-binding: 193.108.114.47:7443 /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback) playback_host: bbb-test.cf playback_protocol: https ffmpeg: 4.2.4-1ubuntu0.1bbb2~18.04 /etc/bigbluebutton/nginx/sip.nginx (sip.nginx) proxy_pass: 193.108.114.47 protocol: http /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU) kurento.ip: 193.108.114.47 kurento.url: ws://127.0.0.1:8888/kurento kurento.sip_ip: 193.108.114.47 localIpAddress: 193.108.114.47 recordScreenSharing: true recordWebcams: true codec_video_main: VP8 codec_video_content: VP8 /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client) build: 1829 kurentoUrl: wss://bbb-test.cf/bbb-webrtc-sfu enableListenOnly: true sipjsHackViaWs: true /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server) stun: stun.l.google.com:19302 # Potential problems described below . # Warning: The API demos are installed and accessible from: # # https://bbb-test.cf # # and # # https://bbb-test.cf/demo/demo1.jsp # # These API demos allow anyone to access your server without authentication # to create/manage meetings and recordings. They are for testing purposes only. # If you are running a production system, remove them by running: # # apt-get purge bbb-demo
Раздел Potential problems может содержать ошибки конфигурации или ошибки установки. Во многих случаях сообщения в разделе будут содержать рекомендации как устранить эти ошибки.
Также, можно использовать команду sudo bbb-conf —status чтобы проверить все ли процессы BigBlueButton стартовали и работают.
Примерный результат:
▍ Итог
Итак, мы рассмотрели системные требования к BigBlueButton, выполнили предустановочные операции и провели установку продукта.
Перейдём по ссылке на свой демо-сайт, у меня это был: bbb-test.cf и посмотрим что мы получили в итоге.
Появится приветственное меню. Введём в поле ввода своё имя и нажмём «Join» :
Затем давайте попробуем включить микрофон в конференции:
Разрешаем доступ к микрофону:
Нажимаем на «Да», если наш голос слышен, или на «Нет» в противном случае:
Итак, открылась сама конференция:
В ней уже можно проводить собрания, несмотря на то, что это API — демонстрационное.
Если потребуется разработать что-либо на базе BigBlueButton, продукт обладает обширной документацией, что здорово поможет в деле.
Ну что же, пора и завершаться. Стабильной работы оборудования и приятных конференций!
- Блог компании RUVDS.com
- Системное администрирование
- Учебный процесс в IT
- Софт
- Видеоконференцсвязь
Источник: habr.com