Flash Player 10.1 и IP-телефония

Пятница, Апрель 16th, 2010

После добавления поддержки UDP-протокола RTMFP и аудио кодека Speex в версии 10 уже можно было считать Flash-плеер вполне приемлемым клиентом для IP-телефонии. Но, несмотря на новые возможности, соединить 2х клиентов по P2P было во многих случаях невозможным (NAT/firewall), поэтому необходимо было откатываться на relay данных через сервер. В новом Flash player 10.1 эта проблема решена благодаря использованию RTMFP groups. Теперь пиры из одной RTMFP-группы могут передавать через себя данные других пиров из этой же группы, если P2P-соединение между последними невозможно. Такая возможность позволяет создавать P2P-сети наподобие той, что используется в Skype, сервера необходимы только для сигнализации и подключения пиров в разные группы в зависимости от ситуации. Это позволяет создать множество новых сервисов. Осталось добавить подавление эхо, а также более совершенный видео кодек для сжатия картинки с веб-камеры (например, h.264), чтобы создание веб-аналога Skype стало реальностью

Tags:, , , , , ,

Тестирование эхоподавления. Часть 2.

Четверг, Март 25th, 2010

Мы потратили немного времени, тестируя 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)

Tags:, , , , ,

Первые удачные тесты подваления эхо.

Понедельник, Март 8th, 2010

Несмотря на то, что Adobe заявили о работах над подавлением эхо в самом Flash Player и желании добавить поддержку в следующем релизе после 10.1, мы занялись решением этой пробемы уже сейчас. Flash Player 10.1 позволяет получить доступ к сэмплам микрофона и сэмплам проигрывания, что делает возможным использование AEC. Есть много проблем, таких как проигрыванием плеером только в режиме  44KHz, асинхронный вызов событий,в которых можно получить данные, но наши первые тесты показывают, что в итоге AEC все-таки работает. Будье готовы отдать 40-50% CPU под работу подавления эхо, но для большинства пользователей - это не проблема.

Tags:, , , ,