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

Комментарии не найдены
добавить комментарий
Включите картинки!