Question

Je pense à développer un serveur de streaming et je pose la question suivante, faites sur RTSP (exemple url: rtsp://192.168.0.184/myvideo.mpg) ou RTP (exemple url: rtp://192.168.0.184).

Comme je l'ai compris, un serveur RTSP est principalement utilisé pour le streaming de fichiers existent déjà, à savoir, pas en direct. serveur RTP est utilisé pour la diffusion.

Quelqu'un corrigez-moi si je me trompe, je me trompe?.

Ce que je veux développer un serveur de diffusion de contenu en direct sur l'écran d'ordinateur, qui est, qui apparaît au moment où est diffusé en streaming.

Était-ce utile?

La solution

Vous obtenez quelque chose de mal ... RTSP est un protocole de diffusion en temps réel. Cela signifie que vous pouvez diffuser tout ce que vous voulez en temps réel. Ainsi, vous pouvez l'utiliser pour diffuser du contenu en direct (peu importe ce qu'elle est, vidéo, audio, texte, présentation ...). RTP est un protocole de transport qui est utilisé pour transporter des données multimédia qui est négocié sur RTSP.

Vous utilisez RTSP pour contrôler la transmission de médias sur RTP. Vous pouvez l'utiliser pour configurer, lecture, pause, teardown le flux ...

Donc, si vous voulez que votre serveur juste commencer à diffuser lorsque l'URL est demandée, vous pouvez mettre en œuvre une sorte de serveur RTP uniquement. Mais si vous voulez plus de contrôle et si vous êtes en train de diffuser des vidéos en direct, vous devez utiliser RTSP, car il transmet SDP et d'autres données de décodage importantes.

Lire les documents que je ici Linked, ils sont un bon point de départ.

Autres conseils

AFAIK, RTSP ne pas transmettre des flux du tout, il est juste un protocole de contrôle hors-bande avec des fonctions comme PLAY et STOP.

UDP brut ou RTP sur UDP sont les protocoles de transmission pour les flux, tout comme TCP brut ou HTTP sur TCP.

Pour être en mesure de diffuser un certain programme sur le protocole de transmission donné une méthode sur encapsulation doit être défini pour votre format conteneur . Par exemple conteneur TS peut être transmis sur UDP mais Matroska ne peut pas.

À peu près tout peut être transporté via TCP bien.

(Le fait que ce qui codec utilisez-vous des questions aussi indirectement car elle limite les formats de conteneurs que vous pouvez utiliser.)

<> P Quelques notions de base:

  

serveur RTSP peut être utilisé pour la source morte, ainsi que pour la source en direct. RTSP vous fournit des commandes (comme votre magnétoscope à distance), et la fonctionnalité dépend de votre implémentation.

     

RTP est un protocole en temps réel utilisé pour le transport audio et vidéo en temps réel. Transport peut être utilisé unicast, multicast ou broadcast, en fonction de l'adresse de transport et le port. En plus du transport RTP fait beaucoup de choses pour vous comme packetization, réorganisant, le contrôle de la gigue, la qualité de service, prise en charge pour la synchronisation des lèvres .....

Dans votre cas si vous voulez diffuser serveur de streaming alors vous avez besoin à la fois RTSP (pour le contrôle) ainsi que RTP (audio diffusion et vidéo)

Pour commencer, vous pouvez passer par un exemple de code fourni par LIVE555

J'entends votre douleur. Je vais dans ce moment (années plus tard). D'après ce que je l'ai appris, vous pouvez penser à RTSP comme un « contrôleur de magnétoscope », le protocole vous permet de spécifier les flux (présentations) que vous voulez jouer, il vous enverra ensuite une description des médias, et vous pouvez utiliser RTSP pour jouer, arrêt, pause et enregistrer le flux à distance. Les médias eux-mêmes sur RTP va. RTSP est normalement mis en oeuvre sur une couche de support ou de communication différent. Bien qu'il soit tout simplement un protocole, le plus souvent il est mis en œuvre par un serveur via un socket. Pour les flux en direct, vous demandez le flux RTSP est simplement un nom d'un cours d'eau. Il n'a pas besoin de se référer à un fichier sur le serveur, peut analyser ce flux, mis en place un graphique en direct, puis fournir le SDP (description) de mise en œuvre RTSP du serveur pour ce nom de flux. Mais, c'est spécifique de cours à la façon dont le serveur RTSP a été mis en œuvre. Pour les flux « live », il est probablement plus simple à utiliser juste RTP, mais vous aurez besoin d'un moyen de transférer le SDP du serveur RTP au client qui veut jouer ce flux.

Je pense que c'est correct. RTSP peut utiliser en interne RTP.

RTSP (en fait RTP) peut être utilisé pour le streaming vidéo, mais aussi de nombreux autres types de médias, y compris des présentations en direct. RTSP est que le protocole utilisé pour configurer la session RTP.

Pour tous les détails, vous pouvez consulter mon implémentation open source RTSP Server sur l'adresse suivante: https: // net7mma. codeplex.com/

Ou mon article @ http: // www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp

Il prend en charge re-sourcing flux ainsi que la création de dynamique des cours d'eau, différents de RFC sont mis en œuvre et la bibliothèque permet d'obtenir de meilleures performances et moins de mémoire puis FFMPEG et à peu près toutes les autres solutions dans la couche de transport et permet ainsi un bon candidat à utiliser comme un point d'accès centralisé pour la plupart des scénarios.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top