Vous êtes sur la page 1sur 44

Streaming vidéo

Streaming avec RTP/RTSP

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

Progressive streaming True streaming

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)

RTSP RSVP RTCP Couche 5


SIP (Session)

HTTP RTP
Couche 4
TCP DCCP UDP
KERNEL

(Transport)

Layer 3
IP Version 4, IP Version 6 (Network)

AAL3/4 AAL5 MPLS Couche 2


(Link/MAC)

ATM/Fiber Optics Ethernet/WiFi

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

ANNOUNCE S <-> C Announce new session description

SETUP C -> S Create media session


RECORD C -> S Start media recording
PLAY C -> S Start media delivery
PAUSE C -> S Pause media delivery
REDIRECT S -> C Use other server
TEARDOWN C -> S Destroy media session
SET_PARAMETER S <-> C Set server or client parameter

GET_PARAMETER S <-> C Read server or client parameter 34


RTSP –Stream Control

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

User RTSP RTSP


Interface Player Server
OpenURL
SETUP
response1
PLAY
Activate response2 Activate
RTP
audio RTP

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

C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0


Session: 4231
Range: npt=0-

C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0


Session: 4231
Range: npt=37

C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0


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

Vous aimerez peut-être aussi