Académique Documents
Professionnel Documents
Culture Documents
Prof. M. Bouziani
Introduction
L‘Internet était construit pour la transmission
des fichiers text
Avec l‘apparition des ordinateurs plus
puissants on voulait utiliser l‘Internet comme
plate-forme pour des contenus multimédias
Mais: il n’existait pas des standards de
synchronisation multimédia ni pour la
diffusion en temps réel
2
Pourquoi pas des transmissions
en temps réel avec TCP?
En cas de perte des paquets (et ça se passe
bien souvent) TCP va les retransmettre,
Pour fournir un fiable service, un flux de
données en temps réel devrait attendre
toutes les retransmissions,
Ça causerait des retards intolérables,
3
UDP, la solution?
UDP ne nécessite pas la retransmission de
tous les paquets perdus (connections non-
fiables)
Applications pour diffusion en temps réel
peuvent être mis en place au-dessus de UDP
avec quelques fonctions supplémentaires
4
Les techniques
Diffusion vidéo/audio en temps réel
Pendant
Possibilité d’avancer ou rembobiner le film que la vidéo ou la chanson est
téléchargé, le logiciel commence déjà avec
la reproduction
La qualité dépend du débit de la connexion
et estTéléchargement
change automatiquement Vidéo on demand Live streaming
On n’a pas la possibilité d’avancer ou
Nécessité d’un « streaming serverrembobiner
» comme le film
RealServer, QuickTime ou WindowsMedia
Utilisable avec un serveur HTTP
5
« Streaming on demand »
Qu’est-ce que ça veut dire?
Des productions vidéo précédemment
enregistré,
L’utilisateur demande au serveur la
transmission du vidéo quand il veut le voir,
Il a la possibilité d’avancer et de rembobiner
le film comme il veut,
Souvent utilisé par des chaînes de télévision
pour fournir des émissions des actualités,
6
Quelques exemples
7
« Live streaming »
Qu’est-ce que ça veut dire?
L’utilisateur reçoit l’émission « live »
Émission fixée sur un horaire et une date,
Utilisé pour webcams, pour des conférences
audiovisuelles et bien sur pour la diffusion
des émissions radio,
8
Par exemple: live radio, cours
9
Streaming
Qui fait quoi?
Donne la
demande au
serveur média
Demande d’un
fichier média
Etablissement
d’un stream
Décodage
10
La base qui est derrière:
les PROTOCOLES
IP/UDP – protocoles de base
RTP (RFC 1889, 1890)
RTCP (RFC 1889, 1890)
RTSP (RFC 2326) Real
RealTime
Session
Resource
Time Transport
TransportProtocol
Description
Reservation
Streaming Control
Protocol
Protocol
Protocol
SDP (RFC 2327) Couche
Couchetransport
application
application
Permet
Couchedes
Gestion
Couche
Règlement transmissions
transport
des
transport
du
sessions en
stream(plusieurs
RSVP (RFC 2205-2210) temps réel en
connexions
Réservation
Mécanismes du
de
même
débit
contrôle
sur
temps)
lepour
lien
RTP
11
Streaming
Et comment ça marche?
Enregistrement
Traitement
Codage
Plusieurs flux de
données (audio, vidéo,
animations)
Codec (= Encoder/
Decoder)
Stockage sur le serveur
média
12
Définition
13
14
RTSP : Real Time Streaming Protocol (RFC 2326)
15
16
Principe de diffusion
17
Streaming
Codage pour débits différents
18
Multicast
Unicast
Peer-to-peer
Un flux entre émetteur et
récepteur
Multicast
Serveur relais
Plusieurs récepteurs se
serve du même flux
Économie de resources
19
Streaming et Pseudo Streaming
20
Streaming et Pseudo Streaming
21
RTSP
Propriétés
Indépendant des
couches au-dessous
Utilisation avec RTP
très fréquent
Fonctionnement
similaire que HTTP
22
RTP
Real Time Transport Protocol
Le plus utilisé aujourd’hui (QT, Real, …)
Transmission des données en temps réel
Diffusion audio/video
Standard depuis nov. 1995 (RFC 1889)
23
RTP
Propriétés
Basé sur UDP indépendance des couches au-dessous
Ne définie pas des mécanismes ou algorithmes de flux de
contrôle (QoS garantie que par les couches au-dessous)
Mais RTP ajoute quelques fonctionnements de
synchronisation à UDP
24
RTP
Propriétés (2)
Chaque flux a sa propre session RTP
Marquage des paquets avec une numéro de séquence pour
les remettre en ordre
Synchronisation de plusieurs flux vidéo et audio en marquant
les paquets avec des tampons de temps
L’entête:
25
RTP
Contrôle et informations: RTCP
RTCP envoie périodiquement des paquets de
contrôle
Fourni des informations sur la qualité du lien
(QoS)
Fourni des informations (identificateurs,…)
sur les participants d’une session RTP
Adaptation de la transmission aux liens
différents (débit, …)
26
RTP
Mixer et Translator
Appareils pour garantir le fonctionnement
Mixer
Reçoit paquets de différents sources (p.e.x.
plusieurs flux)
Reconstruction de timing et ordre séquentielle
Mélange tout en un flux sortant en prenant en
compte des débit plus bas
Translator
Connexion entre sous-réseaux
Utilisation des techniques de (dé)codage
27
RTP
Mixer et Translator (2)
28
RTSP
Real Time Streaming Protocol
Le plus utilisé aujourd’hui (RealPlayer, …)
Standardisé en 1998 dans RFC 2326
Protocole de contrôle des flux multimédia
Pas de transmission de données, que des
messages pour régler l’émission
29
RTSP
Propriétés
« Le HTTP pour diffusion en temps réel »
« Télécommande » du réseaux
Méthodes comme SETUP, PLAY, PAUSE,
TEARDOWN et DESCRIBE
Permet REWIND et FORWARD
Utilisation avec RTP très fréquent
30
Internet Multimedia Protocol Pile
APPLICATION
Media encaps
DASH (H.264, MPEG-4)
HTTP RTP
Couche 4
TCP DCCP UDP
KERNEL
(Transport)
Layer 3
IP Version 4, IP Version 6 (Network)
31
Streaming avec RTP/RTSP
Donne la
demande au
serveur média
Demande d’un
fichier média
Etablissement
d’un stream
Décodage
32
Real-Time Streaming Protocol
(RTSP)
Protocole Application pour le contrôle des streams
multimedia
N’est pas un protocole applicatif de
transmission mais juste un protocole de
gestion entre client et server
Audio Audio
Session Control
Video video
Decoder RTSP RTSP Coder
RTP RTP
CLIENT SERVER
33
RTSP Méthodes
Request Direction Description
OPTIONS S <-> C Determine capabilities of server (S)
or client (C)
DESCRIBE C -> S Get description of media stream
DESCRIBE
(aggregate stream)
SETUP
RTSP RTSP
SID
Decoder Coder
PLAY
RTP RTP
ESTABLISH
CLIENT PLAY
SERVER
35
Streaming media: meta files
client
36
Streaming Media: RTSP
37
RTSP Media Player-Server
PAUSE
response3
Quit TEARDOWN
response10
38
Méthodes RTSP
Method Description
DESCRIBE Retrieves the description of a presentation
ANNOUNCE Posts the description of a presentation
GET_PARAMETER Retrieves the value of a parameter
OPTIONS Queries the available methods
PAUSE Streams delivery is halted temporarily
PLAY Starts sending data
RECORD Starts receiving data
REDIRECT Informs to connect another server location
SETUP Specifies the transport mechanism
SET_ PARAMETER Requests to set the value of a parameter
TEARDOWN Stops the stream delivery and frees the
resources
39
Meta File Exemple
<title>Twister</title>
<session>
<group language=en lipsync>
<switch>
<track type=audio
e="PCMU/8000/1"
src = "rtsp://audio.example.com/twister/audio.en/lofi">
<track type=audio
e="DVI4/16000/2" pt="90 DVI4/8000/1"
src="rtsp://audio.example.com/twister/audio.en/hifi">
</switch>
<track type="video/jpeg"
src="rtsp://video.example.com/twister/video">
</group>
</session>
40
RTSP Operation
41
Exemple : RTSP Exchange
C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0
Transport: rtp/udp; compression; port=3056; mode=PLAY
S: RTSP/1.0 200 1 OK
Session 4231
S: 200 3 OK 42
Streaming : Environnements Mobiles
43
Conclusion
Il existe une vaste diversité de techniques
Les plus importants: RTP/RTSP sont utilisés
par Real et Quicktime
44