Skype открывает SkypeKit SDK для разработчиков приложений, что даст возможность создавать свои приложения, совместимые со Skype. Это даст импульс к появлению альтернативных клиентов, но сначала необходимо изучить какие все-таки возможности будут доступны в SDK. Flash-версия Skype может быть даже ближе, чем мы думали!
После добавления поддержки UDP-протокола RTMFP и аудио кодека Speex в версии 10 уже можно было считать Flash-плеер вполне приемлемым клиентом для IP-телефонии. Но, несмотря на новые возможности, соединить 2х клиентов по P2P было во многих случаях невозможным (NAT/firewall), поэтому необходимо было откатываться на relay данных через сервер. В новом Flash player 10.1 эта проблема решена благодаря использованию RTMFP groups. Теперь пиры из одной RTMFP-группы могут передавать через себя данные других пиров из этой же группы, если P2P-соединение между последними невозможно. Такая возможность позволяет создавать P2P-сети наподобие той, что используется в Skype, сервера необходимы только для сигнализации и подключения пиров в разные группы в зависимости от ситуации. Это позволяет создать множество новых сервисов. Осталось добавить подавление эхо, а также более совершенный видео кодек для сжатия картинки с веб-камеры (например, h.264), чтобы создание веб-аналога Skype стало реальностью
Мы потратили немного времени, тестируя Speex AEC, портированный в SWC через Alchemy и можем опубликовать некоторые результаты:
Speex AEC работает хорошо, но во флэше его использовать почти нереально, из-за асинхронной природы вызовов SampleDataEvent. Несмотря на то, что в некоторых тестах он работал, в реальной жизни этого не получится из-за больших задержек и разных промежутков времени между вызовами SampleDataEvent.
Новые возможности flash player 10/10.1 по работе с аудио - запись и воспроизведение SampleData подходят только для не реалтайм приложений
Невозможно получить данные из RTMP audio stream или записать их в RTMP audio stream после изменений (наложения фильтров AEC)
Даже имея доступ к сэмплам на уровне AS, невозможно сделать client-side AEC для Flash. Остается 2 варианта: ждать пока Adobe добавит AEC во flash (наилучшее решение проблемы, но непонятно когда это случится: Jobs прав, Адоби - ленивые ребята), использовать server-side AEC (сложное решение, не подходит для P2P возможностей Flash Player)
Несмотря на то, что Adobe заявили о работах над подавлением эхо в самом Flash Player и желании добавить поддержку в следующем релизе после 10.1, мы занялись решением этой пробемы уже сейчас. Flash Player 10.1 позволяет получить доступ к сэмплам микрофона и сэмплам проигрывания, что делает возможным использование AEC. Есть много проблем, таких как проигрыванием плеером только в режиме 44KHz, асинхронный вызов событий,в которых можно получить данные, но наши первые тесты показывают, что в итоге AEC все-таки работает. Будье готовы отдать 40-50% CPU под работу подавления эхо, но для большинства пользователей - это не проблема.
Возможно, вы знаете, что во flash player до сих пор нет функции подавления эхо (AEC), что делает использование сервисов для общения затруднительным без использования гарнитуры. После длительного молчания Adobe, наконец, прокомментировали эту проблему и пообещали решить ее в следующем после 10.1 релизе.
Наш продукт Zingaya Media Server позволяет создавать Flash VoIP приложения, совместимые с SIP протоколом. Мы выяснили, что многие современные CRM системы работают прямо в интернет-браузере и было бы здорово совместить CRM и VoIP прямо в окне браузера, это очень удобно, представьте - вы просто нажимаете на телефонный номер клиента в CRM и Flash VoIP модуль инициирует звонок (Skype out работает подобным образом) или к вам приходит входящий звонок и flash модуль открывает нужную страницу CRM с данными звонящего клиента. Наш сервер может быть настроен на работу с корпоративной SIP АТС или колл-центром, или с каким-нибудь SIP провайдером. Сейчас мы работаем над модулем для SugarCRM (см. скриншот) , одной из самых популярных opensource CRM, работающих прямо в интернет-браузере, позже посмотрим, что можно сделать с Salesforce и другими.
Google делает очень хорошие интернет-приложения и для того, чтобы пользователям было комфортно с ними работать, выпустил обычное приложение Так как наш сервис работает с использованием Flash, нам было интересно, что будет с flash в Chrome. Оказалось всё очень просто - Chrome использует flash-плагин, который используют Firefox, Opera и другие браузеры, что, вобщем, логично. Другим большим плюсом Chrome является его СКОРОСТЬ. Chrome очень быстро работает. Раньше я думал, что Opera быстрее всех, но теперь царь горы Chrome Даже если вы не собираетесь использовать Chrome в дальнейшем, советую все равно поставить его и ознакомиться, оно того стоит.
Продолжая работу над flashphone2, мы решили сделать апдейт текущей версии сервиса, чтобы появилась поддержка видео звонков. Видеозвонки будут доступны, как при звонках пользователя пользователю (flash2flash), так и при звонках по SIP (flash2SIP), для звонков по SIP будет использоваться кодек H.263. В настоящий момент не будет доступно никаких особенных видеонастроек, реализация будет очень близка к X-lite, посмотреть можно на следующих скриншотах:
Как мы уже раньше писали, flash плеер пока не поддерживает AEC и даже в последней бета-версии 10го flash плеера никаких следов AEC обнаружить не удалось. Это означает, что для использования сервисов ip-телефонии на flash необходима гарнитура (или наушники), чтобы звук из колонок не попадал обратно в микрофон, но, если Adobe встроит AEC во flash-плеер, об этой проблеме можно будет забыть. Поддержка AEC - очень большой плюс для создания VoIP сервисов на базе flash технологии. Давайте проголосуем за поддержку AEC в релизной версии Flash player 10! Чтобы проголосовать используем следующий линк: http://bugs.adobe.com/jira/browse/FP-273 , но для начала нужно зарегистрироваться в системе: http://bugs.adobe.com/jira/secure/Signup!default.jspa
Мы рады сообщить, что теперь наша платформа поддерживает flash-SIP и SIP-flash видео звонки, также как и flash-flash (flash-flash - это не новость для мира веб приложений). Теперь Zingaya Media Server поддерживает видео звонки на SIP софт и хардфоны, поддерживающие кодек H.263. Мы планируем включить поддержку видео звонков между пользователями и на внешние SIP софт/хардфоны во Flashphone 2. Только представьте себе, видео звонки без установки каких-либо приложений и моря непонятных настроек.
Парочка скриншотов - видео звонок из x-lite в наше тестовое flash-приложение и обратно:
P.S. У меня только одна веб-камера и я еще не успел скачать эмулятор веб-камеры , чтобы показать вам звонок с видео в оба направления.