Бесплатные web видеоконференции с использованием BigBlueButton. Опыт установки, настройки и использования
Сегодня рассмотрим бесплатное программное обеспечение для проведения видеоконференций с интересным название BigBlueButton, которое начинает пользоваться большой популярностью среди свободно распространяемых программ аналогов, для web видеоконференций — вебинаров.
Популярность BigBlueButton связана с тем, что это приложение действительно довольно неплохое, а общение в Интернете становится обыденным делом.
Единственно, оно требует правильной установки и порой терпения. Далее я расскажу о функционале BigBlueButton и о нашем опыте инсталляции и использование данного программного обеспечения.
Начнем все по порядку
Как уже было сказано BigBlueButton – это бесплатное, свободно распространяемое web приложение и было создано в первую очередь для дистанционного обучения и проведения вебинаров. Также вы можете установить BigBlueButton на сервер своей компании и использовать на ваше собственное усмотрение, например, для мультимедийных бизнес презентаций и общения.
Наш опыт использования BigBlueButton достаточно успешный, хотя пришлось потратить какое-то временя, чтобы сделать его действительно работающим хорошо. О тех проблемах, с которыми мы встретились и как мы их решали я расскажу позже, в этой статье. А сначала немного о возможностях BigBlueButton, которые могут быть интересны нам всем.
Взаимодействие с BigBlueButton
Взаимодействие пользователей и администраторов с BigBlueButton осуществляется через Интернет браузер и не требует установки дополнительных программ, что очень удобно. BigBlueButton использует технологию FLASH, потоковый сервер RED5 и включает в себя следующие мультимедийные и интерактивные возможности:
- Показ презентаций удаленным пользователям в формате PowerPoint.
- Загрузка и показ документов в формате PDF.
- Трансляция видеоизображений с камеры.
- Создание пометок на презентациях.
- Общение голосом, по средствам микрофонов.
- Общение в чате, как групповое, так и приватное.
- Трансляция рабочего стола, вашего компьютера.
- Обмен файлами между пользователями.
- Есть возможность интеграции BigBlueButton с системой управления курсами Moodle.
- Запись ваших мероприятий.
- Набор различных языков, в том числе и русского языка.
Представленный функционал BigBlueButton действительно впечатляет! Но установка свободно распространяемого программного обеспечения, как вы знаете, порой требует дополнительного времени и усилий. Иногда приходится что-то самому настраивать и тестировать. Платный же конкурент BigBlueButton-а, который имеет большой функционал и техническую поддержку — это Adobe Connect. Поэтому если ваш бюджет, позволяет вам приобрести платное программное обеспечение, я также советую вам почитать информацию про Adobe Connect. Позже я планирую написать статью о нем, и о том как с ним работать, но сейчас разговор не об этом.
Но если ваш бюджет ограничен или вообще отсутствует, что нормально и обычное дело, то на мой взгляд, BigBlueButton – это идеальный вариант на сегодняшний день.
Где можно попробовать BigBlueButton?
Посмотреть, как выглядит, и понажимать кнопочки уже установленного BigBlueButton, вы можете на следующей странице http://demo.bigbluebutton.org/ — это собственно тестовый BigBlueButton, установленный и поддерживаемый разработчиками данного программного обеспечения.
Далее о нашем опыте.
BigBlueButton, активно используется нами, уже около двух лет, для онлайн общения, в образовательно процессе. И теперь подошло время поговорить более подробно о нашем опыте установки и использования BigBlueButton.
С чего все начиналось.
Уже много лет (начиная с 2008г) мы организуем различные онлайн мероприятия, технический функционал которых состоит из следующих составляющих:
- Показ удаленным пользователям презентаций.
- Трансляция видеоизображения и голоса выступающего.
- Пользователи могут задавать вопросы в реальном режиме времени в чате.
- Авторизация и мониторинг пользователей.
Какие системы мы использовали?
2008г: Собственная система.
Самая первая систем, которую мы использовали, была создана нами самими. Работала довольно неплохо, но был минус — пользователям необходимо было устанавливать дополнительно программное обеспечение. Также функционал системы ограничивался небольшим набором возможностей.
2009-2010 г: Программное обеспечение DimDim.
Далее мы перешли на программное обеспечение dimdim. Тогда возможно было скачать и установить свой сервер dimdim, так мы и сделали. Периодически выскакивали какие-то проблемы, но в принципе все работало довольно хорошо. Но главные недостаток, который был — это ограничение на максимально число одновременных участников (максимум 20). Функционал также был ограничен, определенным числом опыций. Поэтому мы продолжали следить за новинками свободного программного обеспечения. И вот нам встретился OpenMeetings.
2010 г: Программное обеспечение OpenMeetings
Данное программное обеспечение было скачано и установлено. Мы его протестировали, как на своем сервере, так и на сервере разработчиков и пришли к выводу — интерфейс неудобный, плюс к этому периодически возникали разные проблемы с использованием пользовательского интерфейса. Короче, мы решили его не использовать. Хотя как-то потом мы участвовали в одной web конференции (в 2011 году), в которой использовался OpenMeetings, и вроде все было нормально. Участников было точно больше 30. Может они конечно что-то и улучшили за год. Хотя мне до сих пор не нравится их пользовательский интерфейс. Может кто-то другого мнения.
2010-2012 г: Программное обеспечение BigBlueButton
И вот в конце 2010 года, а если быть точным в ноябре нам встретилось программное обеспечение BigBlueButton. Пользовательский интерфейс BigBlueButton нам сразу понравилось и мы решили попробовать. По срокам, необходимо было его установит, протестировать и внедрить до февраля 2011 года. Так как в феврале активно планировалось использовать Web видеоконференции.
В общем, был установлен BigBlueButton и Moodle. У кого-то возник вопрос – А зачем Moodle? Moodle, нужен, чтобы осуществлять управляемый доступ пользователей (по логину и паролю), а также создавать различные видео комнаты, с названиями и информацией, то есть как дополнение для BigBlueButton. Moodle, может взаимодействовать с BigBlueButton по средствам специально модуля. Модуль устанавливается и настраивается через административный интерфейс Moodle.
Проблемы, с которыми мы встретились.
Теперь о проблемах с которыми мы встретились. BigBlueButton, проще всего скачать и использовать вместе с готовой виртуальной машиной, что мы и сделали. После установки мы тестировали BigBlueButton одновременно подключившись к нему несколькими клиентами (2-мя или 3-мя) и все хорошо работало. Но когда мы начали проводить реальные web видеоконференции, больше 15 подключений, начались проблемы. Периодически все пользователи отключались, кто-то не слышал звука.
Мы пробовали использовать разные виртуальные машины (WMware, VirtualBox). Также пробовали устанавливать разные версии BigBlueButton. Сервера, с установленными виртуальными машинами, были достаточно мощные, поэтому маловероятно, что они как-то влияли. В общем перед нами остро встал вопрос – что делать дальше? Было два варианта вернуться к старой системе или попробовать все же заставить работать BigBlueButton. Как вы думаете, какой вариант мы выбрали?
Правильно, конечно второй 🙂 и в дальнейшем не пожалели!
Мы решили установить BigBlueButton на реальную машину, собрав его из пакетов. Инструкция в Интернете также присутствовала, вот эта полезная ссылка http://code.google.com/p/bigbluebutton/wiki/InstallationUbuntu . Через некоторое время BigBlueButton был установлен на Ubuntu (10.04 64-bit server).
Далее, мы начали его тестирование и все работало хорошо. Но на реальной web видеоконференции BigBlueButton снова подвел нас. Когда число подключений было больше 15, некоторые пользователи не слышали звук, приходилось перезагружать приложение.
Мы знали, что BigBlueButton для передачи голоса использует Asterisk или FreeSWITCH. Мы решили попробовать поменять FreeSWITCH на Asterisk, это делается легко (можете посмотреть в инструкции по ссылке, которая выше). И о чудо! После этого BigBlueButton заработал, было проведено уже несколько десятков мероприятий и никаких проблем.
Заключение!
Вот такой путь нам пришлось пройти, чтобы получить работающую систему. Специально решил потратить время и написать эту статью, чтобы прояснить ситуацию, для всех тех, кому интересен BigBlueButton. Конечно если бы это было платное программное обеспечение, мы бы могли активно взаимодействовать с тех поддержкой продукта. В случае же свободного программного обеспечения порой приходится решать проблемы самому.
Теперь BigBlueButton работает :)! Также у BigBlueButton есть еще много разных интересных возможностей, но об этом уже в следующий раз. Буду очень рад, если эта статья кому-то пригодится.
Также рекомендую посмотреть статью: Бесплатный сервер видеоконференций Marratech. Максимальное число одновременных участников в Marratech — 5. В статье, также вы найдете информацию об отличие Marratech от BigBlueButton!
PS: Для тех, у кого еще остались силы читать. Так как статья получилась действительно большой. Для вас последний абзац.
Ниже, выкладываю несколько полезных команд управления BigBlueButton.
sudo bbb-conf —version Показать версию установленного BigBlueButton.
sudo bbb-conf —check Проверка конфигурационных файлов.
sudo bbb-conf —start Запуск BigBlueButton.
sudo bbb-conf —stop Остановка BigBlueButton.
sudo bbb-conf —restart Перзапуск BigBlueButton.
sudo bbb-conf —clean Рестарт и чистка всех log файлов BigBlueButton.
bbb-conf —setsalt Смена security salt.
BigBlueButton: открытое решение организации конференций
Почти уверен что перед каждым ИТ отделом ставилась задача организовать видеоконференцию, или просто конференцию, например с филиалом. Решений задачи много — от дорогих аппаратных до бесплатных софтовых. Хочу обратить внимание хабрсообщества на одно из бесплатных решений этой задачи — BigBlueButton. На хабре уже была небольшая заметка о нем, я попытаюсь рассказать немного подробнее об этом решении, а так же о опыте его внедрения у нас в компании.
Сами разработчики позиционируют его как решение для обучения и проведения презентаций, заявленный функционал ничуть не мешает нам использовать его для наших бизнес-целей. На главной странице проекта есть ссылка на демонстрацию решения. В первый раз наткнувшись на BigBlueButton в поисках решения организации конференции я пошел именно по этой ссылке, то что я там увидел впечатлило и казалось, полностью подойдет под наши нужды (впрочем, так и оказалось).
Приятным сюрпризом, также, оказалось что полностью функционирующая система доступна в виде образа VMWARE прямо на сайте разработчиков, там же находится и подробная инструкция по установке. Здесь стоит отметить, что указанный образ без проблем конвертировался и запустился под hyper-v.
Скачав и запустив образ мы практически сразу получаем решение «из коробки» (ip машина получает по dhcp). Уже в таком виде вполне можно пользоваться bbb, для этого нам понадобиться видеокамера и гарнитура. Демо конференции доступны если зайти браузером на адрес развернутого сервера.
После входа в конференцию открывается основное окно:
В верхней левой части окна отображаются участники конференции. Тут стоит отметить что участники могут быть двух типов — обычный участник и модератор. Обычный участник может слушать и смотреть конференцию. Модератор может управлять микрофонами участников, а так же давать участникам право демонстрации. Участник обладающий правом демонстрации может размещать на панели демонстрации (панель по середине) различные материалы (например документ word или powerpoint) которые будут доступны для просмотра всем участникам конференции. Также участник конференции может смотреть изображение с камеры других участников, если другой участник ее включил.
В нижней левой части располагается окно так называемых «слушателей» — это участники конференции, попавшие в нее дозвонившись на телефонный номер конференции. Этот функционал весьма интересен и полезен (нам по крайней мере) и о на его настройке я остановлюсь немного подробнее позже.
В правой части расположен чат (да-да обычный чат), в который могут писать все участники конференции. При входе в конференцию в чат пишется приглашение, которое можно настроить при создании конференции.
Более подробно работа с интерфейсом bbb описана в документе, ссылку на который я приложил в конце заметки, это реальная инструкция участника используемая нами.
Теперь я хочу рассказать о том, что собственно мы изменили «под себя»
В первую очередь мы поменяли часть создания\входа в конференции.
Образ распространяется как демонстрационный и изначально имеется несколько шаблонов-примеров, для того чтобы понять каким образом создаются конференции. Шаблоны находятся здесь:
Изучив их мы просто создали свой, теперь у нас при входе на сервер конференций примерно следующее:
Второе, что хотелось реализовать — дозвон в конференцию с телефонов.
В BigBlueButton телефония (да и вообще весь голос) поддерживается встроенным Asterisk, соответственно нам придется как-то связать существующую сеть телефонии с bbb Asterisk. Все необходимые конфигурационные файлы Asterisk лежат в
Собственно, нам понадобится только два файла:
Телефония у нас в компании организована посредством Cisco CallManager, связать его с Asterisk мы можем, например, SIP-транком. Для этого на стороне Asterisk мы меняем bbb_sip.conf таким образом:
[bbbuser]type=friend
username=bbbuser
insecure=very
qualify=no
nat=yes
host=dynamic
canreinvite=no
context=bbb-voip
disallow=all
allow=ulaw [TO_CCM]
disallow=all
type=friend
context=bigbluebutton
host=172.31.0.2
port=5062
allow=ulaw
allow=alaw
nat=no
canreinvite=no
qualify=no
dtmfmode=rfc2833
где 172.31.0.2 — адрес нашего CCM, 5062 — транковый порт.
На стороне CCM также создается SIP-транк в сторону Asterisk, создается роут-паттерн с какого-нибудь внутреннего номера в этот транк, таким образом звонок на внутренний номер будет заворачиваться на Asterisk и в конференции.
На стороне Asterisk также был немного изменен файл bbb_extensions.conf
[prompt]exten => s,1,Read(CONF_NUM,conf-getconfno,5,,3,10)
exten => s,n,Goto(bbb-conference,$
Необходимо прописать число символов в номере конференции, у нас 5.
Также мы поменяли раздел
[bbb-conference]include => echo-test
exten => _XXXX.,1,Agi(agi://localhost/findConference?conference=$
exten => _XXXX.,n,GotoIf($[$
exten => _XXXX.,n(valid),Playback(conf-placeintoconf)
; exten => _XXXX.,n,MeetMe($
exten => _XXXX.,n,Set(CALLERID(name)= $