Protocoles Internet pour multimédia
Transcription
Protocoles Internet pour multimédia
Internet System Multimedia Networking Protocols P. Bakowski [email protected] Protocoles Temps Réel Real Time Streaming Protocol - un protocole hors-bande protocole de fonctions streaming P. Bakowski 2 Protocoles Temps Réel Real Time Streaming Protocol - un protocole hors-bande Real Time (transport) Protocol protocole de transport ils utilisent des canaux distincts P. Bakowski 3 Protocoles Temps Réel Real Time Streaming Protocol - un protocole hors-bande Real Time (transport) Protocol Real Time Control Protocol (RTCP) e.g. contrôle du débit P. Bakowski 4 Real-Time Streaming Protocol Permet de contrôler la lecture des supports continus par: pause lecture, repositionnement en avant ou après une balise de temps, rembobinage (REW), déplacement en avant rapide .. P. Bakowski 5 Real-Time Streaming Protocol Permet de contrôler la lecture des supports continus par: pause lecture, repositionnement en avant ou après une balise de temps, rembobinage, déplacement en avant rapide (FF) .. P. Bakowski 6 Real-Time Streaming Protocol montage RTSP media player serveur streaming P. Bakowski 7 Real-Time Streaming Protocol montage media player play serveur streaming P. Bakowski flux de media RTSP 8 Real-Time Streaming Protocol montage play serveur streaming media player flux de media RTP P. Bakowski 9 Real-Time Streaming Protocol montage play serveur streaming media player flux de media démontage RTSP P. Bakowski 10 RTP - Real Time Protocol PCM GSM MP3 flux audio P. Bakowski 11 RTP - Real Time Protocol P. Bakowski PCM GSM MPEG H.264 MP3 DivX 12 RTP - Real Time Protocol PCM GSM MPEG H.264 type de charge utile, timestamp et le numéro de séquence P. Bakowski MP3 DivX RTP 13 RTP - Real Time Protocol PCM GSM MPEG H.264 type de charge utile, timestamp et le numéro de séquence MP3 DivX RTP UDP P. Bakowski 14 RTP - Real Time Protocol UDP RTP protocole RTP protocole de bout-en-bout, les routeurs ne sont pas impliqués P. Bakowski 15 RTP - Real Time Protocol UDP RTP protocole RTP session RTP P. Bakowski 16 RTP - Real Time Protocol UDP RTP protocole RTP session RTP multiplexage P. Bakowski 17 Paquet RTP RTP 12 octets PT SN timestamp type de – 32 bits charge – 7 bits numéro de séquence – 16 bits P. Bakowski SSRC options identifiant de la source de synchronisation – 32 bits 18 Paquet RTP– type de charge RTP 12 octets PT SN timestamp SSRC options type de charge – 7 bits PCM GSM MPEG H.264 MP3 DivX audio et vidéo P. Bakowski 19 Paquet RTP– sequence number RTP 12 octets PT SN timestamp SSRC options numéro de séquence – 16 bits SN est incrémenté de 1 pour chaque paquet RTP envoyé => détection de perte de paquets et la restauration (mise en ordre) P. Bakowski 20 Paquet RTP - timestamp RTP moment d’échantillonnage 12 bytes PT 160 octets SN timestamp SSRC options – 32 bits Moment d’échantillonnage du premier octet dans le paquet. P. Bakowski 21 Paquet RTP - timestamp RTP sampling instant 12 bytes PT 160 octets SN timestamp SSRC options – 32 bits Pour l'audio, le timestamp incrémente de 1 pour chaque période d'échantillonnage (chaque octet): 125µs - 8KHz, le timestamp augmente de 160 pour chaque paquet RTP. P. Bakowski 22 Paquet RTP: identification de source RTP 160 octets 12 octets PT SN timestamp SSRC options SSRC - identifiant de la source de synchronisation – 32 bits P. Bakowski 23 Paquet RTP: identification de source RTP 160 octets 12 octets PT SN timestamp SSRC options SSRC - identifiant de la source de synchronisation – 32 bits SSRC identifiant est un nombre que la source attribue de façon aléatoire lorsque le flux est lancé P. Bakowski 24 Logiciel et RTP Nous pouvons écrire (C ou Java) un serveur RTP qui encapsule le flux d’images vidéo stockées dans des paquets RTP. application RTP UDP IP link physical P. Bakowski 25 Logiciel et RTP Nous devrons: récupérer une trame vidéo application RTP UDP IP link physical P. Bakowski 26 Logiciel et RTP Nous devrons: récupérer une trame vidéo ajouter en-tête RTP y compris le timestamp et le numéro de séquence application RTP UDP IP link physical P. Bakowski 27 Logiciel et RTP Nous devrons: récupérer une trame vidéo application ajouter en-tête RTP y compris le timestamp et le numéro de séquence RTP passer la trame RTP au socket UDP UDP IP link physical P. Bakowski 28 Logiciel et RTP Une autre approche consiste à utiliser une classe Java RTP (en Java Media Framework) qui implémente les fonctionnalités RTP. application RTP UDP IP link physical P. Bakowski 29 Logiciel et RTP Nous devons: récupérer une trame vidéo application RTP UDP IP link physical P. Bakowski 30 Logiciel et RTP Nous devons: récupérer une trame vidéo fournir le type de la charge utile, un SSRC, et un timestamp application RTP UDP IP link physical P. Bakowski 31 Logiciel et RTP Nous devrons: récupérer une trame vidéo fournir le type de la charge utile, un SSRC, et un timestamp fournir le numéro de port de destination et l'adresse IP application RTP UDP IP link physical P. Bakowski 32 RTCP protocole de contrôle Les paquets RTCP n’encapsulent pas des morceaux audio ou vidéo. P. Bakowski 33 RTCP protocole de contrôle Les paquets RTCP n’encapsulent pas des morceaux audio ou vidéo. Les paquets RTCP sont envoyés périodiquement et contiennent les rapports l'expéditeur et/ou récepteur. P. Bakowski 34 RTCP protocole de contrôle Les paquets RTCP n’encapsulent pas des morceaux audio ou vidéo. Les paquets RTCP sont envoyés périodiquement et contiennent les rapports l'expéditeur et/ou récepteur. Les rapports indiquent le nombre de paquets perdus et la gigue entre arrivées. P. Bakowski 35 RTCP protocole de contrôle Les paquets RTCP n’encapsulent pas des morceaux audio ou vidéo. Les paquets RTCP sont envoyés périodiquement et contiennent les rapports l'expéditeur et/ou récepteur. Les rapports indiquent le nombre de paquets perdus et la gigue entre arrivées. Cette informations de feed-back est utilisée pour modifier le débit de transmission. P. Bakowski 36 RTCP protocole de contrôle UDP P. Bakowski RTP data 37 RTCP protocole de contrôle P. Bakowski UDP RTP data UDP RTCP control 38 RTCP protocole de contrôle UDP RTP data UDP RTCP control différentes ports UDP (+1) P. Bakowski 39 Paquets RTCP Le récepteur assemble son rapport de réception en un seul paquet RTCP: UDP RTCP control récepteur P. Bakowski 40 Paquets RTCP Le récepteur assemble son rapport de réception en un seul paquet RTCP: le SSRC du flux RTP UDP RTCP control récepteur P. Bakowski 41 Paquets RTCP Le récepteur assemble son rapport de réception en un seul paquet RTCP: le SSRC du flux RTP le taux de perte de paquets RTP UDP RTCP control récepteur P. Bakowski 42 Paquets RTCP Le récepteur assemble son rapport de réception en un seul paquet RTCP: le SSRC du flux RTP le taux de perte de paquets RTP le dernier numéro de séquence reçu UDP RTCP control récepteur P. Bakowski 43 Paquets RTCP Le récepteur assemble son rapport de réception en un seul paquet RTCP: le SSRC du flux RTP le taux de perte de paquets RTP le dernier numéro de séquence reçu la gigue de l‘inter-arrivée UDP RTCP control récepteur P. Bakowski 44 Paquets RTCP L'expéditeur crée des paquets RTCP expéditeur: UDP expéditeur P. Bakowski RTCP control paquets RTCP sont empilables! 45 Paquets RTCP L'expéditeur crée des paquets RTCP expéditeur: la valeur de SSRC du flux RTP UDP expéditeur P. Bakowski RTCP control paquets RTCP sont empilables! 46 Paquets RTCP L'expéditeur crée des paquets RTCP expéditeur: la valeur de SSRC du flux RTP la valeur du temps-réel du dernière paquet RTP dans le flux UDP expéditeur P. Bakowski RTCP control paquets RTCP sont empilables! 47 Paquets RTCP L'expéditeur crée des paquets RTCP expéditeur: la valeur de SSRC du flux RTP la valeur du temps-réel du dernière paquet RTP dans le flux le nombre de paquets envoyés dans le flux UDP expéditeur P. Bakowski RTCP control paquets RTCP sont empilables! 48 Paquets RTCP L'expéditeur crée des paquets RTCP expéditeur: la valeur de SSRC du flux RTP la valeur du temps-réel du dernière paquet RTP dans le flux le nombre de paquets envoyés dans le flux le nombre d'octets envoyés dans le flux UDP expéditeur P. Bakowski RTCP control paquets RTCP sont empilables! 49 RTCP: débit modifiable RTP multicast session UDP RTCP control Le trafic RTCP augmente linéairement avec le nombre de récepteurs. P. Bakowski 50 RTCP: débit modifiable RTP multicast session UDP RTCP control RTCP modifie le taux d'envoi vers arbre de multicast en fonction du nombre de participants. P. Bakowski 51 RTCP: débit modifiable RTCP essaie de limiter la circulation à 5% de bande passante de la session P. Bakowski 52 RTCP: débit modifiable RTCP essaie de limiter la circulation à 5% de bande passante de la session Supposons que l'expéditeur émet un flux vidéo avec le débit de 2Mb/s P. Bakowski 53 RTCP: débit modifiable RTCP essaie de limiter la circulation à 5% de bande passante de la session Supposons que l'expéditeur émet un flux vidéo avec le débit de 2Mb/s Dans ce cas RTCP essaie de limiter son trafic à 100Kb/s, le protocole donne 75% (75 Kb/s) pour les récepteurs et 25% à l'expéditeur P. Bakowski 54 RTCP: débit modifiable RTCP essaie de limiter la circulation à 5% de bande passante de la session Supposons que l'expéditeur émet un flux vidéo avec le débit de 2Mb/s Dans ce cas RTCP essaie de limiter son trafic à 100Kb/s, le protocole donne 75% (75 Kb/s) pour les récepteurs et 25% à l'expéditeur S'il y a R récepteurs, chaque récepteur envoie le trafic RTCP à un taux de 75Kbps/R et l'expéditeur envoie le trafic RTCP de 25Kbps/R P. Bakowski 55 Résumé Real-Time Protocols protocole RTSP protocole RTP protocole RTCP P. Bakowski 56