rtsp — bibliothèque rtsp¶
Le module rtsp de l’OpenMV Cam vous permet de diffuser de la vidéo depuis votre OpenMV Cam vers n’importe quel client RTSP compatible (comme VLC).
Exemple
import network
import rtsp
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.VGA)
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("your-ssid", "your-password")
while not wlan.isconnected():
time.sleep_ms(100)
server = rtsp.rtsp_server(wlan)
# Called each time the server needs a new frame to send.
def image_callback(pathname, session):
return csi0.snapshot()
# Does not return; streams to any RTSP client that connects.
server.stream(image_callback, quality=70)
Connectez un client à rtsp://<camera-ip>:554/ pour visualiser le flux.
classe rtsp_server – classe rtsp_server¶
La classe rtsp_server crée un serveur web RTSP à connexion unique sur votre OpenMV Cam.
- class rtsp.rtsp_server(network_if: Any, port: int = 554)¶
Crée un serveur RTSP lié à
network_if.network_ifest l’interface du module réseau créée à partir denetwork.LAN(),network.WLAN(), ou similaire.portest le port TCP sur lequel écouter. Le port RTSP par défaut est 554.- register_setup_cb(cb: Callable[[str, int], None]) None¶
Lie une fonction de rappel
cbà invoquer lorsqu’un client établit une connexion RTSP.La fonction de rappel reçoit
pathname(le chemin de la ressource de flux demandée, par défaut"/") etsession(un identifiant de session aléatoire).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Lie une fonction de rappel
cbà invoquer lorsqu’un client commence la diffusion.La fonction de rappel reçoit
pathnameetsessioncomme décrit dansregister_setup_cb().
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Lie une fonction de rappel
cbà invoquer lorsqu’un client met la diffusion en pause.Note : le bouton de pause de VLC ne notifie pas réellement le serveur.
La fonction de rappel reçoit
pathnameetsessioncomme décrit dansregister_setup_cb().
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Lie une fonction de rappel
cbà invoquer lorsqu’un client ferme la connexion RTSP.La fonction de rappel reçoit
pathnameetsessioncomme décrit dansregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Démarre l’exécution de la logique du
rtsp_serveret ne retourne pas.image_callbackest invoquée pour produire chaque trame et doit retourner un objetimage.Image. Elle reçoitpathnameetsessioncomme décrit dansrtsp_server.register_setup_cb().qualityest la qualité de compression JPEG utilisée pendant la diffusion.