Сайт о телевидении

Сайт о телевидении

» » Аудиоконференцсвязь. Аудио конференции для бедных и для богатых

Аудиоконференцсвязь. Аудио конференции для бедных и для богатых

Аудио конференции бывают разные, как и задачи, которые они решают: централизованные (на сервере), клиентские, распределенные. В нашем случае мы рассмотрим первые два варианта - централизованные на стороне облака VoxImplant и клиентские, сделанные прямо в браузере с использованием WebAudio и WebRTC (да-да, и такое уже стало возможно!). У обоих вариантов есть свои плюсы и минусы, которые мы рассмотрим подробнее под катом, а также расскажем о том как их использовать и о подводных камнях (куда же без них!).

Серверные конференции

Из названия следует, что микширование аудио потоков происходит на стороне сервера. Для каждого участника конференции создается свой микс, в котором есть все участники кроме него самого (вы же не хотите слушать свое эхо). К тому же, у конференций есть еще ряд параметров, которые влияют на качество звука. Например, частота дискретизации, на которой она работает. В случае VoxImplant у нас есть 2 варианта - обычные и HD. В обычных частота 8KHz и они лучше всего подходят для объединения звонков из телефонной сети, там выше 8KHz все равно не получится. В случае HD мы пошли по пути создания максимального качества, и поэтому в данном случае миксуем уже на 48KHz (максимум для WebRTC в браузере). Так как используются серверные ресурсы, то сделать такие конференции бесплатными сложно, железо и трафик пока еще что-то стоят:)


Во время создания серверных конференций пришлось использовать всякие разные инновационные технологии, которые хорошо давят шум (NR), эффективно определяют говорящих (VAD) и так далее, все это самым прямым образом влияет как на качество звука, так и на масштабируемость: кодирование и декодирование потоков никто не отменял (микширование и ресэмплинг - не самые сложные задачи). Мы в первую очередь ориентируемся на WebRTC, поэтому основной ходовой кодек у нас Opus, но подключиться можно и из SIP с любым из следующих на выбор: G.711, Speex (и Opus).

Конференция на стороне VoxImplant создается следующим образом (сценарий VoxEngine):

// Подключаем модуль конференций require(Modules.Conference); var conf = null, calls = ; // При старте сессии создаем конференцию VoxEngine.addEventListener(AppEvents.Started, function(e) { if (conf === null) { // hd_audio определяет будет HD или не-HD конференция conf = VoxEngine.createConference({ hd_audio: true }); } }); // Входящие звонки подключаем к конференции VoxEngine.addEventListener(AppEvents.CallAlerting, function(e) { e.call.addEventListener(CallEvents.Connected, handleCallConnected); e.call.addEventListener(CallEvents.Disconnected, handleCallDisconnected); e.call.answer(); }); // Соедияем аудио поток конференции и звонка function handleCallConnected(e) { VoxEngine.sendMediaBetween(conf, e.call); calls.push(e.call); } // Если все звонки отключатся, то можно убить сессию function handleCallDisconnected(e) { var index = calls.indexOf(e.call); if (index > -1) calls.splice(index, 1); if (calls.length === 0) VoxEngine.terminate(); }

Звонки туда направляются с помощью функции callConference , поэтому придется сделать отдельный сценарий, который форвадит звонки в конференцию из разных источников (PSTN, WebSDK, MobileSDK или SIP) и прописать соответствующее правило (Pattern) приложения. Более подробно про работу с конференциями в VoxImplant можно прочитать по данной ссылке .

Чем же хороши серверные конференции? Много участников (по умолчанию до 100 в случае VoxImplant), управление конференцией на стороне сервера (это может быть весьма полезно в ряде случаев), лучшее качество звука. Минусы мы уже перечислили - это не бесплатно, так как требуются серверные ресурсы.

Poor man"s conferencing: конференции на клиенте

Все мы знакомы со Skype и его прекрасной возможностью аудио-конференций. Это тот самый client-side conferencing, хостом выступает создающий конференцию пользователь, соответственно на его компьютере все будут микшироваться. Если интернет или железо у этого товарища окажется не очень, то все будут страдать, но зато это бесплатно! :)


После недавних значительных обновлений WebRTC и Web Audio в Chrome и Firefox стало возможно такой же сценарий реализовать прямо на уровне браузера. Я был очень воодушевлен, когда приступил к реализации этой идеи. Но мой пыл несколько поугас после того, как пришлось изрядно повозиться, чтобы это все завелось без лишних эффектов и независимо от браузеров участников (WebRTC пока есть в Chrome/Chromium и Firefox). Начнем с теории…

RTCPeerConnection

Этот прекрасный класс (далее по тексту будем называть его PC) от WebRTC дает нам возможность передавать звук (и видео, но в этот раз без него) в реальном времени, подключая к нему стрим (local stream) от микрофона, через сеть кому-то на другом конце и оттуда получать чужой стрим (remote stream). Изначально в WebRTC все крутилось около MediaStream"ов (тот самый локальный стрим от микрофона это объект данного класса), но сейчас стандарт немного эволюционировал и все сдвинулось в сторону Audio/VideoTracks (для более лучших видео конференций, но про это в другой раз). Что не отменяет работы с классом MediaStream, когда мы переходим в плоскость Web Audio. Мы не будем рассматривать как сделать P2P звонок с помощью WebRTC, про это есть много других статей + на VoxImplant это делается совсем уж просто. Итак, что же мы должны сделать, чтобы смиксовать звук из разных PC и своего микрофона? Начнем с простого:

// предположим, что у нас есть MediaStream от микрофона - такой код будет воспроизводить наш локальный поток средствами Web Audio function gotStream(stream) { // А вот и Web Audio - создаем контекст window.AudioContext = window.AudioContext || window.webkitAudioContext; var audioContext = new AudioContext(); // Web Audio работает с так называемыми audio nodes , которые можно стыковать разными способами var mediaStreamSource = audioContext.createMediaStreamSource(stream); // Отправляем поток на проигрывание аудио устройству mediaStreamSource.connect(audioContext.destination); } navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia; navigator.getUserMedia({audio:true}, gotStream,function(){});
Для того, чтобы объединять разные потоки нам потребуется ChannelMergerNode , это и есть наш микшер, нам таких потребуется столько сколько у нас участников в конференции и каждый участник будет получать микс остальных за исключением себя, выглядит оно как-то так:

Window.AudioContext = window.AudioContext || window.webkitAudioContext; var audioContext = new AudioContext(); var mediaStreamSource = audioContext.createMediaStreamSource(local_stream), participant1 = audioContext.createMediaStreamSource(participant1_stream), participantN = audioContext.createMediaStreamSource(participantN_stream); // Микшер var merger = audioContext.createChannelMerger(); // Отправляем поток в MediaStream, который надо подключить к PC var destination_participant1 = audioContext.createMediaStreamDestination(); mediaStreamSource.connect(merger, 0, 0); // Отправляем локальный стрим в микшер participantN.connect(merger, 0, 0); // добавляем в микс всех участников кроме того для кого этот микс и сделан mediaStreamSource.connect(merger, 0, 1); // необходимо для стерео в FF participantN.connect(merger, 0, 0); // необходимо для стерео в FF // Микс отправляем в destination_participant1 merger.connect(destination_participant1); // Добавляем в PC для participant1 результирующий поток, скорее всего, предыдущий надо будет отключить через removeStream pc.addStream(destination_participant1.stream);
Ничего гениального, но поверьте, что разработчикам браузеров пришлось изрядно повозиться, чтобы это работало. Вам не показалось, что все как-то слишком просто? :) Вот и мне так казалось, пока дело не дошло до тестирования. Проверка отправки микса с Chrome на Firefox выявила, что проигрывается только 1 из всех медиа-потоков, отправленных в микс, при том что в случаях Chrome->Chrome, Firefox->Chrome, Firefox->Firefox все работает нормально. Попытка осмыслить причину такого поведения пока не привела к успеху, мы написали об этом коллегам в Google и Mozilla, но на момент написания текущей статьи ответа еще не получили. Как только появится понимание проблемы или способ решения проблемы, то мы обязательно напишем об этом в P.S.

Демки

Напоследок предлагаем вам ознакомиться с демками, быстро собранными нами на VoxImplant:

Еще несколько лет назад многопользовательская видеосвязь, впрочем, как и телефонная конференция были доступны только крупнейшим компаниям в рамках ведения бизнес переговоров. Сегодня, благодаря появлению VoIP-телефонии, любой человек при наличии компьютера, интернета и специальной программы может быстро создать аудио- и видеоконференцию с кем только пожелает. Главное, что такая связь доступна теперь на бесплатной основе.

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

Skype

Сегодня Скайп является наиболее востребованным сервисом VoIP-телефонии. Хотя в значительной степени популярность программы и обусловлена ее ранним появлением на рынке, это вовсе не означает, что в техническом плане Skype уступает конкурентам. В данном сервисе реализовано множество полезных и удобных функций, в том числе бесплатные голосовые и видео звонки, удобный чат для переписки, передача файлов, демонстрация экрана, возможность организации конференции с участием до 150 человек и пр. Стоит отметить, что уже в 2010 году количество пользователей Skype составляло более 650 млн человек. По состоянию на сегодняшний день пользователем Скайпа является каждый 3й человек на земле.

Google+Hangouts

Гугловская программа для VoIP-телефонии считается одной из самых быстрых и адаптированных под современного пользователя. Использовать этот сервис, впрочем, как и Скайп, можно практически на любом устройстве с аудио- и видеподдержкой. В гугловской видеоконференции одновременно могут участвовать от 2 до 10 человек, что на порядок меньше, чем у главного конкурента.

До недавнего времени третьим по популярности считался сервис от Microsoft. Изначально программа Windows Live Messenger разрабатывалась для мгновенного обмена сообщениями, то есть как онлайн-чат. Затем, с выходом нескольких обновлений, у Мессенджера появилась функция видеоконференц-связи, что в 2008 году привлекло множество новых пользователей. Правда уже в 2012 Майкрософт официально отказалась от использования собственной программы и полностью перешла на Скайп. Лишившись официальной поддержки, сервис постепенно угасает.

ooVoo

Программа ooVoo менее известна широкой публике, но все же пользуется определенной популярностью в сети. Публичный сервис был разработан американо-израильской компанией еще в 2006 году и получил тогда множество положительных отзывов благодаря отличной оптимизации, высокой скорости работы и богатому функционалу. Как и предыдущие сервисы, программу ooVoo можно использовать для организации видеоконференц-связи, которая ограничивается здесь 12-ю пользователями. Среди прочих особенностей этого ПО можно отметить запись разговоров, видеопочту, передачу файлов, трансляцию экрана и пр. Впрочем, все эти функции присутствуют и в Скайпе и в Google+Hangouts.

Довольно популярной в бизнес-кругах является программа GoToMeeting, представленная калифорнийской компанией Citrix Online в 2004 году. Данное ПО предназначено для проведения веб-конференций, общения в онлайн-режиме и просмотра рабочего стола собеседника. Особенностью этого сервиса является запатентованная технология, предоставляющая доступ к любому приложению, запущенному на компьютере организатора конференции. Таким образом, участники встречи могут использовать для общения Microsoft Outlook, Lotus Notes и прочие instant messaging-программы.

Как и предыдущие сервисы, программа Cisco WebEx представляет собой современную технологию для организации виртуальных встреч, совещаний и пр. Функционально данное ПО полностью соответствует сервису GoToMeetings, за исключением новой возможности, позволяющей разделять участников встречи на организатора, активных действующих лиц и пассивных наблюдателей. Главным недостатком этого проекта является платная подписка.

TokBox

TokBox - профессиональный сервис для общения в режиме реального времени, в том числе организации онлайн-встреч, бизнес-конференций и пр. Особенность этого ПО заключается в уникальной возможности встроить групповой видеочат внутрь странички сайта, соцсети или мобильного приложения. ТокБокс поддерживает до 3 тысяч наблюдателей одновременно, при ограничении в 20 видео-потоков. Стоит отметить, что более развернутый функционал сервиса представлен в платном проекте OpenTok.

Proficonf — новая профессиональная платформа для видеоконференций в реальном времени до 250 участников.

Сервис в работе использует технологию WebRTC, что дает высокий уровень безопасности и передачу данных без задержек. Разработана адаптивная передача медиаданных, что обеспечило стабильность работы даже при низкой скорости интернета.

Для ведущих предоставлен широкий набор инструментов и гибкая настройка комнат с управлениями ролями.

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

Особенности сервиса — создание мгновенного мероприятия в один клик и отсутствие необходимости в установке дополнительного ПО, все работает в браузере.

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

Похожие материалы

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

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

Аудиоконференция - простой способ делового общения

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

Как действует конференц система?

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

Зачем вам нужна конференц связь?

  • Вы всегда будете в курсе

Аудиоконференция позволит вам в любой момент по вашему требованию связаться с подразделениями или офисами и быть в курсе происходящего

  • Вы всегда сможете координировать действия подчиненных

Аудиоконференция позволит вам руководить подчиненными удаленно, не зависимо от их места нахождения.

  • Вы сможете принимать верные решения

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

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

Существует три вида систем аудиоконференцсвязи - распределённая, локальная и интегрированная.

Распределённая (удалённая) аудионференцсвязь объединяет нескольких участников, находящихся в разных местах.

Локальная аудиоконференцсвязь объединяет нескольких участников, находящихся в одном помещении (конференц-зал или переговорная комната).

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

В чем заключается основное различие между аудиоконференцсвязью и видеоконференцсвязью?

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

2. Стоимость решений. Системы для аудиоконференцсвязи значительно дешевле тех, которые предназначены для использования в ВКС. Видеоконференцсвязь в ее серьезном понимании требует гораздо больших вложений в оборудование, ведь в данном случае к передаче аудиосигналов добавляется еще и видеотрансляция, которая требует использования более ёмких каналов связи, средств захвата и отображения видеокартинки для каждого из абонентов. Для аудиоконференцсвязи достаточно иметь телекоммуникационное оборудование (обычный телефонный аппарат, IP-телефон, конференц-телефон) и программное приложение IP-телефонии, с помощью которого пользователи смогут связываться между собой, зачастую оно уже реализовано в цифровой АТС предприятия.

3.Удобство. Считается, что видеоконференцсвязь - это технология, которая способна максимально приблизить виртуальную встречу к реальной за счет полноценного аудио-визуального контакта. В данном случае понимание между собеседниками достигает 90%. Общение же в режиме аудиоконференцсвязи приравнивается к телефонному, поэтому и уровень взаимопонимания между собеседниками значительно ниже в процентном соотношении.

Оборудование для аудиоконференций

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

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