5 простых шагов создания своего сервера для видеоконференций
5 простых шагов создания своего сервера для видеоконференций

5 простых шагов создания своего сервера для видеоконференций

25 июня, 20207 минут на чтение
Подписывайтесь на [Код // Дурова] в Telegram[Код // Дурова] в Telegram

Видеоконференции с недавних пор стали обыденностью для многих из нас. Кто-то их использует для общения с родными и близкими, а кто-то — для дистанционной работы, учёбы и, конечно же, проведения вебинаров и консультаций.

Всё чаще хочется верить в то, что наши привычные видеоконференции будут надёжными. Более того, в таком деле требуется ещё и конфиденциальность, дабы все деловые и личные разговоры не ушли в чужие руки.

Для таких целей проще всего завести свой собственный сервер, а также сервис, с которым запуск конференции будет таким же простым, как одно нажатие кнопки. На примере BigBlueButton мы расскажем, как в считанные минуты завести свой собственный сервер для видеоконференций. Поехали!

Огромный вклад в подготовку этого материала внёс Виктор Каргин, основатель SEOchat! Выражаем ему большую благодарность!

Шаг 1. Приобретаем хостинг

Первым делом нам потребуется приобрести VDS. Что это такое? Это Virtual Dedicated Server, или же виртуальный выделенный сервер. Сервисов, которые предоставляют подобные услуги — целая тьма.

В нашем случае нам следует обратиться к ребятам из NetAngels. Их VDS-сервера работают почти со 100%-ным uptime, возможностью защиты от DDOS-атак и ежедневным копированием данных в отдельный датацентр. Тем более, они единственные, кто по умолчанию поддерживает образ сервиса BigBlueButton.

Звучит убедительно, поэтому перейдём к оформлению покупки VDS с тарифом типа Large.

В своей конфигурации лучше иметь 8 ГБ оперативной памяти и 4-ядерный процессор. В 2020 году сложно смотреть на что-то более скромное. Кроме того, нам понадобится хранилище с минимальным объёмом в 20 ГБ. В тарифе, который я выбрал, по умолчанию SSD-диск на 30 ГБ. При желании можно подключить резервное копирование и мониторинг.

Шаг 2. Устанавливаем BigBlueButton

Дальше всё гораздо проще. В конфигураторе при выборе системы для VDS необходимо выбрать образ системы с предустановленным BigBlueButton:

Теперь можно смело заказывать сервер.

Услуги резервного копирования и мониторинга в NetAngels я решил не подключать, поэтому итоговая стоимость — 1434 рубля в месяц.

Шаг 3. Запускаем процесс установки BigBlueButton

Ожидаем письмо, которое должно прийти на почту. Его нужно прочитать внимательно, так как там находится вся необходимая информация с инструкциями.

Первым делом нам предлагают перейти в интерфейс инсталлятора. Кликаем на ссылку, по которой инсталлятор предложит выбрать домен. Вариантов тут не так уж и много: свой домен или технический.

Чтобы не запутаться, поясняю: если вам необходимо сделать свой сервер публичным, то на сервера NetAngels рекомендую делегировать свой уникальный домен. Кроме этого, нужно указывать IP-адрес, как это продемонстрировано в письме.

Если с данным этапом у вас возникнут сложности, то всегда можно проконсультироваться со службой поддержки.

Мне же хватит технического домена, поэтому я выбираю этот вариант и перехожу на следующий шаг.

Вы можете заметить, что есть упрощённая и полная версии установки. Упрощённая приведёт к тому, что у вас будет лишь одна комната видеоконференции, а возможностей конфигурировать будет меньше.

Если вам просто нужно создать сервер на один день для тестирования сервиса или срочного созвона с коллегами, то выбирайте упрощённую установку.

Моя же задача — создать сервер для многоразового использования с возможностью хранения записей видеоконференций, поэтому я выбираю полную установку.

Шаг 4. Начинаем трансляцию BigBlueButton

В общем, BigBlueButton установлен, поэтому нам осталось только зайти в личный кабинет и с радостью запустить первую трансляцию.

В том самом важном письме уже есть логин и пароль, поэтому остаётся зайти в учётную запись.

Для начала трансляции нам остаётся скопировать ссылку, нажать на кнопку старт и разослать ссылку друзьям, коллегам, родным или ещё кому-либо.

После старта мы получаем интерфейс комнаты видеоконференции. Имейте ввиду, что интерфейс в целом скорее заточен больше бод проведение вебинаров.

Как и любому участнику, мне предлагается выбрать способ входа в видеоконференцию. Надо же что-то говорить будет, поэтому выбираем микрофон, предоставляя браузеру доступ к микрофону. «Раз-раз-раз», звук работает — мы в эфире!

Тут же видим, что можно включать свою веб-камеру, добавлять презентацию или же просто врубать демонстрацию своего экрана.

Что мне нравится, так это того, что ведущий видеоконференции, то есть я, может выключать микрофоны у обычных участников. Можно подключить и модератора, которому также предоставятся права управления эфиром. Для этого его следует предварительно зарегистрировать в своём личном кабинете.

Самое главное, что теперь у нас есть сервер для проведения видеоконференций. К тому же он безлимитный! То есть можно хоть 24 часа подряд вести трансляцию и записывать её.

Шаг 5. Тюнингуем BigBlueButton

У вас может возникнуть вопросы после тестирования сервиса. Предугадать все вопросы, к сожалению, будет сложно, поэтому делюсь с вами лайфхаками и примерами решения проблем, с которыми столкнулся лично. Уверен, вам тоже будет полезно знать об этом.

Видеозаписи

— Где их смотреть и в каком формате они формируются?

— Видеозаписи можно смотреть в личном кабинете. BigBlueButton располагает собственным плеером для их воспроизведения. Там можно отсматривать записи презентации, веб-камер спикеров и участников, а также запись экрана ведущего видеоконференции и даже чат!

Видео по умолчанию формируется в формате webm. Возможно, для кого-то это будет проблематично, но это не беда, так как можно изменить формат, прибегнув к привычному mp4.

— Можно ли скачать эти видео?

— У меня есть две новости: хорошая и плохая. Пожалуй, начну с плохой. Скачать видеозапись конференции из веб-интерфейса нельзя. Тем не менее, хорошая новость заключается в том, что через файловый менеджер в панели управления хостингом эту возможность вы всё же получите.

Проблема заключается в том, что скачивать придётся несколько файлов и при необходимости их придётся склеивать в один с помощью различных программ для монтажа видео.

Все готовые видеозаписи находятся тут:

/var/bigbluebutton/published/presentation

Эти непонятные символы в названии папок являются внутренним ID записи, а в конце названия можно найти время старта трансляции, которое добавлено через тире в формате UNIXtime. Очень сложно и непонятно, но париться не нужно. Расшифровывать время не требуется, так как можно просто ориентироваться на дату изменения папки, которая указана в последнем столбце.

В папке deskshare собираются записи всех видео с демонстрацией экрана пользователей, в папке video — записи всех веб-камер, склеенных в один файл и с общим звуком. Презентации хранятся в виде картинок и текста, найти это всё можно в папке presentation. Скачать в качестве видео такие презентации, увы, не получится.

— Как долго формируются записи конференции?

— Видео записи в формате webm формируются примерно в 2 раза дольше, чем длительность самого эфира. Допустим, если трансляция конференции длилась примерно час, то через 2 часа в личном кабинете должна появиться запись.

— Можно ли ускорить формирование записи?

— Мне удавалось ускорить этот процесс в 4 раза, изменяя дефолтные настройки в конфигурациях. Теперь часовая запись трансляции у меня формируется примерно за 25-30 минут. Бывает и быстрее. Для этого нужно всего лишь изменить формат на mp4, но в результате качество записи может быть немного хуже.

— Почему видеозаписи не воспроизводятся на iPad или на iPhone?

— «Яблочные» устройства не поддерживают формат видео webm. В этом и вся проблема, поэтому обязательно следует менять конфигурацию, чтобы запись формировалась ещё и в формате mp4.

— Как изменить формат записи трансляции?

— Править конфигурацию лучше через SSH, если умеете им пользоваться. Но можно всё сделать и через файловый менеджер, запустить который можно из панели управления сервером. При запуске необходимо выбрать пользователя root.

Для изменения формата записи потребуется найти и отредактировать один конфигурационный файл:

/usr/local/bigbluebutton/core/scripts/presentation.yml

Его нужно открыть на редактирование из контекстного меню, которое всплывает по правому клику мыши. Там уже нужно исправить строчку 16, удалив в её начале символ #.

Данная настройка укажет серверу, что нужно формировать файл записи конференции в формате mp4. После этого загруженная запись будет без проблем воспроизводиться на iPhone или iPad.

Ускорение создания записей возможна с помощью отключения формата webm в том же файле и таким же способом:

Вот в таком виде у вас будет формироваться только файл формата mp4 и записи будут появляться в личном кабинете гораздо быстрее.

Сервер

Здесь уже интересны вопросы будут только продвинутым пользователям. Кого я имею в виду? Например, вы можете подключаться к серверу по SSH, а также умеете работать с командной строкой.

Если вы не понимаете, о чём речь, то этот разделе можете не читать и направить ссылку на эту статью тому, кто шарит (это может быть знакомый админ).

— Что делать, если BigBlueButton завис или выдается ошибка 404 после перезагрузки сервера?

— Порой возникает необходимость в перезагрузке сервера или его временного выключения для того, чтобы, например, сэкономить деньги на аренде. Не забывайте, что биллинг обычно почасовой.

Представим, что вы включаете или просто перезагружаете сервер и внезапно BigBlueButton отказывается работать. Решить эту проблему не так уж и сложно. Для этого потребуется перезагрузить сам BigBlueButton. При подключении по SSH необходимо дать следующую команду:

bbb-conf --restart

Вуаля, всё работает!

— Почему записи видеоконференции так и не появились?

— Это очень странная проблема и зачастую что-то происходит не так, когда записи не выгружаются в папки даже после двух часов от завершения часовой трансляции.

Для начала нужно сходить в личный кабинет и проверить, завершилась ли трансляция.

Нужно помнить, что даже после выхода из комнаты эфир продолжается, поэтому старайтесь не допускать таких ошибок, если принято решение завершить конференцию.

Дальнейшие процессы по формированию записей можно запустить с помощью нажатия в меню кнопки «Завершить трансляцию». Далее рекомендую перезагрузить BigBlueButton таким же методом, который я описал чуть выше. В результате стоит дать следующую команду:

bbb-record --list

Она позволит увидеть список записей. На первый взгляд, всё может быть непонятным, но подробнее о том, что означает каждый столбец в выгруженной таблице, можно почитать в соответствующей документации.

Нас же больше интересует та часть, которая находится под таблицей. Там должен быть запущен один из так называемых «воркеров», что гласит нам о том, что всё работает в норме и остаётся только ждать появления записи.

Отсутствие «воркера» можно попробовать исправить перезапуском всего процесса.

Чат в Telegram

У кого-то из вас наверняка могут остаться вопросы по настройке или установке BigBlueButton, поэтому советую зайти в Telegram-чат. Помогут вам, чем смогут.

Заглавная фотография: Pinterest / Creative Commons

25 июня, 2020
Подписывайтесь на [Код // Дурова] в Telegram[Код // Дурова] в Telegram

Выбор редакции