Тестирование эхоподавления. Часть 2.
Мы потратили немного времени, тестируя 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:10.1, AEC, acoustic echo cancellation, flash, player, sample
Save to Browser Favorites
BlogMarks
Blogsvine
Friendsite
Email This to a Friend
If you like this then please subscribe to the ![[Email]](http://blog.flaphone.com/wp-content/plugins/bookmarkify/email.gif)
25.03.2010 9:55 at
great research. to bad your results are so disappointing. let’s see if adobe will finally bring AEC in flash player 10.2…
29.03.2010 5:36 at
Sounds it is a bad news, anyway thanks for your research for AEC.
New flash player 10/10.1 audio features - playing audio samples and accessing audio samples from microphone will work only for non-realtime applications
—Do you mean if I use RTMP to transfer audio data then I can NOT get the audio samples from soundcard and microphone ?
29.03.2010 9:21 at
Yes, you neither can get samples from RTMP audio stream, nor can put samples from microphone to RTMP audio stream. You can only pass it as RTMP data, but this is handled by Flash Player in other way and produces additional problems for realtime.
02.04.2010 12:04 at
great research. to bad your results are so disappointing.
06.04.2010 5:23 at
Duh! thanks for wasting my time
14.04.2010 6:08 at
Thanks for the research…
Currently we are trying another approach, the main idea is to create virtual microphone driver, which is written using c++ and privides Speex AEC, and the flash application will always try to use this virtual microhpone first. The down side is that user has to install another plugin and it’s not cross platform. Will let everyone know if this approach success when the result comes.
Anyway, the best solution still is adobe provide AEC inside flash player, after all, it’s their responsibility, so everyone please keep voting for the AEC feature.
08.05.2010 1:34 at
hola
09.08.2010 10:32 at
oh man, I can not tell you how much of a bummer it is that AEC isn’t really possible without Adobe getting on the stick. Adobe, if you are listening, you should be able to hear the clock ticking of some other tech (HTML5, java, desktop) coming to eat your lunch. You are honestly on the verge of losing an entire generation of coders who are trying to build usable p2p video communication systems in the browser. PLEASE don’t blow it, make AEC possible asap, like NOW.