Je suis assez novice dans Python. Je développe actuellement un programme destiné à prendre le contrôle d'une camera en wifi.
J'arrive à me connecter, et je peux déclencher l'envoi d'un flux vidéo sur un port UDP. Mais la définition recvfrom() ne récupère rien.
import lumix_control as lc
import cv2
IP = "192.168.54.1"
control = lc.CameraControl(IP) # IP camera
PORT=49152
control.get_state()
print(control.start_stream(PORT)) # Déclencher envoi flux UDP
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('0.0.0.0', PORT))
sock.settimeout(5)
while True:
try:
data, addr = sock.recvfrom(32000)
print(f"Reçu {len(data)} octets de {addr}")
except socket.error:
print("Erreur lors de la reception d'un paquet : ",socket.error)
break
sock.close()
Sur WireShark, je vois bien les données transiter jusqu'au port que j'ai défini (avec .start_stream().
J'ai testé d'envoyer des données en local et tout marche bien. C'est uniquement celles envoyé par la caméra qui ne sont pas vues pas Python.
Avez-vous une idée de ce qui cloche ?
- Edité par Mr_Chatouille 24 octobre 2023 à 15:36:57
.recvfrom() ne récupère aucun paquet.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.