WebRTC. Видеоконференции в браузере
Главное, что необходимо обеспечить пользователю для работы с браузером Mozilla Firefox – максимальную безопасность. Пользователи, кому важна не только безопасность в процессе веб-серфинга, но и анонимность, даже при использовании VPN, часто интересуются тем, как в Mozilla Firefox отключить WebRTC. На этом вопросе сегодня мы и остановимся подробнее.
WebRTC – специальна технология, осуществляющая передачу потоков между браузерами, используя технологию P2P. Например, с помощью данной технологии можно осуществлять голосовую и видеосвязь между двумя и более компьютерами.
Проблема данной технологии заключается в том, что даже при использовании TOR или VPN WebRTC знает ваш реальный IP-адрес. Более того, технология его не просто знает, но и может передавать данную информацию третьим лицам.
Как отключить WebRTC?
Технология WebRTC по умолчанию активирована в браузере Mozilla Firefox. Для того, чтобы выполнить ее отключение, вам потребуется перейти в меню скрытых настроек. Для этого в адресной строке Firefox перейдите по следующей ссылке:
about:config
На экране отобразится предупредительное окно, в котором вам необходимо подтвердить намерение открыть скрытые настройки, щелкнув по кнопке «Я обещаю, что буду осторожен!» .
Вызовите строку поиска сочетанием клавиш Ctrl+F . Введите в нее следующий параметр:
media.peerconnection.enabled
На экране отобразится параметр со значением «true» . Измените значение данного параметра на «false» , дважды щелкнув по нему левой кнопкой мыши.
Закройте вкладку со скрытыми настройками.
С этого момента технология WebRTC отключена в вашем браузере. Если вам вдруг потребуется ее снова активировать, вам понадобится снова открыть скрытые настройки Firefox и выставить значение «true».
Если пользователь недостаточно внимателен, то может не заметить, что веб-страница с WebRTC кодом внутри получила доступ к его камере и микрофону. Этим, естественно, могут воспользоваться злоумышленники, ведь интернет большой и чего там только нет. Чтобы лишний раз не переживать за сохранность своей личной жизни, WebRTC в браузере можно отключить. Помните, что полное отключение поддержки WebRTC может привести к некорректной работе решений, которые используют эту технологию.
Chrome, Opera, Яндекс.Браузер
На данный момент, нет безопасного способа отключить WebRTC в этих браузерах для настольных компьютеров и ноутбуков.
Мобильные устройства
Firefox на Android
WebRTC отключается вручную аналогично с настольной версией:
- В адресной строке браузера введите about:config
- Нажмите кнопку «Я обещаю, что буду осторожен!»
- Найдите строку «media.peerconnection.enabled»
- Двойным кликом измените значение на “false”
Chrome на Android
- Откройте браузер
- Нажмите «Enable»
Яндекс.Браузер на Android
- Откройте браузер
- В адресную строку введите: chrome://flags/#disable-webrtc
- Нажмите «Enable»
- Закройте приложение или перезагрузите устройство
На данный момент, нет безопасного способа отключить WebRTC в Opera для Android.
WebRTC (Web Real Time Communications) — это стандарт, который описывает передачу потоковых аудиоданных, видеоданных и контента от браузера и к браузеру в режиме реального времени без установки плагинов или иных расширений. Стандарт позволяет превратить браузер в оконечный терминал видеоконференцсвязи, достаточно просто открыть веб-страницу, чтобы начать общение.
Что такое WebRTC?
В этой статье мы рассмотрим все, что необходимо знать о технологии WebRTC для обычного пользователя. Рассмотрим преимущества и недостатки проекта, раскроем некоторые секреты, расскажем как работает, где и для чего применяется WebRTC.
Что нужно знать про WebRTC?
Эволюция стандартов и технологий видеосвязи
Сергей Юцайтис, Cisco, Видео+Конференция 2016Как работает WebRTC
На стороне клиента
- Пользователь открывает страницу, содержащую HTML5 тег
- Браузер запрашивает доступ к веб-камере и микрофону пользователя.
- JavaScript код на странице пользователя контролирует параметры соединения (IP-адреса и порты сервера WebRTC или других WebRTC клиентов) для обхода NAT и Firewall.
- При получении информации о собеседнике или о потоке со смикшированной на сервере конференцией, браузер начинает согласование используемых аудио и видео кодеков.
- Начинается процесс кодирования и передача потоковых данных между WebRTC клиентами (в нашем случае, между браузером и сервером).
На стороне WebRTC сервера
Для обмена данными между двумя участниками видеосервер не требуется, но если нужно объединить в одной конференции несколько участников, сервер необходим.
Видеосервер будет получать медиа-трафик с различных источников, преобразовывать его и отправлять пользователям, которые в качестве терминала используют WebRTC.
Также WebRTC сервер будет получать медиа-трафик от WebRTC пиров и передавать его участникам конференции, которые используют приложения для настольных компьютеров или мобильных устройств, в случае наличия таковых.
Преимущества стандарта
- Не требуется установка ПО.
- Очень высокое качество связи, благодаря:
- Использованию современных видео (VP8, H.264) и аудиокодеков (Opus).
- Автоматическое подстраивание качества потока под условия соединения.
- Встроенная система эхо- и шумоподавления.
- Автоматическая регулировка уровня чувствительности микрофонов участников (АРУ).
- Высокий уровень безопасности: все соединения защищены и зашифрованы согласно протоколам TLS и SRTP.
- Есть встроенный механизм захвата контента, например, рабочего стола.
- Возможность реализации любого интерфейса управления на основе HTML5 и JavaScript.
- Возможность интеграции интерфейса с любыми back-end системами с помощью WebSockets.
- Проект с открытым исходным кодом — можно внедрить в свой продукт или сервис.
- Настоящая кросс-платформенность: одно и то же WebRTC приложение будет одинаково хорошо работать на любой операционной системе, десктопной или мобильной, при условии, что браузер поддерживает WebRTC. Это значительно экономит ресурсы на разработку ПО.
Недостатки стандарта
- Для организации групповых аудио и видеоконференций требуется сервер ВКС, который бы микшировал видео и звук от участников, т.к. браузер не умеет синхронизировать несколько входящих потоков между собой.
- Все WebRTC решения несовместимы между собой, т.к. стандарт описывает лишь способы передачи видео и звука, оставляя реализацию способов адресации абонентов, отслеживания их доступности, обмена сообщениями и файлами, планирования и прочего за вендором.
- Другими словами вы не сможете позвонить из WebRTC приложения одного разработчика в WebRTC приложение другого разработчика.
- Микширование групповых конференций требует больших вычислительных ресурсов, поэтому такой тип видеосвязи требует покупки платной подписки либо инвестирования в свою инфраструктуру, где на каждую конференцию требуется 1 физическое ядро современного процессора.
Секреты WebRTC: как вендоры извлекают пользу из прорывной веб-технологии
Цахи Левент-Леви, Bloggeek.me, Видео+Конференция 2015
WebRTC для рынка ВКС
Увеличение числа ВКС-терминалов
Технология WebRTC оказала сильное влияние на развитие рынка ВКС. После выхода в свет первых браузеров с поддержкой WebRTC в 2013 году потенциальное количество терминалов видеоконференцсвязи по всему миру сразу увеличилось на 1 млрд. устройств. По сути, каждый браузер стал ВКС терминалом, не уступающий своим аппаратным аналогам с точки зрения качетсва связи.
Использование в специализированных решениях
Использование различных JavaScript библиотек и API облачных сервисов с поддержкой WebRTC позволяет легко добавить поддержку видеосвязи в любые веб-проекты. Ранее для передачи данных в реальном времени разработчикам приходилось изучать принципы работы протоколов и использовать наработки других компаний, которые чаще всего требовали дополнительного лицензирования, что увеличивало расходы. Уже сейчас WebRTC активно используется в сервисах вида “Позвонить с сайта”, “Онлайн-чат поддержки”, и т.п.
Ex-пользователям Skype для Linux
В 2014 году Microsoft объявила об прекращении поддержки проекта Skype для Linux, что вызвало большое раздражение у IT-специалистов. Технология WebRTC не привязана к операционной системе, а реализована на уровне браузера, т.е. Linux пользователи смогут увидеть в продуктах и сервисах на основе WebRTC полноценную замену Skype.
Конкуренция с Flash
WebRTC и HTML5 стали смертельным ударом для технологии Flash, которая и так переживала свои далеко не лучшие годы. С 2017 года ведущие браузеры официально перестали поддерживать Flash и технология окончательно исчезла с рынка. Но нужно отдать Flash должное, ведь именно он создал рынок веб-конференций и предложил технические возможности для живого общения в браузерах.
Видеопрезентации WebRTC
Дмитрий Одинцов, TrueConf, Видео+Конференция октябрь 2017
Кодеки в WebRTC
Аудиокодеки
Для сжатия аудио-трафика в WebRTC используются кодеки Opus и G.711.
G.711 — самый старый голосовой кодек с высоким битрейтом (64 kbps), который чаще всего применяется в системах традиционной телефонии. Основным достоинством является минимальная вычислительная нагрузка из-за использования легких алгоритмов сжатия. Кодек отличается низким уровнем компрессии голосовых сигналов и не вносит дополнительной задержки звука во время общения между пользователями.
G.711 поддерживается большим количеством устройств. Системы, в которых используется этот кодек, более легкие в применении, чем те, которые основаны на других аудиокодеках (G.723, G.726, G.728 и т.д.). По качеству G.711 получил оценку 4.2 в тестировании MOS (оценка в пределах 4-5 является самой высокой и означает хорошее качество, аналогичное качеству передачи голосового трафика в ISDN и даже выше).
Opus — это кодек с низкой задержкой кодирования (от 2.5 мс до 60 мс), поддержкой переменного битрейта и высоким уровнем сжатия, что идеально подходит для передачи потокового аудиосигнала в сетях с переменной пропускной способностью. Opus - гибридное решение, сочетающее в себе лучшие характеристики кодеков SILK (компрессия голоса, устранение искажений человеческой речи) и CELT (кодирование аудиоданных). Кодек находится в свободном доступе, разработчикам, которые его используют, не нужно платить отчисления правообладателям. По сравнению с другими аудиокодеками, Opus, несомненно, выигрывает по множеству показателей. Он затмил довольно популярные кодеки с низким битрейтом, такие, как MP3, Vorbis, AAC LC. Opus восстанавливает наиболее приближенную к оригиналу “картину” звука, чем AMR-WB и Speex. За этим кодеком - будущее, именно поэтому создатели технологии WebRTC включили его в обязательный ряд поддерживаемых аудиостандартов.
Видеокодеки
Вопросы выбора видеокодека для WebRTC заняли у разработчиков несколько лет, в итоге решили использовать H.264 и VP8. Практически все современные браузеры поддерживают оба кодека. Серверам видеоконференций для работы с WebRTC достаточно поддержать только один.
VP8 — свободный видеокодек с открытой лицензией, отличается высокой скоростью декодирования видеопотока и повышенной устойчивостью к потере кадров. Кодек универсален, его легко внедрить в аппаратные платформы, поэтому очень часто разработчики систем видеоконференцсвязи используют его в своих продуктах.
Платный видеокодек H.264 стал известен намного раньше своего собрата. Это кодек с высокой степенью сжатия видеопотока при сохранении высокого качества видео. Высокая распространенность этого кодека среди аппаратных систем видеоконференцсвязи предполагает его использование в стандарте WebRTC.
Компании Google и Mozilla активно продвигают кодек VP8, а Microsoft, Apple и Cisco — H.264 (для обеспечения совместимости с традиционными системами видеоконференцсвязи). И вот тут возникакет очень большая проблема для разработчиков облачных WebRTC решений, ведь если в конференции все участники используют один браузер, то конференцию достаточно микшировать один раз одним кодеком, а если браузеры разные и среди них есть Safari / Edge, то конференцию придётся кодировать два раза разными кодеками, что в два раза повысит системные требования к медиа-серверу и как следствие, стоимость подписок на WebRTC сервисы.
WebRTC API
Технология WebRTC базируется на трех основных API:
- (отвечает за принятие веб-браузером аудио и видеосигнала от камер или рабочего стола пользователя).
- RTCPeerConnection (отвечает за соединение между браузерами для “обмена” полученными от камеры, микрофона и рабочего стола, медиаданными. Также в “обязанности” этого API входит обработка сигнала (очистка его от посторонних шумов, регулировка громкости микрофона) и контроль над используемыми аудио и видеокодеками).
- RTCData Channel (обеспечивает двустороннюю передачу данных через установленное соединение).
Прежде чем получить доступ к микрофону и камере пользователя, браузер запрашивает на это разрешение. В Google Chrome можно заранее настроить доступ в разделе “Настройки”, в Opera и Firefox выбор устройств осуществляется непосредственно в момент получения доступа, из выпадающего списка. Запрос на разрешение будет появляться всегда при использовании протокола HTTP и однократно, если использовать HTTPS:
RTCPeerConnection . Каждый браузер, участвующий в WebRTC конференции, должен иметь доступ к данному объекту. Благодаря использованию RTCPeerConnection медиаданные от одного браузера к другому могут проходить даже через NAT и сетевые экраны. Для успешной передачи медиапотоков участники должны обменяться следующими данными с помощью транспорта, например, веб-сокетов:
- участник-инициатор направляет второму участнику Offer-SDP (структура данных, с характеристиками медиапотока, которые он будет передавать);
- второй участник формирует “ответ” — Answer-SDP и пересылает его инициатору;
- затем между участниками организуется обмен ICE-кандидатами, если таковые обнаружены (если участники находятся за NAT или сетевыми экранами).
После успешного завершения данного обмена между участниками организуется непосредственно передача медиапотоков (аудио и видео).
RTCData Channel . Поддержка протокола Data Channel появилась в браузерах сравнительно недавно, поэтому данный API можно рассматривать исключительно в случаях использования WebRTC в браузерах Mozilla Firefox 22+ и Google Chrome 26+. С его помощью участники могут обмениваться текстовыми сообщениями в браузере.
Подключение по WebRTC
Поддерживаемые десктопные браузеры
- Google Chrome (17+) и все браузеры на основе движка Chromium;
- Mozilla FireFox (18+);
- Opera (12+);
- Safari (11+);
Поддерживаемые мобильные браузеры для Android
- Google Chrome (28+);
- Mozilla Firefox (24+);
- Opera Mobile (12+);
- Safari (11+).
WebRTC, Microsoft и Internet Explorer
Очень долго Microsoft хранила молчание по поводу поддержки WebRTC в Internet Explorer и в своём новым браузере Edge. Ребята из Редмонда не очень любят давать в руки пользователей технологии, которые они не контролируют, вот такая вот политика. Но постепенно дело сдвинулось с мёртвой точки, т.к. игнорировать WebRTC далее было уже нельзя, и был анонсирован проект ORTC, производный от стандарта WebRTC.
По словам разработчиков ORTC — это расширение стандарта WebRTC с улучшенным набором API на основе JavaScript и HTML5, что в переводе на обычный язык означает, что всё будет то же самое, только контролировать стандарт и его развитие будет Microsoft, а не Google. Набор кодеков расширен поддержкой H.264 и некоторым аудиокодеками серии G.7ХХ, используемыми в телефонии и аппаратных ВКС системах. Возможно появится встроенная поддержка RDP (для передачи контента) и обмена сообщениями. Кстати, пользователям Internet Explorer не повезло, поддержка ORTC будет только в Edge. Ну и, естественно, такой набор протоколов и кодеков малой кровью стыкуется со Skype for Business, что открывает для WebRTC ещё больше бизнес применений.
Протокол WebRTC изначально разрабатывался для браузера Google Chrome. Соответственно, он используется в нём по умолчанию. Для тех, кто не в курсе, WebRTC - это специальная технология для прямой передачи данных между браузерами. Она вызывает утечку вашего IP адреса, поэтому многие пользователи отключают её, чтобы обеспечить себе безопасность.
Чтобы отключить WebRTC в Chrome, нужно использовать специальное расширение WebRTC control для Chrome. Оно позволит включать и выключать технологию нажатием одной кнопки.
Чтобы сделать это нужно:
- Запустить Google Chrome.
- Открыть меню браузера, находящееся в правом верхнем углу.
- Навести курсор на “Дополнительные инструменты и выбрать пункт “Расширения.”
- Откроется страница с вашими расширениями. Пролистываем страницу вниз и нажимаем на ссылку “Ещё расширения.”
- Вас перебросит в интернет магазин Google Chrome. В строке поиска, в левом верхнем углу экрана, вводим название приложения “WebRTC control” и нажимаем Enter.
- В списке приложений выбираем нужное и нажимаем “Установить.”
- Во всплывающем окне нажимаем на кнопку “Установить расширение.”
- Приложение автоматически установится и будет включено. Оно будет отображено в виде значка на панели расширений в правом верхнем углу. Если приложение работает - его значок будет синего цвета. Включить и отключить WevRTC можно нажатием на этот значок.
К сожалению, WebRTC в Chrome нельзя отключить вручную по крайней мере в ПК версии, поэтому вам в любом случае придётся использовать стороннее расширение.
Отключение WebRTC на Android
Ещё проще отключить WebRTC в Chrome на Android устройствах. Для этого вам даже не потребуется использовать плагин.
- Открыть браузер.
- В адресную строку ввести команду “chrome://flags/#disable-webrtc” (без кавычек).
- После этого устанавливаем значение “Enable”.
- На это всё, WebRTC на Android версии Chrome будет отключён.
Как видите, отключить WebRTC несложно как на компьютерной версии браузера, так и на мобильной. Лучше всего не пожалеть времени и сделать это единожды, чтобы не испытывать проблем с безопасностью и утечкой вашего IP адреса. Надеемся, эта инструкция вам помогла и оказалась полезной. Спасибо за внимание!
Если вам всё же непонятно, то смотрите видео, в котором мы расскажем как отключить WebRTC dj всех браузерах.
Здравствуйте. Подскажите как правильно отключить WebRTC в Firefox и других браузерах?
Отключение WebRTC дело не сложное, но прежде чем перейдем к инструкции по отключению, давайте разберемся что это за зверь и зачем его вообще нужно отключать обычному пользователю.
Что такое WebRTC?
WebRTC (Web Real-Time Communication) — это стандарт с открытым исходным кодом, который позволяет в реальном времени передавать потоковые данные видео и аудио через браузер по технологии P2P.
Данная технология встроена и включена по умолчанию во все современные браузеры: Mozilla Firefox, Google Chrome, Chromium и Opera.
Чем опасен WebRTC?
Почему включенная функция WebRTC опасна? Потому что P2P во время обмена информации запрашивает реальный IP-адрес пользователя, а WebRTC эту информацию любезно предоставляет всем желающим. Даже в том случае, если пользователь работает через с помощью этой чудо технологии злоумышленник без особого труда сможет узнать IP-адрес пользователя. А используя уязвимости сможет , ваш реальный IP конечно-же.
Как проверить включенный WebRTC?
Для проверки браузера необходимо зайти на эти сайты:
Следующий скрин говорит о том, что в вашем браузере включена функция WebRTC. Кроме этого, сайт предоставляет и другую интересную информацию.
Как отключить WebRTC?
Из всех современных браузеров лучше всего поддается дрессировке Firefox. И в данном конкретном случае Firefox показал себя с лучшей стороны, давая возможность пользователю не используя сторонние дополнения, с помощью скрытых настроек отключить WebRTC.
Отключение WebRTC Firefox
Для отключения в браузере Firefox необходимо ввести в адресной строке команду about:config , после чего появится это сообщение.
Нажимаем на кнопку «Я обещаю…» и продолжаем дальше.
В окне настроек, в строке поиска (не в адресной строке!), как это показано на скрине ниже вводим команду media.peerconnection.enabled . Появится необходимая нам строка. Нажмем на нее правым шелчком мышки и в выпадающем меню выберем первый пункт «Переключить «.
После переключения в поле «Значение» вы должные увидеть параметр «False «. Теперь закрываем это окно и перегружаем браузер.
Еще один способ, это установить специальное расширение Disable WebRTC . Но я предпочитаю и вам советую выполнить эту операцию самим. Не люблю устанавливать программы на компьютер тем-более в браузер.
Есть еще более простой способ — скачать утилиту ConfigFox, которая кроме данной операции может значительно улучшить конфиденциальность и анонимность браузера Firefox. Об этой программе мы писали в статье « «. Я очень рекомендую использовать данную утилиту всем пользователям браузера Mozilla Firefox. Программа не устанавливает себя в браузер, а просто позволяет изменять файл настроек.
Отключение WebRTC Chrome
В браузере Google Chrome все немного сложнее. В Хроме нет возможности отключить данную функцию в самом браузере. Для этого необходимо скачать специальное дополнение, называется оно WebRTC Block. Скачать и установить дополнение вы можете по этой прямой ссылке. Мы не тестировали данное расширение и гарантий дать никаких не можем.
Также существует дополнение ScriptSafe , которое тоже может помочь в решении данной проблемы. На мой взгляд это лучший способ решить проблему WebRTC в Хроме.
С этим расширением неопытному пользователю будет сложнее, но если вы из продвинутых, то очень советую в нем поковыряться.
Если вам известны другие способы решения данной проблемы в браузере Хром, напишите в комментариях.
Отключение WebRTC Opera / Яндекс Браузер
Для браузера Opera есть несколько плагинов: WebRTC Leak Prevent и WebRTC Control . Лично не проверял пробуйте и пишите, что помогло, а что нет.
В заключение хочу сказать, что на данный момент не существует надежного сто процентного способа отключить WebRTC в Chromium браузерах таких как: Chrome, Yandex, Opera и т.д. Поэтому я советуют всем, кто использует VPN и кому важна анонимность, временно прекратить пользоваться этими браузерами. Я думаю в скором будущем, эта дыра будет закрыта и вы сможете вернутся к ним. А пока можете временно переехать на Firefox.
На этом все. В следующих статьях будем говорить об анонимности и надежности VPN и публичных Proxy. Будет весело, будем ломать стереотипы. Вам это понравится;)!