Гласова комуникация един на един

В тази статия ще говоря какви методи съществуват за внедряване на гласова комуникация зауеб проекти. Статията има обзорен характер и е насочена към най-широк кръг читатели. Въпреки това, всеки ще намери всички необходими връзки, за да задълбочи същността на проблема.

Като начало си струва да разберем какви технологии са на наше разположение. За да бъдем реалисти, всъщност единствената възможност е да използвате Flash. Да, има и други технологии, но, за съжаление, всички те са много по-рядко срещани. Докато почти всеки има инсталиран Flash.

  • Нов RTMFP P2P протокол, внедрен във Flash Player 10.Предимства: базиран на UDP протокол, добро качество на връзката, без натоварване на сървъра.Недостатъци: Лоша защитна стена и NAT проникване (около 60% от потребителите), изисква Flash Player 10.
  • Оптималното решение за днес: динамично определяне на възможността за използване на P2P протокола; използвайте го, ако е възможно, в противен случай използвайте първата опция. Също така се надяваме, че в близко бъдеще Flash сървърите ще позволят използването на UDP протокола за комуникация с клиентски приложения. В този случай много от недостатъците на първото решение ще изчезнат. Нека ви напомня, че TCP протоколът гарантира доставката на данни, докато UDP не. Гласовият трафик в реално време не изисква точност на данните, той изисква гарантирано време за доставка и устойчивост на периодични откази на канала за предаване. Ето защо UDP протоколът е предпочитан в този случай.

    Нека да преминем към по-конкретни неща.

    Гласова комуникация един на един

    От гледна точка на разработчика, двата варианта за реализиране на аудио предаване (с и без препредаване през сървъра) не се различават много. И в двата случая външенсървър. В случай на P2P обаче сървърът изпълнява само спомагателна роля при установяване на връзка. Целият гласов трафик преминава директно от клиент на клиент. Сървърът за установяване на P2P връзка се нарича Stratus. Скоро неговата функционалност ще бъде вградена във Flash Media Server (и, очевидно, Red5). В момента единствената възможност е да използвате публичната бета услуга на Adobe.

    При използване на релейен сървър задачата е стандартна за Flash средата. Какво е в този случай, какво е в случая на P2P, основната идея е, че всеки от събеседницитепубликува изходящия аудио поток исе абонира за входящия. Данните се предават с помощта на протокола RTMP (RTMFP, в случай на P2P).

    Организация на конференцията

    При организирането на конференции практически нищо не се променя. Само сега всички участници в конференцията се абонират за аудиопотока на всеки потребител наведнъж. Отново внедряването е възможно както през сървъра, така и чрез P2P. Но в този случай вероятността P2P да не функционира е по-висока поради простата причина, че вече няма двама участници в обмена, а повече: няма да работи за някого.

    Работни примери