rtsp — biblioteca rtsp¶
Modulul rtsp de pe OpenMV Cam vă permite să transmiteți flux video de la OpenMV Cam către orice client RTSP compatibil (precum VLC).
Exemplu:
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)
Conectați un client la rtsp://<camera-ip>:554/ pentru a vizualiza fluxul.
clasa rtsp_server – clasa rtsp_server¶
Clasa rtsp_server creează pe OpenMV Cam un server web RTSP cu o singură conexiune.
- class rtsp.rtsp_server(network_if: Any, port: int = 554)¶
Creează un server RTSP legat la
network_if.network_ifeste interfața modulului de rețea creată dinnetwork.LAN(),network.WLAN()sau similar.porteste portul TCP pe care se ascultă. Portul RTSP implicit este 554.- register_setup_cb(cb: Callable[[str, int], None]) None¶
Leagă o funcție de retroapelare (callback)
cbcare să fie invocată atunci când un client configurează o conexiune RTSP.Funcția de retroapelare primește
pathname(calea resursei de flux solicitate, implicit"/") șisession(un id de sesiune aleatoriu).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Leagă o funcție de retroapelare (callback)
cbcare să fie invocată atunci când un client începe transmiterea fluxului.Funcția de retroapelare primește
pathnameșisessionașa cum este descris înregister_setup_cb().
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Leagă o funcție de retroapelare (callback)
cbcare să fie invocată atunci când un client întrerupe transmiterea fluxului.Notă: butonul de pauză din VLC nu notifică efectiv serverul.
Funcția de retroapelare primește
pathnameșisessionașa cum este descris înregister_setup_cb().
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Leagă o funcție de retroapelare (callback)
cbcare să fie invocată atunci când un client închide conexiunea RTSP.Funcția de retroapelare primește
pathnameșisessionașa cum este descris înregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Pornește rularea logicii
rtsp_serverși nu se întoarce.image_callbackeste invocată pentru a produce fiecare cadru și trebuie să returneze un obiectimage.Image. Primeștepathnameșisessionașa cum este descris înrtsp_server.register_setup_cb().qualityeste calitatea de compresie JPEG folosită în timpul transmiterii fluxului.