Pull to refresh

Что «под капотом» у видеозвонков Skype на Facebook

Reading time 3 min
Views 2.1K
Original author: Джонатан Розенберг, главный технологический стратег Skype, один из создателей протокола SIP - www.jdrosen.net
Вчера Facebook и Skype запустили видеозвонки в Facebook, которые позволят пользователям звонить и видеть друг друга прямо на facebook.com. Мы в Skype очень довольны этим продуктом. Мы полагаем, что пользователям понравится его простота в использовании. Он сочетает в себе качество и масштаб видеозвонков Skype с социальным взаимодействием Facebook таким образом, что это дает на наш взгляд очень мощную комбинацию.

Без сомнения, технарям всего мира интересно знать, как мы это сделали. Как мы интегрировали Skype в Facebook? Сможет ли это решение масштабироваться? Используется ли клиент Skype?


Все начинается на facebook.com. Просматривая страницу профиля или находясь в чате, пользователи увидят кнопки, которые позволят им начать видеообщение со своими друзьями. Эти кнопки отображаются как часть веб-страницы Facebook. Когда пользователь нажимает на кнопку «Звонить», страница проверяет наличие плагина для видеозвонков Skype, который представляет собой оптимизированную версию “настольной” программы Skype и обеспечивает возможность осуществления видеовызовов. Если Skype плагина не найдено, пользователю будет предложено установить его. Серверы Facebook взаимодействуют с технологией Skype через наши собственные REST API, который мы разработали для этого. С помощью этого API Facebook автоматически создает анонимную учетную запись Skype для звонящего впервые (или принимающего вызов) “абонента”. Наш REST API также позволяет серверам Facebook получить учетные данные для входа пользователя в Skype, используя анонимную учетную запись.

Плагин по сути является миниатюрной версией Skype-клиента. Мы оптимизировали Skype-клиент для Facebook, удалив большую часть пользовательского интерфейса и многие функции, которые не нужны для приложения Facebook (например, обмен мгновенными сообщениями в Skype). Наш плагин состоит из двух частей. Первая – это среда выполнения (runtime), которая является миниатюрным автономным клиентом Skype, а вторая – собственно плагин для браузера. Среда выполнения предоставляет несколько простых API через механизм RPC, а плагин для браузера обеспечивает этим API через JavaScript доступ к facebook.com. Несмотря на компактный размер и упрощенный пользовательский интерфейс, среда выполнения является настоящим Skype во всем, что имеет значение в данном случае. В ней есть все, что делает Skype таким классным: наша P2P технология, наш протокол обхода брандмауэров и NAT, наши видео и аудио кодеки, наш движок обработки медиа – все на месте.

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

Пользовательский интерфейс, который вы видите в самом видеозвонке реализуется средой выполнения Skype. Это видео того же качества, чтоможно ожидать от обычного видеозвонка по Skype, так как это и есть обычный видеозвонок по Skype. Просто он осуществляется из Facebook, и использует “тонкий” пользовательский интерфейс.

Одной из сложных задач для Skype в обеспечении этой функции было масштабирование. Хотя Skype и использует P2P технологию, чтобы помочь в масштабировании, мы по-прежнему полагаемся на серверную инфраструктуру для некоторых элементов нашего технического решения. Для обработки этой нагрузки Skype значительно увеличил объем серверных мощностей и добавил полосы пропускания во всех наших центрах обработки данных. Непосредственно голосовой и видео трафик использует глобальную P2P сеть Skype, что позволяет добиваться высокого качества без необходимости держать тысячи дорогостоящих серверов. Вместе с Facebook мы будем постепенно разворачивать эту новую функцию в течение следующих недель и внимательно следить за нагрузкой и качеством связи, по мере развертывания. Это означает, что некоторые из вас увидят кнопки видеозвонка на Facebook раньше, а другие позже. Если вы увидите такую кнопку, пожалуйста, смело кликните по ней – и вы сможете позвонить кому угодно в вашем списке друзей Facebook.

Мы считаем, что это удивительная технология. Мы объединили все, что делает Skype таким классным – наше качество связи, наши технологии P2P, наш масштаб – с социальной сетью номером один, и сделали это максимально гладким образом.

Мы надеемся, что вам тоже понравится!
Tags:
Hubs:
+40
Comments 40
Comments Comments 40

Articles