Какие браузеры поддерживают webrtc
WebRTC - специальный сетевой протокол, который разработан компанией Google. Он используется разработчиками Google Chrome и изначально встроен него, а также в браузеры, созданные на его архитектуре. Так что большинство популярных браузеров использует этот протокол: Opera, Mozilla Firefox, Safari, Yandex Browser. Это касается и мобильных приложений.
Давайте же рассмотрим, как работает эта технология и как отключить WebRTC в разных браузерах.
Технология WebRTC предназначена для передачи видео и аудио потоков напрямую между браузерами и мобильными устройствами. Это используется для проведения видеоконференций. В технологию встроены необходимые аудио и видео кодеки, которые, обеспечивающий хороший уровень связи. Поэтому пользователю не придётся использовать дополнительные приложения для организации конференции. Из - за того, что данные передаются напрямую, не требуется сторонний сервер, который бы обрабатывал информацию. Технология ещё развивается, но даже в нынешнем состоянии удобна в использовании.
Как происходит утечка IP через WebRTC
Несмотря на преимущества, который предоставляет протокол WebRTC, в нём присутствует один серьёзный минус, который заставит некоторых пользователей отказаться от его использования. Это утечка Ip через WebRTC. Дело в том, что обмен данными требует прямого подключения и обмена внешними и локальными IP адресами. Из - за того, что передача идёт напрямую, не учитывая сервер, сетевые параметры игнорируются.
Соответственно, технология будет работать в обход прокси, отображая ваш IP адрес, а не адрес прокси-сервера. Сеть Tor также будет бесполезна, поскольку технология будет показывать реальный IP адрес.
Использование VPN позволит решить эту проблему. В этом случае Ip адрес не будет показан, или будет подменён адресом, выданным VPN сетью, который не раскроет ваше местоположение, да и попросту бесполезен для злоумышленников.
Но простейшим решением проблемы станет отключение WebRTC. Проще всего это сделать, используя плагины, например, WebRTC Control, WebRTC leak prevent, WebRTC leak, diasble WebRTC и других. Нужно просто установить плагин и включить или отключить WebRTC нажатием одной кнопки. Или же можно выключить Web RTC вручную.
О том, как отключить WebRTC в популярных браузерах будет рассказано в следующих статьях:
Пользователи TrueConf Server могут подключаться к видеоконференциям через браузер с помощью технологии WebRTC.
Поддержку Web Real-Time Communications (WebRTC) популярные браузеры стали включать в свои сборки еще с 2012 года. Первопроходцем стал Google Chrome, после чего эстафету подхватили и остальные браузеры.
Google Chrome*
Мozilla FireFox
* – и все браузеры на основе движка Chromium
При использовании браузера на движке Chromium (Google Chrome 89+) и TrueConf Server версии до 4.7.0 включительно вы можете столкнуться с тем, что при переходе по ссылке не происходит подключение к видеоконференции. Подробнее об этом читайте в нашей статье. Для полноценной работы с актуальными версиями браузеров рекомендуем вам обновить TrueConf Server до версии 4.7.1.
Далее мы обсудим каждый браузер более подробно, а также расскажем о том, как подключаться через WebRTC к конференциям TrueConf.
Подключение по WebRTC: поддерживаемые браузеры
Google Сhrome
В нашем списке браузер Google Chrome занял почетное первое место в виду того, что именно он стал первопроходцем и первым поддержал технологию WebRTC в 2012 году начиная с 17 версии. До этого ни один браузер не мог совершать видеозвонки без установки специальных клиентских приложений. Поэтому, сама идея создания возможности захвата аудио и видеопотоков и последующее их воспроизведение прямо в браузере была принята пользователями на “ура”.
Однако, стоит заметить, что браузерные звонки существовали еще задолго до появления WebRTC, вспомним хотя бы небезызвестные Flash и Java. Однако, проблема Java – в сложности реализации DSP библиотек (отсутствие эхоподавления, задержка звука), а Flash необходимо скачивать и устанавливать на свой ПК, что, естественно, занимает время. В WebRTС данных проблем не существует.
Кстати, мы уже успели сравнить новый тренд – WebRTC с технологией Flash. Увидеть их “поединок” в рамках нашего блога можно тут.
С каждой новой версией Google Chrome поддерживал всё новые возможности WebRTC, и, к сегодняшнему дню мы видим результат – полноценный браузерный клиент для видеозвонков, не требующий установки дополнительных расширений.
Mozilla Firefox
Браузер Mozilla Firefox поддерживает WebRTC начиная со своей 18 Aurora-сборки, которая изна чально требовала ручной настройки функционала видеозвонков. По умолчанию WebRTC не функционировал, поэтому, прежде чем отдать разрешение на запрос доступа сайта к микрофону и камере, пользователям предлагалось посетить страницу продвинутых настроек (about:config). Однако, не долго мучились пользователи – уже в 2013 году Firefox выпустил 22 версию, в которую была включена поддержка WebRTC по умолчанию.
Opera
В Opera, также, как и в предыдущем браузере, поддержка стандарта WebRTC была реализована в 18 версии, которую выпустили в декабре 2013-го. Именно в этой сборке по умолчанию включили поддержку интерфейса getUserMedia API, который является неотъемлемым компонентом технологии WebRTC. С помощью данного интерфейса веб-браузер Opera мог получать доступ к веб-камере и микрофону компьютера пользователя.
Internet Explorer
В Internet Explorer технология, аналогичная WebRTC, существует под принципиально другим названием – ORTC. Это новый свободный проект, который, по заявлению Microsoft, станет прекрасной альтернативой WebRTC, а может даже и вовсе переквалифицируется в WebRTC 1.1. Стандарт поддержал лучшие, зарекомендовавшие себя аудиокодеки – Opus, G.711 и G.722, и, конечно же, внедрил H.264 для кодирования видео.
Microsoft Edge
Safari
Компания Apple выпустила обновления для своего браузера Safari в сентябре 2017 года. В обновленной 11 версии Safari для десктопа появилась полноценная поддержка WebRTC. Более старые версии браузера Safari использовали Flash Player или WebRTC-плагины в качестве fallback-механизма.
WebRTC на мобильных браузерах
Кстати, в марте 2014 вышла 20-я сборка Opera с поддержкой Web Real-Time Communication для мобильных устройств Android.
Немного раньше поддержали WebRTC другие браузеры для Android: Google Chrome Beta 29 с поддержкой стандарта вышла в июле 2013 года, через пару месяцев – в сентябре того же года – Mozilla Firefox для Android выпустил 24 сборку с возможностью видеозвонков из браузера.
В октябре 2014 года вышел мобильный браузер Bowser от Ericsson c поддержкой OpenWebRTC для iOS-устройств. Полноценная поддержка WebRTC стандарта появилась в 11 версии браузера Safari для мобильных устройств Apple.
WebRTC в решениях TrueConf
При участии в конференции TrueConf через WebRTC можно:
Чтобы подключиться к конференции, созданной на сервере TrueConf, необходимо перейти по специальной ссылке, которая распространяется администратором среди всех пользователей. При переходе в браузер вы должны предоставить доступ к вашему микрофону и камере, чтобы остальные участники конференции могли видеть и слышать вас.
В браузере Mozilla Firefox запрос доступа к микрофону выглядит так:
Разрешив доступ к вашим устройствам, вы попадете в конференцию:
Подробнее о процессе создания конференции вы можете прочитать в документации TrueConf Server или в нашей обзорной статье, а протестировать перечисленные возможности вы можете с помощью TrueConf Server Free.
26.12.2013 Издание
WebRTC (Web Real Time Communications) – это проект нового стандарта консорциума W3C, главная цель которого – обеспечить веб-браузеры возможностью работы с потоковым видео, в частности видеосвязью по принципу “точка-точка” в режиме реального времени. В этой статье мы подробнее расскажем о современном состоянии стандарта и его перспективах.
История вопроса
На рынке существует целый ряд решений и технологий для организации видеосвязи как через отдельные приложения, так и через плагины для браузера. С точки зрения браузерных решений лидирующие позиции занял Adobe Flash. Его поддержка была интегрирована в подавляющее большинство компьютеров (платформ). До сих пор большинство браузерных решений видеоконференцсвязи для персональных компьютеров используют именно Flash, хотя и высказываются претензии по поводу больших задержек и нестабильности приложений. Однако по мере появления многочисленных мобильных устройств началось постепенное сокращение амбиций. Сначала Adobe прекратила поддержку мобильных платформ; в том же 2011 году компания “отличилась” конфликтом с Apple, а в следующем – прекратила обновление и поддержку плеера под Linux.
“Компания Apple не хотела способствовать конкуренции приложений Flash с контентом в App store. Наличие поддержки Flash в телефонах iPhone означало бы отсутствие необходимости простым приложениям проходить модерацию”, – считает Станислав Солдатов, технический директор компании TrueConf.
На данный момент Flash все еще поддерживается львиной долей платформ. Правда, пик популярности технологии явно позади.
Что касается конкурентов (к примеру, Microsoft Silverlight), то до сих пор ни один из них так и не смог достичь масштабов Flash. Несмотря на другую архитектуру и возможные преимущества на фоне Flash, с точки зрения пользователя они обладают тем же самым недостатком – требуют установки дополнительного модуля (плагина) к браузеру.
“Конечные пользователи не испытывают доверия к плагинам. И небезосновательно. На данный момент не понятно, чего больше: плагинов, реализующих поддержку дополнительных технологий, или вредоносного программного обеспечения под их видом. WebRTC построен на принципиально иной идее. Он разрабатывается как часть стандарта HTML5, т.е. после принятия должен будет поддерживаться всеми браузерами в “минимальной комплектации”. Тег “видео” и раньше входил в HTML5, но стандарт не определял детали. Производители браузеров реализовывали поддержку тех кодеков, которые считали наиболее перспективными. Поэтому на рынке все равно оставались определенные разночтения. Кроме того, не было ориентации на работу с трансляцией видео в режиме реального времени. Сейчас же и кодеки, и методика организации соединения должны быть зафиксированы”, – комментирует Станислав Солдатов.
WebRTC изнутри
Как было отмечено выше, API WebRTC разрабатывалось на основе идеи поддержки работы с мультимедиа-потоками самим браузером (всеми браузерами по одинаковой схеме, вне зависимости от платформы и разработчика).
Разработка API была инициирована Google с 2010 года. В основу WebRTC легли технологии компании Global IP Solutions (GIPS) приобретенной Google в 2011 году, а также видеокодек VPx, разработанный в On2 Technologies (компания была куплена Google в 2010 году, и одновременно с этим ее разработка, кодек VP8, была переведена в разряд проектов с открытым исходным кодом).
С мая 2011 года исходные коды проекта открыты, при этом библиотека WebRTC (эталонная реализация поддержки) распространяется по лицензии BSD-3. Сейчас развитием API занимается рабочая группа в составе консорциума W3C, в которую входят представители Google, Mozilla, Cisco, Ericsson, Skype, и целого ряда других заинтересованных компаний.
Технически WebRTC подразумевает решение трех основных задач:
- Обеспечение доступа браузера к веб-камере и микрофону конечного пользователя исключительно средствами HTML5 и JavaScript без дополнительных инсталлируемых модулей или Flash. Для этого в исходный код браузера его разработчик встраивает поддержку определенных компонент.
- Создание соединения для передачи аудио-, видеопотока, к примеру, в режиме обычного звонка или видеоконференции через Интернет (в том числе peer-to-peer).
- Обеспечение передачи потока данных.
Для решения этих задач используются три основных API, входящих в WebRTC: MediaStream, RTCPeerConnection и RTCDataChannel.
MediaStream обеспечивает получение аудио-, видеопотока, который в общем случае может включать несколько синхронизированных “дорожек”, к примеру, один поток видео и две аудиодорожки для левого и правого каналов стереомикрофона. Надо отметить, что источником видео может являться не только веб-камера, но и рабочий стол пользователя (что дает возможность демонстрировать экран).
Следующий API, RTCPeerConnection, обеспечивает соединение “точка-точка” для передачи полученных медиапотоков. На его “совести” лежит обработка сигнала (в частности, очистка картинки от шумов, подстройка громкости микрофона), контроль используемых кодеков (перекодирование на лету, если видео с камеры закодировано нестандартным образом), обеспечение непосредственно самого соединения через сеть, а также шифрование и управление пропускной способностью, т.е. подстройка параметров видеосигнала под имеющийся канал.
RTCDataChannel обеспечивает двустороннюю передачу данных через установленное соединение. Как и медиапоток, передаваемые данные шифруются.
Несмотря на потенциальную возможность построения конференции нескольких конечных пользователей только лишь на базе клиентов (к примеру, по ячеистой топологии, где каждый клиент соединен со всеми остальными, или по топологии “звезда”, где нагрузка, связанная с обработкой одновременно всех потоков, ляжет только на одного клиента), эту задачу оптимально решать с помощью “сигнального” сервера, который будет осуществлять функции вызова и “надзора” за разговором: корректно завершать передачу потока, добавлять участников (если речь идет о конференции) и т.п. В первую очередь этот сервер выполняет функцию запроса и передачи служебной информации (сигналов): какие форматы и варианты передачи поддерживаются каждой из сторон, как к ним подключиться, какие следует использовать ключи шифрования.
Стоит отметить, что для организации сервиса необходим также механизм преодоления “барьеров” NAT-ICE, который работает посредством одного из протоколов: STUN или TURN. Соответствующие сервера разработчики могут разворачивать в своей IT-инфраструктуре или же обращаться к сторонним провайдерам.
Недостатки WebRTC
На сегодняшний день стандарт пока еще сложно назвать устоявшимся. Идет его активная разработка. Таким образом, написанный сейчас код вполне может потребовать доработки в ближайшем будущем. В отдаленной перспективе ожидается выпуск официального WebRTC API. (Существующая версия имеет номер 1.0, но при этом тексту присвоен статус working draft. Будут ли вноситься в стандарт какие-то значительные изменения перед выпуском официальной версии – предсказать невозможно. Многие специалисты считают, что эта версия практически готова, а статус draft за разработками W3C может сохраняться достаточно долго без фактических изменений в тексте документа. С другой стороны, W3C в преамбуле документа подчеркивает, что могут последовать любые изменения.)
Еще одной проблемой WebRTC на сегодняшний день остается список обязательных для поддержки кодеков. Согласия компании-участники достигли пока только по одному вопросу – все они считают, что для WebRTC необходим некий основной кодек, который будет поддерживаться всеми браузерами, дабы сохранить истинную кроссплатформенность.
Основным для WebRTC на данный момент является приобретенный Google VP8. Это принцип, на котором настаивает Google, стремящийся применять лишь свободно распространяемые решения (royalty free), в число которых не входит H.264. Google активно работает над кодеком VP9, который позволяет приблизительно в 2 раза уменьшить полосу пропускания.
Но разговоры о том, что необходимо использовать именно H.264 (а в перспективе – H.265), не утихают. Одним из драйверов этой идеи является компания Cisco, использующая этот кодек в своих программных и аппаратных решениях для коммуникаций и совместной работы . В качестве возможного решения, которое могло бы применить “свободный” WebRTC с проприетарным кодеком, Cisco предлагает выпустить что-то вроде собственного программного кодера (за который компания заранее заплатит все полагающиеся взносы), который можно будет бесплатно использовать .
“Сложность заключается в том, что “бесплатной” поддержка останется только для браузеров. “За бортом” останутся производители стороннего программного обеспечения, вроде TrueConf, а также разработчики аппаратных систем, например Polycom”, – комментирует технический директор TrueConf Станислав Солдатов.
Кроме того, такой кодер нарушает основной принцип WebRTC, заключающийся в использовании royalty free решений. По этой причине его не поддерживает Google. Правда, и собственное решение компании также не совсем “чисто”. До сих пор ее “свободный” кодек VP8 подвергается патентным нападкам .
В итоге встречу за встречей компании так и не могут прийти к единому решению.
Как и статус draft, неопределенность с кодеками в первую очередь тормозит развитие бизнеса на основе данного API.
Преимущества WebRTC
Несмотря на статус “активной разработки”, уже сейчас WebRTC есть чем похвастаться на фоне того же Adobe Flash. В частности, существующая реализация WebRTC, судя по отзывам, гораздо логичнее и имеет меньше недостатков, нежели господствовавшие ранее на рынке плагины Flash . А с точки зрения стабильности браузера и защищенности по отношению к внешним атакам WebRTC опережает любые плагины .
Уже сейчас технология позволяет сделать лучше качество звука (нежели в решениях на базе Flash), в том числе за счет встроенной функции автоматической регулировки микрофона. Для передачи аудио используются кодеки Opus и G.711 (Opus позволяет подстраивать качество звука под ширину доступного канала).
В целом, благодаря открытости платформы, интерес бизнеса к WebRTC растет в геометрической прогрессии. Хотя пока что значительную часть ресурсов отнимает оттачивание технических деталей, многим компаниям кажется стратегически верным использование независимых решений. Тем более что именно для бизнеса WebRTC может дать множество новых инструментов.
Реальные воплощения
На сегодняшний день WebRTC API уже поддерживается ведущими браузерами под Windows. Первой поддержка была интегрирована в Google Chrome, но уже в начале этого года было опубликовано видео с первого кроссбраузерного звонка между Chrome и Firefox Mozilla. Позже о реализации поддержки сообщили Opera и “Яндекс”. На всех остальных windows-браузерах есть теоретическая возможность обеспечить работоспособность API через дополнительный браузерный плагин (webrtc4all). Правда, основное преимущество WebRTC (работа без плагинов) в этом случае будет утеряно. Да и работоспособность пока никто не гарантировал. “Мы пытались использовать его для работы с Internet Explorer, но так и не смогли добиться стабильной работы”, – дополняет Станислав Солдатов. Также технология есть в Chrome для Linux и Mac OS X.
Несмотря на столь обширный “захват” рынков, пока о доминировании WebRTC говорить рано. Картина остается неполной без ситуации с двумя крупными производителями оборудования и ПО: Microsoft и Apple.
Представители Apple пока публично не высказываются о проекте. До недавнего времени считалось, что эта компания технологию попросту игнорирует, но в последние месяцы появилась информация о том, что Apple активно участвует в заседаниях рабочей группы WebRTC.
Microsoft включилась в работу с WebRTC уже более года назад. Согласно первым сведениям, просочившимся тогда в прессу, разработчики компании хотели “научить” узлы WebRTC взаимодействовать с обычной версией Skype без дополнительных шлюзов . Позже, правда, оказалось, что у Microsoft вообще свое видение всей технологии. Некоторые специалисты считают, что здесь разногласия сводятся к упомянутой выше поддержке кодеков.
Наличие “альтернативной” реализации WebRTC, пускай даже в части кодеков (не важно, кто из разработчиков в данном случае лучше соответствует потребности рынка), несколько портит общую стратегию развития технологии. Наряду с теми, кто уже пробует свои силы в этом направлении, есть значительная доля компаний, занявших выжидающую позицию.
Но ряд вполне работоспособных решений на рынке уже есть.
Надо отметить, что возможность контакта с посетителем через браузер без плагина – это несколько больше, чем просто новая реализация идеи “унифицированных коммуникаций”. В руки бизнеса эта технология дает новые возможности, позволяющие проследить всю цепочку действий посетителя, получить дополнительную информацию о нем. Это уже совсем другой сервис.
Некоторые специалисты прочат WebRTC доминирующее положение на рынке в обозримом будущем . Считается, что достойную конкуренцию технология может составить не только “классическим” VoIP-сервисам, но и обычной стационарной телефонии. Операторы связи уже сейчас конкурируют со Skype и подобными ему службами. Но сейчас эта конкуренция действует на уровне тарифов. Использование альтернативных инструментов пока что требует от пользователя дополнительных действий: поиска и скачивания программного обеспечения, авторизации в сторонней службе. Считается, что поддержка голосовой и видеосвязи различными устройствами в “минимальной комплектации” (с установленным браузером) убьет желание пользоваться обычной стационарной связью, поскольку здесь конкуренция начнется уже на совершенно другом уровне. Не будет выбора между “платить дорого за то, что уже есть” или “платить дешево, совершив дополнительные действия”. Будут низкие тарифы IP-телефонии при отсутствии необходимости собственноручно что-то устанавливать и настраивать. Правда, не все согласны с таким описанием ситуации.
“На мой взгляд, процедура установки новых приложений на iOS и Android реализована достаточно просто, так что люди уже не боятся установить приложение на своем мобильном устройстве. Да и на стационарных компьютерах этот барьер тоже не столь серьезен. Я думаю, что WebRTC на этом рынке ничего не изменит”, – дополняет Станислав Солдатов.
У идеи WebRTC есть также и масса критиков. Один из основных их аргументов апеллирует как раз к неоднозначности дальнейшего развития проекта. Пока технология поддерживается лишь ограниченным количеством браузеров, которые на самом деле в сумме имеют лишь около 60% рынка,причем по большей части – частных пользователей (На конференции Google I/O 2013, проходившей в мае 2013 года, когда еще не были представлены разработки Opera и Яндекс.Браузер, число конечных точек с поддержкой WebRTC оценивалось более чем в 1 миллиард) . В бизнесе широко используется Internet Explorer или Safari в случае iOS .
WebRTC (Web Real Time Communications) — это стандарт, который описывает передачу потоковых аудиоданных, видеоданных и контента между браузерами (без установки плагинов или иных расширений) или другими поддерживающими его приложениями в режиме реального времени. Данная технология позволяет превратить браузер в оконечный терминал видеоконференцсвязи. Чтобы начать общение, достаточно просто открыть веб-страницу конференции.
В этой статье мы раскроем некоторые особенности применения WebRTC, а также рассмотрим преимущества и недостатки данной технологии.
Как работает WebRTC
Рассмотрим работу технологии на примере звонка между двумя абонентами через браузер:
- Пользователь открывает страницу, содержащую WebRTC контент.
- Браузер запрашивает доступ к веб-камере и микрофону, если это необходимо. Пока пользователь не разрешит доступ к устройству, оно не будет использоваться. В случаях, когда это необязательно (например, при просмотре трансляций), никаких дополнительных разрешений не требуется.
- В браузере, инициирующем соединение, формируется SDP-пакет. По сути это текстовый файл, содержащий всю необходимую информацию о параметрах соединения. Например, что будет передаваться (звук, видео, данные), с помощью каких кодеков, какие параметры поддерживаются браузером и т. д.
- В зависимости от реализации технологии, инициатор соединения передаёт этот пакет другим участникам. Зачастую для этого используется сигнальный сервер и WebSocket протокол.
- На принимающей стороне браузер получает SDP-пакет, а затем генерирует подобный, но с учетом информации из первого. Второй пакет отправляется назад, к инициирующей стороне. Теперь оба клиента уже имеют минимальное представление друг о друге.
- В зависимости от реализации, параллельно с предыдущими шагами происходит анализ состояния подключения к сети. Клиентам передаётся адрес STUN-сервера, который используется, чтобы узнать внешний IP-адрес устройства. Он сравнивается с внутренним IP-адресом для того, чтобы определить используется ли NAT в данном подключении и, если да, то как маршрутизируются UDP-пакеты. В более сложных случаях (например, когда используется двойной NAT), применяются TURN-сервера. Они, по сути, являются ретрансляторами, превращая соединение клиент-клиент (P2P) в клиент-сервер-клиент.
- Если все шаги пройдены успешно, то соединение устанавливается. Периодически вызывается событие onicecandidate, которое передаёт информацию об IP-адресах, настройках NAT, попытках подключения между клиентами.
Преимущества стандарта
- Не требуется установка ПО.
- Высокое качество связи благодаря:
- использованию современных видео- и аудиокодеков;
- автоматическому подстраиванию качества потока под условия соединения;
- встроенной системе эхо- и шумоподавления;
- автоматической регулировке уровня чувствительности микрофонов участников (АРУ).
Недостатки стандарта
Особенности работы WebRTC на мобильных устройствах
Кодеки в WebRTC
Кодеки WebRTC можно разделить на обязательные (браузеры, реализующие данную технологию должны их поддерживать) и дополнительные (не включённые в стандарт, но добавленные некоторыми браузерами).
Аудиокодеки
Для сжатия аудиотрафика в WebRTC используются обязательные кодеки (Opus и G.711) и дополнительные (G.722, iLBC, iSAC).
Opus — это аудиокодек с низкой задержкой кодирования (от 2.5 мс до 60 мс), поддержкой переменного битрейта и высоким уровнем сжатия, что идеально подходит для передачи потокового аудиосигнала в сетях с переменной пропускной способностью. Является основным аудиокодеком для WebRTC. Opus — гибридное решение, сочетающее в себе лучшие характеристики кодеков SILK (компрессия голоса, устранение искажений человеческой речи) и CELT (кодирование аудиоданных). Кодек находится в свободном доступе, разработчикам, которые его используют, не нужно платить отчисления правообладателям. По сравнению с другими аудиокодеками, Opus, несомненно, выигрывает по множеству показателей. По ряду параметров он превосходит довольно популярные кодеки с низким битрейтом, такие, как MP3, Vorbis, AAC LC. Opus восстанавливает наиболее приближенную к оригиналу “картину” звука, чем AMR-WB и Speex.
G.711 — устаревший голосовой кодек с высоким битрейтом (64 kbps), который чаще всего применяется в системах традиционной телефонии. Основным достоинством является минимальная вычислительная нагрузка из-за использования лёгких алгоритмов сжатия. Кодек отличается низким уровнем компрессии голосовых сигналов и не вносит дополнительной задержки звука во время общения между пользователями.
G.711 поддерживается большим количеством устройств. Системы, в которых используется этот кодек, более легкие в применении, чем те, которые основаны на других аудиокодеках (G.723, G.726, G.728 и т.д.). По качеству G.711 получил оценку 4.2 в тестировании MOS (оценка в пределах 4-5 является самой высокой и означает хорошее качество, аналогичное качеству передачи голосового трафика в ISDN и даже выше).
G.722 — является стандартом ITU-T, принят в 1988 году, в настоящее время является бесплатным. Может работать со скоростью 48, 56 и 64 кбит/с, обеспечивая качество звука на уровне G.711. И аналогично G.711 является устаревшим. Поддерживается в Chrome, Safari и Firefox.
iLBC (internet Low Bitrate Codec) — узкополосный речевой кодек с открытым исходным кодом. Доступен в Chrome и Safari. Из-за высокого сжатия потока при использовании данного кодека возрастает нагрузка на процессор.
iSAC (internet Speech Audio Codec) — широкополосный речевой аудиокодек, ранее проприетарный, который в настоящее время является частью проекта WebRTC, тем не менее не обязателен для использования. Поддерживается в Chrome и Safari. В реализации для WebRTC используется адаптивный битрейт от 10 до 52 кбит/с с частотой дискретизации 32 kHz.
Видеокодеки
Вопросы выбора видеокодека для WebRTC заняли у разработчиков несколько лет, в итоге в стандарт вошли VP8 и H.264. Также существуют реализации необязательных видеокодеков (H.265, VP9, AV1).
VP8 — свободный видеокодек с открытой лицензией, отличается высокой скоростью декодирования видеопотока и повышенной устойчивостью к потере кадров. Кодек универсален, его легко внедрить в аппаратные платформы, поэтому очень часто разработчики систем видеоконференцсвязи используют его в своих продуктах. Совместим с браузерами Chrome, Edge, Firefox и Safari (12.1+).
Платный видеокодек H.264 стал известен намного раньше своего собрата. Это кодек с высокой степенью сжатия видеопотока при сохранении высокого качества видео. Широкая распространенность этого кодека среди аппаратных систем видеоконференцсвязи предполагает его использование в стандарте WebRTC. Совместим с браузерами Chrome (52+), Edge, Firefox (в версиях 68+ для Android поддержка была прекращена) и Safari.
VP9 — открытый и бесплатный стандарт сжатия видео, разработанный в 2012 году компанией Google. Является развитием идей, заложенных в VP8 и в последующем был расширен в рамках AV1. Совместим с браузерами Chrome (48+) и Firefox.
H.265 — платный видеокодек, являющийся преемником H.264, обеспечивающий такое же визуальное качество при вдвое меньшем битрейте. Это достигается с помощью более эффективных алгоритмов сжатия. В настоящее время этот кодек конкурирует с бесплатным AV1.
AV1 — открытый кодек для сжатия видео, разработанный специально для передачи видео по сети Интернет. Поддерживается в Chrome (70+) и Firefox (67+).
При указании совместимости кодека с браузером Chrome подразумевается совместимостьсо всеми Chromium-based браузерами соответствующих версий.
Тонкости работы с технологией WebRTC
Подключение по WebRTC
В зависимости от конкретной реализации WebRTC возможны отличия в версиях совместимых браузеров. Подробный список поддерживаемых десктопных и мобильных браузеров для TrueConf доступен на странице системных требований.
Если вам интересно узнать, как будет развиваться технология WebRTC, то рекомендуем посетить официальный сайт разработки, а также страницы стандарта проекта и репозитория.
WebRTC для рынка ВКС
Популярность технологии
На сегодняшний день WebRTC второй по популярности после проприетарного протокола Zoom протокол видеосвязи и опережает все остальные стандартные (H.323 и SIP) и проприетарные (Microsoft Teams и Cisco Webex) протоколы.
Увеличение числа ВКС-терминалов
Технология WebRTC оказала сильное влияние на развитие рынка ВКС. После выхода в свет первых браузеров с поддержкой WebRTC в 2013 году потенциальное количество терминалов видеоконференцсвязи по всему миру сразу увеличилось на 1 млрд. устройств. По сути, каждый браузер стал ВКС терминалом, обладающим базовыми возможностями для участия в видеоконференциях.
Использование в специализированных решениях
Использование различных JavaScript библиотек и API облачных сервисов с поддержкой WebRTC позволяет легко добавить поддержку видеосвязи в любые веб-проекты. Ранее для передачи данных в реальном времени разработчикам приходилось изучать принципы работы протоколов и использовать наработки других компаний, которые чаще всего требовали дополнительного лицензирования, что увеличивало расходы. Уже сейчас WebRTC активно используется для организации видео-контакт-центров, проведения вебинаров и т. п.
Конкуренция с Flash
WebRTC и HTML5 стали смертельным ударом для технологии Flash, которая и так переживала свои далеко не лучшие годы. С 2017 года ведущие браузеры официально перестали поддерживать Flash и технология окончательно исчезла с рынка.
Примеры сервисов, использующих WebRTC
TrueConf Server — отечественная ВКС платформа, основанная на современной масштабируемой архитектуре SVC, работает как в локальных сетях, так и через Интернет. Сервер вебинаров разворачивается на оборудовании вашей компании, что гарантирует защиту персональных данных от доступа третьих лиц. Благодаря высокому разрешению видео (до 4К) и инструментам для совместной работы прекрасно подходит для трансляций онлайн-мероприятий, дистанционного образования и удаленной работы.
Google Meet
Jitsi Meet
Jitsi Meet — приложение с открытым исходным кодом, выпущенное компанией 8x8. Технология Jitsi основана на архитектуре Simulcast, что означает нестабильную работу на слабых каналах связи и высокие требования к скорости подключения на стороне сервера. Позволяет проводить веб-конференции только в браузере и не имеет полноценных клиентских приложений для совместной работы, поддержаны конференции с количеством участников не более 75 (до 35 с высоким качеством связи). Для полноценного использования Jitsi в корпоративной среде необходима самостоятельная разработка и установка дополнительного ПО.
BigBlueButton
BigBlueButton – это свободное программное обеспечение для видеоконференцсвязи. Особый акцент разработчики делают на дистанционном образовании (присутствуют такие функции как интерактивная доска, показ контента, поддержка опросов и т. п.). Поддерживает веб-конференции до 100 участников.
А что насчёт Zoom
Вопреки расхожему мнению в Zoom технология WebRTC не используется для передачи и декодирования медиа-данных. Сделано это для экономии серверных ресурсов. На стороне браузера задействованы другие web технологии -- низкоуровневый WebAssembly и WebSocket. При использовании подобных нестандартных подходов передачи видеопотока могут возникать проблемы с качеством картинки у некоторых участников.
Сегодня поговорим о том что такое WebRTС, как он работает, почему VPN/TOR/SOCKS не делают вас полностью анонимными при включенном WebRTC и собственно как его отключить. WebRTC (Web Real-Time Communication) - технология с открытым исходным кодом, позволяющая передавать потоковые данные между браузерами по технологии "точка-точка" (p2p). Он встроен по умолчанию в последних версиях Firefox, Chrome/Chromium, Opera и позволяет производить соединение между двумя и более браузерами для видео/аудио-звонков и не только. И так бро для соединения по принципу p2p, необходимо знать действительный IP-адрес и WebRTC эту инфу сливает.
Если даже вы сидите под TOR/VPN/SOCKS то не составит особого труда узнать ваш локальный IP-адрес в сети и на стороне. А с использованием уязвимостей можно определить ваш реальный IP, за которым вы скрываетесь.
В первую очередь друг, нужно знать, что показ всех IP-адресов твоего компьютера/планшета/телефона из-за WebRTC - это не проблема или недостаток VPN/TOR/SOCKS , это проблема и недостаток браузера, которым вы пользуетесь.
Для того чтобы никто не могу узнать ваш IP-адрес через WebRTC, нужно его просто взять и отключить, этого будет достаточно для анонимности в сети, но при вбивах WebRTC нельзя отключать, так как шоп это видит и процент успешности вбива уменьшается, об этом я расскажу позже.
Собственно как отключить WebRTC в разных браузерах.
Отключение WebRTC в Firefox:
В адресной строке набрать about:config и нажать Enter
В строке Поиск ввести "media.peerconnection.enabled" и выполнить двойной клик по найденной строке, выставив тем самым поле Значение в "false".
Отключение WebRTC в Chrome и Opera:
В этом случае нет способов отключения WebRTC средствами самих браузеров, можно установить дополнения(расширения) реализующие эти функции например WebRTC Leak Prevent или подобных, но их установка не гарантирует полного отключения WebRTC. Совет мой пользоваться Firefox.
Отключение WebRTC на Android :
На Android такаяже проблема как и на ПК, в Chrome невозможно отключение WebRTC.
Но опять же нас спасает Firefox для Android. На нем вы можете отключить WebRTC по той же самой инструкции для Firefox, которая есть выше.
Читайте также: