Protocol de streaming în timp real

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

RTSP - Real Time Streaming Protocol - este un protocol de rețea utilizat în sistemele de comunicații și divertisment computerizate care vizează controlul serverelor pentru streaming multimedia . Protocolul este utilizat pentru a stabili și gestiona sesiuni de streaming între server și client. Clienții trimit comenzi similare unui recorder video către serverul media, cum ar fi redarea sau pauza, pentru a controla redarea fișierelor audio / video distribuite de server în timp real.

În sine, transmiterea de date în flux nu este o sarcină definită în protocolul RTSP. Majoritatea serverelor RTSP se bazează pe protocolul de transport în timp real ( RTP ) împreună cu protocolul de control în timp real ( RTCP ) pentru transmiterea media, deși unii furnizori preferă să implementeze protocoale de transport proprietare. De exemplu, serverele RealNetworks RTSP utilizează Real Data Transport (RDT) deținut chiar de RealNetworks.

Protocolul RTSP a fost dezvoltat de Internet Engineering Task Force (IETF) Multiparty Multimedia Session Control Working Group Working (MMUSIC WG) și a fost publicat în 1998 sub denumirea RFC 2326 [1]

Directivele

Portul de comunicație standard este 554. Protocolul prevede existența unui identificator de sesiune care este utilizat pentru a ține evidența sesiunilor atunci când este necesar. În acest fel, nu este necesară o conexiune TCP permanentă.

Mai jos avem cererile RTSP de bază. Unele, cum ar fi Opțiuni, sunt partajate cu standardul HTTP .

OPȚIUNI
O cerere de tip OPȚIUNI returnează tipul de cereri pe care serverul le va accepta.
DESCRIE
O cerere DESCRIERE este utilizată de client pentru a obține informații despre resursa dorită. Trebuie să includă un URL RTSP (rtsp: // ...) și tipul de date de răspuns care pot fi tratate. Portul implicit pentru protocolul RTSP este 554, indiferent dacă utilizați TCP sau UDP pentru transport. Răspunsul include descrierea prezentării, de obicei utilizând formatul Session Description Protocol (SDP).
 C-> S: DESCRIBE rtsp: //example.com/media.mp4 RTSP / 1.0
      CSeq: 1

S-> C: RTSP / 1.0 200 OK
      CSeq: 1
      Content-Base: rtsp: //example.com/media.mp4
      Content-Type: application / sdp
      m = video 0 RTP / AVP 96
      a = control: streamid = 0
      a = interval: npt = 0-7.741000
      a = lungime: npt = 7.741000
      a = rtpmap: 96 MP4V-ES / 5544
      a = mimetype: string; "video / MP4V-ES"
      a = AvgBitRate: întreg; 304018
      a = StreamName: string; "track video sugerat"
      m = audio 0 RTP / AVP 97
      a = control: streamid = 1
      a = interval: npt = 0-7.712000
      a = lungime: npt = 7.712000
      a = rtpmap: 97 mpeg4-generic / 32000/2
      a = mimetype: string; "audio / mpeg4-generic"
      a = AvgBitRate: întreg; 65790
      a = StreamName: string; "pista audio sugerată"
ÎNFIINȚAT
Solicitarea SETUP specifică modul de livrare a unui singur flux media. Trebuie făcut înainte de a trimite o cerere PLAY. Solicitarea conține adresa URL a fluxului media și parametrii de transport pe care clientul îi acceptă pentru transmiterea datelor. Serverul va crea o nouă sesiune RTSP și răspunsul va conține identificatorul sesiunii și parametrii de transport aleși de server dintre cei propuși de client.
 C-> S: SETUP rtsp: //example.com/media.mp4/streamid=0 RTSP / 1.0
      CSeq: 2
      Transport: RTP / AVP; unicast; client_port = 8000-8001

S-> C: RTSP / 1.0 200 OK
      CSeq: 2
      Transport: RTP / AVP; unicast; client_port = 8000-8001; server_port = 9000-9001
      Sesiune: 12345678
JOACA
O cerere PLAY va genera redarea unuia sau mai multor fluxuri media folosind mecanismul specificat în solicitarea SETUP anterioară. Cererile de redare pot fi stivuite, trimitând astfel mai multe cereri de redare. Adresa URL poate fi de tip agregat (pentru a reda toate fluxurile media disponibile) sau de tip unic (pentru a reda doar un anumit flux). Se poate specifica un interval de redare. Dacă nu este specificată nicio gamă, fluxul este redat de la început până la sfârșit sau, dacă a fost întrerupt, este redat din punctul în care a ajuns.
 C-> S: PLAY rtsp: //example.com/media.mp4 RTSP / 1.0
      CSeq: 4
      Interval: npt = 5-20
      Sesiune: 12345678

S-> C: RTSP / 1.0 200 OK
      CSeq: 4
      Sesiune: 12345678
      RTP-Info: url = rtsp: //example.com/media.mp4/streamid=0; sec = 9810092; rtptime = 3450012
În cazul nostru de exemplu, intervalul indică faptul că videoclipul trebuie redat începând cu secunda 5 și până la secunda 20.
PAUZĂ
O cerere PAUSE blochează temporar unul sau toate fluxurile curente, astfel încât acestea să poată fi reluate ulterior cu o solicitare PLAY. Solicitarea conține adresa URL a fluxului care trebuie întrerupt.
 C-> S: PAUSE rtsp: //example.com/media.mp4 RTSP / 1.0
      CSeq: 5
      Sesiune: 12345678

S-> C: RTSP / 1.0 200 OK
      CSeq: 5
      Sesiune: 12345678
RECORD
Solicitarea RECORD poate fi utilizată pentru a trimite un flux către server pentru ca acesta să fie stocat.
DĂRÂMA
Cererea TEARDOWN este utilizată pentru a încheia sesiunea. Opriți toate fluxurile media și eliberați toate datele de sesiune de pe server.
 C-> S: TEARDOWN rtsp: //example.com/media.mp4 RTSP / 1.0
      CSeq: 6
      Sesiune: 12345678

S-> C: RTSP / 1.0 200 OK
      CSeq: 6

Aplicații pentru clienți

Notă

  1. ^ RFC 2326 , Real Time Streaming Protocol (RTSP) , IETF, 1998

Alte proiecte

linkuri externe

Telematică Portal telematic : accesați intrări Wikipedia care vorbesc despre rețele, telecomunicații și protocoale de rețea