servidor formato streaming rtsp rtp live-streaming

streaming - formato - ¿Cuál es la diferencia entre RTP o RTSP en un servidor de transmisión?



streaming de video pdf (6)

Estoy pensando en desarrollar un servidor de transmisión y tengo la siguiente pregunta, sobre RTSP (ejemplo url: rtsp://192.168.0.184/myvideo.mpg ) o RTP (ejemplo url: rtp://192.168.0.184 ).

Como he entendido, un servidor RTSP se usa principalmente para la transmisión de archivos que ya existen, es decir, no en vivo. RTP servidor RTP se usa para transmitir.

Alguien me corrige si estoy equivocado, ¿estoy en lo cierto?

Lo que quiero es desarrollar un servidor para transmitir contenido en vivo en la pantalla de la computadora, es decir, que se muestra en el momento en que se transmite en streaming.


AFAIK, RTSP no transmite transmisiones, solo es un protocolo de control fuera de banda con funciones como PLAY y STOP.

Raw UDP o RTP sobre UDP son protocolos de transmisión para transmisiones como TCP sin procesar o HTTP a través de TCP.

Para poder transmitir un determinado programa a través del protocolo de transmisión dado, se debe definir un método de encapsulación para su formato de contenedor . Por ejemplo, el contenedor TS se puede transmitir a través de UDP pero Matroska no puede.

Sin embargo, casi todo se puede transportar a través de TCP.

(El hecho de que códec use también importa indirectamente, ya que restringe los formatos de contenedor que puede usar).


Algunos conceptos básicos:

El servidor RTSP se puede usar tanto para fuente muerta como para fuente en vivo. Los protocolos RTSP le proporcionan comandos (como su VCR Remote) y la funcionalidad depende de su implementación.

RTP es un protocolo en tiempo real que se usa para transportar audio y video en tiempo real. El transporte utilizado puede ser unicast, multicast o broadcast, dependiendo de la dirección de transporte y del puerto. Además de transportar RTP hace muchas cosas para usted, como paquetización, reordenamiento, control de jitter, QoS, compatibilidad con Lip sync .....

En su caso, si desea transmitir un servidor de transmisión, necesita tanto RTSP (para control) como RTP (transmisión de audio y video)

Para empezar, puede ir a través del código de muestra proporcionado por live555


Creo que eso es correcto RTSP puede usar RTP internamente.


Escucho tu dolor Estoy pasando por esto ahora (años después). Por lo que he aprendido, puede pensar en RTSP como un "controlador de VCR", el protocolo le permite especificar qué flujos (presentaciones) desea reproducir, luego le enviará una descripción de los medios, y luego podrá use RTSP para reproducir, detener, pausar y grabar la transmisión remota. Los medios en sí revisan RTP. RTSP normalmente se implementa sobre un socket o capa de comunicación diferente. Aunque es simplemente un protocolo, la mayoría de las veces lo implementa un servidor sobre un socket. Para transmisiones en vivo, la transmisión RTSP que solicita es simplemente un nombre de una transmisión. No necesita hacer referencia a un archivo en el servidor, la implementación del RTSP del servidor puede analizar esa secuencia, armar un gráfico activo y luego proporcionar el SDP (descripción) para ese nombre de transmisión. Pero, por supuesto, esto es específico de la forma en que se implementó el servidor RTSP. Para las transmisiones "en vivo", probablemente sea más sencillo usar RTP, pero necesitará una forma de transferir el SDP desde el servidor RTP al cliente que desea reproducir esa transmisión.


Estás obteniendo algo mal ... RTSP es un protocolo de transmisión en tiempo real. Es decir, puedes transmitir lo que quieras en tiempo real. Entonces puede usarlo para transmitir contenido en vivo (sin importar de qué se trate, video, audio, texto, presentación ...). RTP es un protocolo de transporte que se utiliza para transportar datos de medios que se negocian a través de RTSP.

Utiliza RTSP para controlar la transmisión de medios a través de RTP. Lo usas para configurar, jugar, pausar, desmontar la transmisión ...

Entonces, si quiere que su servidor empiece a transmitir cuando se solicita la URL, puede implementar algún tipo de servidor RTP. Pero si quiere más control y está transmitiendo video en vivo, debe usar RTSP, porque transmite SDP y otros datos importantes de decodificación.

Lea los documentos que he vinculado aquí, son un buen punto de partida.


RTSP (en realidad, RTP) se puede utilizar para transmitir videos, pero también muchos otros tipos de medios, incluidas presentaciones en vivo. Rtsp es solo el protocolo utilizado para configurar la sesión RTP.

Para ver todos los detalles, puede consultar la implementación de mi servidor de código abierto RTSP en la siguiente dirección: https://net7mma.codeplex.com/

O mi artículo @ http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp

Admite flujos de re-sourcing así como la creación dinámica de flujos, se implementan varios RFC y la biblioteca logra un mejor rendimiento y menos memoria que FFMPEG y casi cualquier otra solución en la capa de transporte y lo hace un buen candidato para usar como un punto de acceso centralizado para la mayoría de los escenarios.