Common C++ RTP

Софтуер снимки:
Common C++ RTP
Софтуер детайли:
Версия: 2.0.0
Дата на качване: 11 May 15
Розробник: David Sugar
Разрешително: Безплатно
Популярност: 35

Rating: nan/5 (Total Votes: 0)

GNU ccRTP е реализация на RTP, транспортния протокол, в реално време от IETF (виж RFC 3550, RFC 3551 и RFC 3555). ccRTP е C ++ библиотека на базата на GNU Общата C ++, която осигурява висока производителност, гъвкави и разширяеми отговарят на стандартите, RTP стека с пълна поддръжка RTCP. Проектирането и изпълнението на ccRTP го правят подходящ за високи сървъри капацитет и шлюзове, както и лични клиентски приложения.
При проектирането ccRTP, ние сме взели под внимание, че RTP е била определена като рамка протокол ниво приложение, отколкото типичен Internet транспортен протокол като TCP и UDP. По този начин, RTP се осъществява едва някога като слой се отделя от прилагането.
Следователно, RTP приложения често трябва да персонализирате приспособими RTP оформление и обработка на пакети правилата, времето ограничения, правила за членство на сесията, както и други механизми на RTP и RTCP. ccRTP има за цел да осигури рамка за рамката RTP, а не е просто един RTP манипулация пакет библиотека.
Подкрепа за аудио, така и видео данни също се взема предвид при проектирането на ccRTP, който може да направи частична конструкция разделя / повторно сглобяване. Unicast, мулти-едноадресни и мултикаст транспортни модели се поддържат, както и множество източници на активни синхронизация, множество RTP сесии (SSRC интервали), и множество RTP приложения (CNAME пространства). Това позволява да го използваме за изграждане на всички форми на интернет стандартите, основани на аудио и визуални системи конферентна връзка.
GNU ccRTP е за нишки и висока производителност. Тя използва пакетни списъци на чакащите документи за приемане и предаване на пакети данни. И двете междублокови медии и вътре в медиите синхронизация автоматично се обработват в рамките на входящите и изходящите пакети опашки. GNU ccRTP предлага подкрепа за RTCP и много други стандартни и разширени функции, които са необходими за двете съвместими и усъвършенствани стрийминг приложения.
Тя може да се смесват много видове полезен товар в поток, и следователно може да се използва за impliment RFC 2833 съвместими приложения сигнализация, както и други специализирани неща. GNU ccRTP също предлага директен RTP и RTCP филтриране на пакети.
GNU ccRTP използва шаблони, за да изолират резби и контакти, свързани зависимости, така че да може да се използва за impliment реално време стрийминг с различни модели резби и залегналите транспортни протоколи, а не само с IPV4 UDP гнезда. За по-подробен списък на ccRTP функции можете да погледнете в ръководството за програмисти.
На най-високото си ниво, ccRTP предоставя класове за реално време транспортирането на данни чрез RTP сесии, както и на контролните функции на RTCP.
Основната концепция в изпълнението на ccRTP на RTP сесии е използването на пакети опашки, за да се справят с предаване и приемане на RTP пакети данни / дялове на данни на приложението. В ccRTP, блок данни се предават от пускането му в (изпращаните пакети) опашка на предаването, и която тя е получила удар от рецепцията (входящи пакети) опашка.
Има няколко нива на интерфейс (публичен интерфейс, публичен или защитено наследство, и т.н.) в ccRTP. Например, програмата за rtphello демо разпространява с ccRTP просто използва публичния интерфейс на класа RTPSession и не предефинира виртуален метод onGotSR, като по този начин това, което тази програма знае за SR отчети е информацията, предадена в последния доклад на подателя от всеки източник, който може да бъде възстановен чрез метода getMRSenderInfo на клас SyncSource.
Напротив, на rtplisten демо програмата предефинира onGotSR чрез наследяване и може да направи специализирана обработка на тези RTCP пакети. Като цяло, данните, така и контролни пакети не са пряко достъпни чрез най-външен интерфейс.
Всички тези функции се изпълняват през няколко основни класове и видове. Най-основните от тях са номерираните тип StaticPayloadType и StaticPayloadFormat класове и DynamicPayloadFormat.
Най-важните от тях са класовете RTPSession, SyncSource, участник и AppDataUnit, които представляват RTP сесии, източници за синхронизация, участници в заявление RTP и приложение за блокове данни, предадени в пакетите с данни на RTP, съответно.
При използване ccRTP, изпращане, така и получаването на данни, транспортирани през RTP сесии се осъществява чрез приемане и предаване опашки обработват от стека RTP. В най-общия случай, отделна нишка изпълнение за всяка сесия RTP дръжки опашките. Този случай е моделът на резби, че ние по принцип ще поеме в този документ. Имайте предвид обаче, че ccRTP поддържа и други модели на резби, особено ccRTP подкрепя използването на една единствена нишка изпълнение да служи набор от RTP сесии. Възможно е също така да не се асоциира всяка отделна нишка с всяка сесия RTP, ръчно обадите на основните данни и контрол на услуги методите от някакъв друг конец.
Основната идея за пакет рецепция с ccRTP е, че заявлението не директно прочетете пакети от гнезда, но ги получава от рецепция опашка. Топчето е отговорен за вмъкване получените пакети в приемната опашката и работа с този режим на изчакване. Като цяло, приемане пакет и вмъкване в приемната опашката не се среща в същото време прилагането става от опашката.
Обратно, основната идея за предаване на пакет с ccRTP е, че пакетите не са пряко написани гнезда но добавят в предаване опашка обработват от стека. Като цяло, пакет вмъкване и предаване настъпи по различно време, въпреки че не е необходимо.
За да използвате ccRTP, трябва да включите главния колектор (#include Две допълнителни хедъри са осигурени от ccRTP.:
# включват     Уроци за басейни на RTP теми услуги.
# включват
    Уроци за RTP разширения, които не са достигнали зрялост, все още.
Вие също трябва да се свържат в библиотеката, в момента ccrtp1

<силни> Характеристики :..

  • изключително разширяем до специализирани купчини
  • · Поддържа едноадресни, мулти-едноадресни и мултикаст. Дръжки множество източници (включително източници синхронизация и допринасящи източници) и дестинации. Също така поддържа симетрична RTP.
  • Automatic RTCP работа функции, като например сдружение на източници на синхронизирането от същия участника или NTP-RTP клеймото карти.
  • Genericity както за основната мрежова и транспортни протоколи чрез шаблони.
  • Това е за нишки и поддържа почти всеки резби модел.
  • Общи и разтегателни проверка на тяхната валидност удар с глава на RTP и RTCP.
  • Дръжки източник членки и информация, както и статистика за запис.
  • обработва автоматично SSRC сблъсъци и извършва откриването линия.
  • Изпълнява таймер преразглеждане и да се обърне преразглеждане.
  • Осигурява добри случайни числа, основани на / Dev / urandom или, алтернативно, на MD5.

Какво ново в тази версия:

  • Код почистване, фиксирани бъга за RTP подател информация и обединяване на Debian лепенки нагоре.

Друг софтуер на разработчика David Sugar

GNU SIP Witch
GNU SIP Witch

17 Feb 15

Коментари към Common C++ RTP

Коментари не е намерена
добавите коментар
Включете на изображения!