Domanda

Sto pensando di sviluppare un server di streaming e ho la seguente domanda, da eseguire su RTSP (URL di esempio: rtsp://192.168.0.184/myvideo.mpg) O RTP (esempio URL: rtp://192.168.0.184).

Come ho capito, an RTSP il server viene utilizzato principalmente per lo streaming di file già esistenti, ovvero non live. RTP il server viene utilizzato per trasmettere.

Qualcuno mi corregga se sbaglio, ho ragione?.

Quello che voglio sviluppare è un server per trasmettere i contenuti live sullo schermo del computer, cioè quelli visualizzati nel momento in cui vengono trasmessi in streaming.

È stato utile?

Soluzione

Stai sbagliando qualcosa... RTSP è un protocollo di streaming in tempo reale.Ciò significa che puoi trasmettere in streaming tutto ciò che desideri in tempo reale.Quindi puoi usarlo per trasmettere in streaming contenuti LIVE (non importa quale sia, video, audio, testo, presentazione...). RTP è un protocollo di trasporto utilizzato per trasportare dati multimediali negoziati su RTSP.

Si utilizza RTSP per controllare la trasmissione multimediale su RTP.Lo usi per impostare, riprodurre, mettere in pausa, smontare lo streaming...

Pertanto, se desideri che il tuo server avvii lo streaming solo quando viene richiesto l'URL, puoi implementare una sorta di server solo RTP.Ma se vuoi un maggiore controllo e se stai trasmettendo video in diretta, devi utilizzare RTSP, perché trasmette SDP e altri importanti dati di decodifica.

Leggi i documenti che ho linkato qui, sono un buon punto di partenza.

Altri suggerimenti

Per quanto ne so, RTSP non trasmette i flussi a tutti, è solo un protocollo di controllo out-of-band con funzioni come PLAY e STOP.

Raw UDP o RTP UDP sono protocolli di trasmissione per i flussi proprio come TCP crudo o HTTP su TCP.

Per essere in grado di trasmettere un determinato programma sulla data protocollo di trasmissione, un metodo di incapsulamento deve essere definito per il formato contenitore . Per esempio contenitore TS può essere trasmesso su UDP, ma non può Matroska.

Praticamente tutto può essere trasportato attraverso il protocollo TCP però.

(Il fatto che che codec si usa anche questioni indirettamente in quanto limita i formati contenitore che è possibile utilizzare.)

Alcuni principi fondamentali:

  

server RTSP può essere utilizzato per la fonte di morti, così come per la fonte diretta. protocolli RTSP fornisce ti comandi (come il videoregistratore remoto), e la funzionalità dipende dalla vostra applicazione.

     

RTP è reale protocollo di tempo utilizzato per il trasporto di audio e video in tempo reale. Trasporti usato può essere unicast, multicast o broadcast, a seconda indirizzo di trasporto e la porta. Oltre il trasporto RTP fa un sacco di cose per voi come pacchettizzazione, riordino, il controllo del jitter, QoS, il supporto per la sincronizzazione delle labbra .....

Nel tuo caso, se si desidera trasmettere server di streaming, allora avete bisogno sia RTSP (per il controllo), così come RTP (trasmissione audio e video)

Per cominciare si può passare attraverso codice di esempio fornito da LIVE555

Ho sentito il tuo dolore. Sto attraversando questo momento (anni dopo). Da quello che ho imparato, si può pensare di RTSP come un "controllore VCR", il protocollo consente di specificare che i flussi (presentazioni) che si desidera riprodurre, sarà poi inviare una descrizione dei mezzi di comunicazione, e poi si può utilizzare RTSP per riprodurre, interrompere, mettere in pausa e registrare il flusso remoto. I media si va oltre RTP. RTSP viene normalmente attuato per il diverso presa o comunicazione strato. Anche se si tratta semplicemente di un protocollo, il più delle volte è implementato da un server su un socket. Per i flussi dal vivo, il flusso RTSP si richiede è semplicemente un nome di un torrente. Non ha bisogno di fare riferimento a un file sul server, l'implementazione RTSP del server in grado di analizzare quel flusso, mettere insieme un grafico dal vivo, e quindi fornire l'SDP (descrizione) per quel nome flusso. Ma, questo è ovviamente specifico per il modo in cui è stato implementato il server RTSP. Per i flussi "live", è probabilmente più semplice di usare solo RTP, ma avrete bisogno di un modo per trasferire la SDP dal server RTP per il cliente che vuole giocare quel flusso.

credo che sia così correggere. RTSP può utilizzare internamente RTP.

RTSP (in realtà RTP) può essere utilizzato per lo streaming video, ma anche molti altri tipi di supporti, tra cui presentazioni dal vivo. RTSP è solo il protocollo utilizzato per impostare la sessione RTP.

Per tutti i dettagli è possibile controllare il mio open source implementazione RTSP Server al seguente indirizzo: https: // net7mma. codeplex.com/

O mio articolo @ http: // www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp

Supporta flussi di ri-approvvigionamento, nonché la creazione dinamica di corsi d'acqua, vari di RFC sono implementate e la biblioteca raggiunge migliori prestazioni e meno memoria quindi FFMPEG e praticamente qualsiasi altro soluzioni nel livello di trasporto e quindi lo rende un buon candidato da utilizzare come punto di accesso centralizzato per la maggior parte degli scenari.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top