La réception de paquets RTP après RTSP d'installation

Je suis en train de flux de paquets RTP à partir d'une caméra IP à l'aide de Python.

Je suis en mesure d'envoyer le décrire, le programme d'installation & jouer à des commandes en utilisant le protocole RTSP, cependant, je suis incapable de démarrer la diffusion de la réelle fichier vidéo en utilisant le protocole RTP.

Voici le code:

import socket 

def printrec(recst):
  recs=recst.split('\r\n')
  for rec in recs:
    print rec

dest="DESCRIBE rtsp://admin:[email protected] RTSP/1.0\r\nCSeq: 2\r\nUser-Agent: python\r\nAccept: application/sdp\r\n\r\n"

setu="SETUP rtsp://admin:[email protected]/trackID=1 RTSP/1.0\r\nCSeq: 3\r\nUser-Agent: python\r\nTransport: RTP/AVP;unicast;client_port=60784-60785\r\n\r\n"

play="PLAY rtsp://admin:[email protected]/RTSP/1.0\r\nCSeq: 5\r\nUser-Agent: python\r\nSession: SESID\r\nRange: npt=0.000-\r\n\r\n"

# .. here SESID will be substituted with the session id that SETUP returns us ..

ip="192.168.1.74"
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip,554))

s.send(dest)
recst=s.recv(4096)
printrec(recst)

# etc. then the same for the strins "setu" and "play"

....

Installation répond moi:

RTSP/1.0 200 OK
CSeq: 3
Session:       1117448817;timeout=60
Transport: RTP/AVP;unicast;client_port=60784-60785;server_port=8214-8215;ssrc=40d35c30;mode="play"
Date:  Mon, Jan 19 2015 11:10:08 GMT

Nous avons donc le client ports 60784 et 60785 et les ports de serveur et 8215 8214.

Prochaine, jouer à des réponses moi:

RTSP/1.0 200 OK 
CSeq: 5
Session:       1117448817
RTP-Info: url=rtsp://admin:12345@192.168.1.74/trackID=1;seq=3539;    rtptime=16026930
Date:  Mon, Jan 19 2015 11:10:08 GMT

Prochaine, que suis-je censé faire pour commencer à recevoir des paquets RTP?
Ouvrir un socket UDP comme suivre .. ?

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
sock.bind((ip, serverport))
sock.recv(4096)

Mais je ne reçois rien .. (elle cale)

Excusez-moi de ma mauvaise connaissance de sockets..!

Ne devriez-vous pas être contraignant client_port?

OriginalL'auteur El Sampsa | 2015-01-19