Common C++ RTP

Software captura de pantalla:
Common C++ RTP
Detalles de software:
Versión: 2.0.0
Fecha de carga: 11 May 15
Promotor: David Sugar
Licencia: Libre
Popularidad: 35

Rating: nan/5 (Total Votes: 0)

ccRTP GNU es una implementación del RTP, el protocolo de transporte en tiempo real de la IETF (ver RFC 3550, RFC 3551 y RFC 3555). ccRTP es una biblioteca de C ++ basado en GNU Common C ++ que proporciona un alto rendimiento, compatible con los estándares flexibles y extensibles RTP pila con soporte completo RTCP. El diseño e implementación de ccRTP lo hacen adecuado para servidores y gateways de alta capacidad, así como las aplicaciones cliente personales.
En el diseño de ccRTP, hemos tenido en cuenta que RTP se ha definido como un marco de protocolo de nivel de aplicación en lugar de un protocolo de transporte de Internet típica como TCP y UDP. Por lo tanto, RTP casi nunca se implementa como una capa separada de la aplicación.
En consecuencia, las aplicaciones RTP menudo deben personalizar el diseño de paquetes y procesamiento de reglas RTP adaptables, limitaciones de tiempo, las reglas de membresía sesión, así como otros mecanismos de RTP y RTCP. ccRTP tiene como objetivo proporcionar un marco para el marco de RTP, en lugar de ser sólo una biblioteca de manipulación de paquetes RTP.
Soporte para audio y datos de vídeo también se considera en el diseño de ccRTP, que puede hacerlo marco parcial divide / re-montaje. Unicast, modelos de transporte multicast multi-unicast y son compatibles, así como múltiples fuentes de sincronización activos, múltiples sesiones RTP (espacios SSRC), y múltiples aplicaciones RTP (espacios CNAME). Esto permite que se utilice para la construcción de todas las formas de estándares de Internet sistemas de conferencia de audio y visuales basados.
GNU ccRTP es multi-hilo y alto rendimiento. Utiliza listas de cola de paquetes para la recepción y transmisión de paquetes de datos. Tanto inter-medios de comunicación y la sincronización dentro de los medios de comunicación se maneja de forma automática dentro de las colas de paquetes entrantes y salientes. GNU ccRTP ofrece soporte para RTCP y muchas otras características estándar y extendidas que son necesarios tanto para aplicaciones de streaming compatibles y avanzados.
Se puede mezclar varios tipos de carga útil en la corriente, y por lo tanto puede ser utilizado para impliment RFC 2833 aplicaciones de señalización compatibles, así como otras cosas especializadas. GNU ccRTP también ofrece RTP directa y el filtrado de paquetes RTCP.
GNU ccRTP utiliza plantillas para aislar las dependencias de roscado y enchufes relacionados, de manera que pueda ser utilizado para la transmisión en tiempo real impliment con diferentes modelos de roscado y protocolos de transporte subyacentes, no sólo con tomas IPV4 UDP. Para una lista más detallada de las características ccRTP puedes echar un vistazo a el manual de los programadores.
En su nivel más alto, ccRTP ofrece clases para el transporte en tiempo real de datos a través de sesiones RTP, así como las funciones de control de RTCP.
El concepto principal en la aplicación ccRTP de sesiones RTP es el uso de colas de paquetes para manejar la transmisión y recepción de paquetes de datos RTP / unidades de datos de aplicación. En ccRTP, un bloque de datos se transmite por ponerlo en la transmisión (paquetes salientes) de cola, y recibida por la reciba de la recepción (paquetes entrantes) cola.
Hay varios niveles de interfaz (interfaz pública, patrimonio público o protegido, etc) en ccRTP. Por ejemplo, el programa de demostración rtphello distribuido con ccRTP sólo utiliza la interfaz pública de la clase RTPSession y no redefine el método virtual onGotSR, por lo tanto lo que este programa sabe de informes SR es la información transmitida en el último informe del remitente de cualquier fuente, que puede ser recuperada a través del método de la clase getMRSenderInfo SyncSource.
Por el contrario, el programa de demostración rtplisten redefine onGotSR por medio de la herencia y podía hacer procesamiento especializado de estos paquetes RTCP. En general, tanto los datos como los paquetes de control no son accesibles directamente a través de la interfaz más externa.
Todas estas funciones se realizan a través de algunas clases esenciales y tipos. Los más básicos son el tipo StaticPayloadType enumerado, y el StaticPayloadFormat clases y DynamicPayloadFormat.
Las más importantes son las clases RTPSession, SyncSource, participantes y AppDataUnit, que representan sesiones RTP, fuentes de sincronización, los participantes en una aplicación RTP, y las unidades de datos de aplicación transmitidos en paquetes de datos RTP, respectivamente.
Al usar ccRTP, envío y recepción de los datos transportados por sesiones RTP se realiza a través de recepción y transmisión colas que maneja la pila RTP. En el caso más común, un hilo de ejecución independiente para cada sesión RTP maneja las colas. Este caso es el modelo de subprocesos que por lo general vamos a suponer lo largo de este documento. Tenga en cuenta sin embargo, que ccRTP soporta otros modelos de roscado, particularmente ccRTP apoya el uso de un solo hilo de ejecución para cumplir una serie de sesiones RTP. También es posible no asociar cualquier hilo separado con cualquier sesión RTP, llamando manualmente los principales métodos de datos y de servicios de control de lo que el otro hilo.
La idea básica para la recepción de paquetes con ccRTP es que la aplicación no lee directamente los paquetes de sockets pero los sufran de una cola de recepción. La pila es responsable de la inserción de paquetes recibidos en la cola de recepción y manipulación de esta cola. En general, una recepción de paquetes y la inserción en la cola de recepción no se produce al mismo tiempo la aplicación obtiene de la cola.
Por el contrario, la idea básica para la transmisión de paquetes con ccRTP es que los paquetes no están directamente escriben en sockets pero insertados en una cola de transmisión manejado por la pila. En general, la inserción de paquetes y la transmisión se producen en diferentes tiempos, aunque no es necesario.
Para utilizar ccRTP, debe incluir la cabecera principal (#include Dos cabeceras adicionales son proporcionados por ccRTP.:
#include     Las clases para grupos de hilos de servicio RTP.
#include
    Clases para extensiones RTP que no están maduros todavía.
También debe vincular en la biblioteca, en la actualidad ccrtp1

Características :..

  • altamente extensible para pilas especializadas
  • · Soporta Unicast, multi-unicast y multicast. Maneja múltiples fuentes (incluyendo fuentes de sincronización y las fuentes que contribuyen) y destinos. También apoya simétrica RTP.
  • funciones RTCP automático de manipulación, como la asociación de fuentes de sincronización de un mismo participante o mapeo de marca de hora NTP-RTP.
  • Genericidad como para la red de transporte y los protocolos subyacentes a través de plantillas.
  • Es multi-hilo y es compatible con casi cualquier modelo de subprocesos.
  • RTP y RTCP controles genéricos y extensibles cabecera de validez.
  • Tiradores estados de origen y la información, así como la grabación de estadísticas.
  • maneja automáticamente las colisiones de SSRC y lleva a cabo la detección de bucle.
  • Implementa reconsideración temporizador y reconsideración inversa.
  • Proporciona buenos números aleatorios, con base en / dev / urandom o, alternativamente, en MD5.

¿Cuál es nuevo en esta versión:

  • Limpieza de código, correcciones de errores para RTP información del remitente, y la fusión de parches de Debian aguas arriba.

Otro software de desarrollador David Sugar

GNU SIP Witch
GNU SIP Witch

17 Feb 15

Comentarios a la Common C++ RTP

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!