В конце ноября, а именно с 19 по 21, в Калифорнии (Santa Clara) прошла очередная конференция WebRTC Expo. В этот раз состав участников пополнился рядом новых имен, а мы (в лице компании Zingaya) выступили одним из ее спонсоров. По словам организаторов в этот раз количество участников достигло 1000 человек, или если считать в компаниях — 294 компании, включая Google, Cisco, Mozilla, Avaya, Ericsson и др. Мы подготовили небольшой отчет, включающий в себя информацию как в целом про конференцию, так и конкретно про нашу платформу VoxImplant и ее новые возможности, которые мы демонстрировали на сцене.
В этот раз демонстрации были уже гораздо сложнее и интереснее чем год назад, были видно что компании более основательно готовились к мероприятию и вообще стали сильно больше времени и сил тратить на поддержку WebRTC в своих продуктах и сервисах, что не может не радовать. К тому же ряды браузеров, поддерживающих WebRTC, пополнились мобильными Chrome и Firefox, а также desktop-версией Opera 18. Под катом фото, видео и другие подробности с конференции и из мира WebRTC.
MTI (Mandatory to implement) video codec
Одной из проблем, которую так пока и не смогла решить рабочая группа WebRTC, является обязательный видео-кодек для WebRTC. С самого начала при обсуждении этого вопроса возникли 2 лагеря — одни поддерживают на роль главного видео-кодека в WebRTC VP8(в будущем VP9) их возглавляет Google, другие — H.264 (в будущем H.265) (надо отметить что количество сторонников данного кодека не особо меньше чем у VP8 и к ним относятся Microsoft, Apple, Cisco и многие другие). Как бывает в таких случаях, у каждого есть свои доводы почему их вариант лучше. Непосредственно перед последним заседанием IETF на эту тему масла в огонь подлили ребята из Cisco со своей инициативой Open H.264. Если совсем коротко, то суть ее в следующем — Cisco выпускает на рынок некий бинарник с энкодером/декодером H.264, за который они уже заплатили все роялти и каждый желающий может этот бинарник встраивать в свой продукт, при этом не придется ничего платить MPEG-LA. Если же бинарник вас по каким-то причинам не устроит, то велкам копаться в его открытом исходном коде, но при этом лицензия Cisco уже не сработает — придется идти на поклон к MPEG-LA, чтобы получить лицензию на использование вашего творения. Так как WebRTC движок для Firefox делает по сути Cisco, то товарищи из Mozilla заявили, что они, мол, не против поддерживать сразу оба видео-кодека. Но Google такая перспектива не очень понравилась и в итоге на заседании IETF опять не смогли прийти к какому-либо решению данного вопроса. Поэтому транскодинг наше все, или не транскодинг а кое-что похитрее, но об этом далее по тексту.
Новые функции VoxImplant
Отладчик
В конце сентября мы запустили облачную платформу для разработчиков сервисов real-time коммуникаций, которая позволяет веб и мобильным разработчикам легко встраивать телефонию (и не только) в существующие и разрабатываемые приложения. Одной из отличительных особенностей платформы является возможность писать серверные сценарии обработки звонков на Javascript, благодаря этим же сценариям очень удобно интегрироваться с существующим бэкендом, так как из сценария можно сделать HTTP-запрос или, наоборот, сделать HTTP-запрос к сценарию. Мы получили много позитивных отзывов про данную архитектуру (ведь по сути любой frontend JS разработчик может писать себе развесистые серверные сценарии для управления вызовами, не говоря уж о разработчиках знакомых с Node.js), но решили не останавливаться на достигнутом. Чем обычно занимаются разработчики после того как написали какой-нибудь код? Правильно, тестами и отладкой. Ни одна из платформ, похожая по функциям на VoxImplant (по крайней мере из тех с которыми мы знакомы) не предлагает нормальных инструментов для отладки, отчасти это вызвано их архитектурой где вам предлагают REST API, за которым скрывается черный ящик. Немного поразмышляв на тему как разработчики привыкли отлаживать свои Javascript-приложения в браузере, мы приступили к созданию удаленного отладчика серверных сценариев и успели все доделать как раз к выставке.
На изображении вы видите интерфейс отладчика VoxImplant, который позволяет оперативно находить проблемы и ошибки в ваших скриптах, отлаживая их на лету прямо во время звонка. Все очень похоже на Chrome Developer Tools или Firebug, поэтому веб-разработчикам не составит труда в нем разобраться. Чтобы отлаживать конкретно ваш тестовый звонок, а не кого-то еще, кто звонит через ваше приложение, можно использовать фильтры при запуске дебагера — или по номеру телефона или по IP-адресу.
Мобильное SDK (iOS)
Ни для кого не секрет, что мобилизация мира продолжается ударными темпами и мы не собираемся игнорировать данный тренд. Первым делом мы выпустили мобильное SDK для iOS, правда забыв про поддержку фонового режима для приема звонков :) но проблему оперативно исправили и каждый желающий может начать пользоваться нашим мобильным SDK в любой момент. Из планов на ближайшее будущее по мобильному SDK — поддержка видео звонков, а также дальнейшая оптимизация кодеков для улучшения качества при работе на «плохих» data-каналах.
Видео звонки
В настоящий момент данный функционал доступен в Web SDK при работе SDK во Flash-режиме, поддержка видео-звонков в WebRTC режиме почти готова, но остались несколько вещей, которые необходимо доделать, можно ожидать что все будет окончательно готово после НГ. Не забываем, что видео звонки через VoxImplant можно совершать не только между нашими SDK, но из на SIP. В целом, окончательно разобраться со всеми нюансами планируем ближе ко второму кварталу 2014.
Одним из интересных моментов нашего выступления на WebRTC Expo была демонстрация звонка из WebRTC (кодек VP8) в SIP (кодек H.264) без полного транскодинга. Концепция заключается в том, что видео-кодеки можно конвертировать на лету, не расжимая все до обычной картинки и сжимая обратно (как это делает, например, FFMPEG). Таким образом можно существенно улучшить производительность решения (в несколько раз), уменьшить задержку и почти не терять качество.
Пока решение находится на уровне прототипа и еще много работы впереди, но с учетом неопределенности в рабочей группе WebRTC по поводу обязательного видео-кодека, оно сильно заинтересовало все коммьюнити.
Полное видео нашего выступления можно посмотреть ниже
Ссылка для просмотра демонстрации с другого ракурса
Ссылка на все видео с конференции
В дополнение для любителей фотографий выкладываю еще несколько фоток с выставки
Наш стенд :) в процессе подготовки
Мы были одним из спонсоров конференции, поэтому печеньки и все такое
Девушка помогала донести до людей суть нашего продукта, раздавая one pager и беседуя с посетителями
P.S. Всем спасибо за внимание! Будем рады ответить на вопросы про выставку, WebRTC и VoxImplant.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Считаете ли вы данный пост интересным?
60.32% Да38
11.11% Нет7
33.33% Не очень21
Проголосовали 63 пользователя. Воздержались 17 пользователей.