Pour l'instant, j'essaye de diffuser une video en avi depuis VLC d'un PC sur Windows et de la lire à partir sur une Raspberry pi avec Python et la librairie OPENCV.
Au niveau du code je fait uniquement cela... quand je teste avec une vidéo sur la Raspberry ca fonctionne...
import numpy as np
import cv2
cap = cv2.VideoCapture('rtsp://:8554/')
while(1):
ret, frame = cap.read()
cv2.imshow('VIDEO',frame)
if cv2waitKey(1)
cap.release()
cv2.destroyAllWindows()
Ce n'est pas l'URL complète que j'ai utilisé.
Je sais pas quelles informations je peux donner de plus ?
On peut juste chercher sur Internet à votre place et vous suggérer d'essayer les solutions proposées. Comme il y en a plein, ça peut paraître fastidieux... mais c'est comme ça.
il ne faut pas indiquer l'adresse IP du pc source dans l'adresse rstp ?
Je me confonds aussi souvent dans l'écriture rtsp et rstp 😅
Sinon j'ai écrit que c'était pas l'URL utilisé... j'ai mis ça rtsp://10.1.1.5:8554/ <== IP du PC source (windows)
Peut être l'erreur peut venir de l'IP que je renseigne lors de la diffusion dans le PC source (j'ai lus qu'il fallait normalement donner l'IP du PC de destination)
j'ai essayé plusieurs choses avec des erreurs différentes...
1) rtsp://:8554/ <== PC (windows, localhost) <= erreur 461
2) rtsp://10.1.1.4:8554/ <== ip du PC de destination (Linux) <= erreur 404
3) rtsp://10.1.1.5:8554/ <== ip du PC source (windows) <= pas de communication
J'ai également désactivé les pare-feux lors des tests
J'ai l'impression de faire encore plus de surplace quand j'ai une erreur au niveau du réseaux que du programme... 😑
Au moins dans le code quand je résous l'erreur je comprend d'où ça venait, en réseau j'ai vraiment l'impression que c'est aléatoire, ca fonctionne puis ca ne fonctionne plus alors que je fait les mêmes choses...
et via vlc sur le raspberry, tu vois le flux ? (ou sur un autre pc si tu as d'autres pc en réseau)
Pour l'adresse IP ici, essaie avec l'adresse ip locale (le raspberry et le pc sont sur le même réseau je suppose)
La bonne adresse c'est celle de la source (le pc qui diffuse) et il faut que le flux soit diffusé (activer la lecture en boucle côté vlc diffuseur) , sinon il n'y a rien à recevoir de l'autre côté
et via vlc sur le raspberry, tu vois le flux ? (ou sur un autre pc si tu as d'autres pc en réseau)
Les tests que j'ai fait :
Sur Windows j'ai ouvert 2 VLC 1 en diffusion, l'autre en lecture avec le localhost en adresse, ça a fonctionné.
Sur Linux j'ai ouvert 2 VLC 1 en diffusion et dès que je lance la lecture sur le deuxième VLC se ferme tous seul 😑
Sur Windows Diffuseur et Linux récepteur (VLC se ferme tous seul a la lecture...)
Ce que j'ai pas essayé c'est Linux Diffuseur et Windows récepteur 😅
Mais pour l'instant je peux pas faire le test (j'ai pas la Raspberry, je testerais lundi)
umfred a écrit:
Pour l'adresse IP ici, essaie avec l'adresse ip locale (le raspberry et le pc sont sur le même réseau je suppose)
Oui j'arrive à ping des 2 cotés
umfred a écrit:
La bonne adresse c'est celle de la source (le pc qui diffuse) et il faut que le flux soit diffusé (activer la lecture en boucle côté vlc diffuseur) , sinon il n'y a rien à recevoir de l'autre côté
Ok merci ça va supprimer des tests que je réalise inutilement :)
Pour résumer si j'ai bien compris :
Linux IP => 10.1.1.4
Windows IP => 10.1.1.5
Donc
Diffusion Windows => 10.1.1.5
Reception Linux => 10.1.1.5
Oui j'ai remarqué que la vidéo doit être en cours... quand je mets la diffusion en pause, le VLC en lecture s'arrête également.
Si vous ne rentrez pas la bonne adresse IP ou le bon port, l'appel à VideoCapture doit attendre le timeout (pas de réponse) et sortira une autre erreur que le ClientError mentionné au départ.
Si vous avez démarré VLC en serveur RSTP, côté client vous savez comment compléter l'URL (excepté l'adresse IP) à partir de ce qui a été donné dans le paramètre sdp de la commande passée à VLC.
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr
Site Internet : https://devst.go.yj.fr