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 Common C ++, яка забезпечує високу продуктивність, гнучкі і розгортаються відповідні стандартам RTP стек з повною підтримкою RTCP. Розробка та впровадження ccRTP зробити його придатним для високопродуктивних серверів і шлюзів потужності, а також особистих клієнтських додатків.
При проектуванні ccRTP, ми взяли до уваги, що RTP був визначений як протокол рамках прикладного рівня, а не типовий Інтернет транспортного протоколу, таких як TCP і UDP. Таким чином, RTP майже не реалізований як шар відокремлений від програми.
Отже, додатки RTP часто доводиться налаштовувати адаптуються RTP макет і обробки пакетів правила, тимчасові обмеження, правила членства сесії, а також інші механізми RTP і RTCP. ccRTP покликана забезпечити основу для рамок RTP, замість того, щоб просто бібліотека маніпуляції пакет RTP.
Підтримка аудіо і відео даних, також вважається в дизайні ccRTP, що можна зробити частковий кадр розбивається / Re-збірки. Одноадресна, однопотокові та групові транспортні моделі підтримуються, а також декілька активних джерел синхронізації, кілька сесій RTP (SSRC простору), а також кілька додатків RTP (CNAME простору). Це дозволяє використовувати його для побудови всіх форм інтернет-стандартів на основі аудіо- та візуальні системи для проведення відеоконференцій.
GNU ccRTP є потокобезпечна і висока продуктивність. Він використовує списки черг пакетів для прийому і передачі пакетів даних. Обидва Inter-медіа і синхронізації всередині медіа визначається автоматично обробляються протягом вхідних і вихідних черг пакетів. GNU ccRTP пропонує підтримку для RTCP і багато інших стандартні і розширені функції, необхідні для обох сумісних і передових потокових додатків.
Це можна змішувати різні типи корисного навантаження в потоці, і, отже, можуть бути використані для impliment RFC 2833 додатків, сумісних сигналізації, а також інші спеціалізовані речі. GNU ccRTP також пропонує прямий RTP і RTCP фільтрації пакетів.
GNU ccRTP використовує шаблони, щоб ізолювати залежності потокової і розетки, пов'язані, так що він може бути використаний для impliment реальному часі потокове з різними моделями многопоточности та основних транспортних протоколів, а не тільки з сокетами UDP IPv4 ,. Для більш детального списку функцій 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 .:
#include     Класи для басейнів сервісних потоків RTP.
#include
    Класи для розширення RTP, які ще не дозріли.
Ви також повинні зв'язати в бібліотеці, в даний час ccrtp1

Особливості : ..

  • Висока розширюваної спеціалізованих стеків
  • Підтримує одноадресних, однопотокові і Multicast. Ручки кілька джерел (у тому числі джерел синхронізації і сприяють джерел) і напрямків. Також підтримує симетричний RTP.
  • функції автоматичного RTCP обробки, такі як асоціації джерел синхронізації від того ж учасника або NTP-RTP відображення мітки часу.
  • генеричних за що лежать в основі мережевих і транспортних протоколів через шаблони.
  • Це потокобезпечна і підтримує практично будь-якої моделі многопоточности.
  • Загальні і розширювані перевірки достовірності заголовків RTP і RTCP.
  • Ручки джерела держав та інформації, а також записи статистики.
  • Автоматично обробляє SSRC зіткнень і виконує виявлення петлі.
  • Здійснює таймера перегляду і зворотного перегляду.
  • Забезпечує гарні випадкові числа, засновані на / DEV / urandom або, як альтернатива, на MD5.

Що нового У цьому випуску:

  • код очистки, виправлення для RTP Інформація відправника, і злиття патчі Debian вгору за течією.

Інші програми розробника David Sugar

GNU SIP Witch
GNU SIP Witch

17 Feb 15

Common C++ RTP

Коментар не знайдено
додати коментар
Включіть картинки!