rtsp — rtsp-Bibliothek¶
Das rtsp-Modul auf der OpenMV Cam ermöglicht es Ihnen, Video von Ihrer OpenMV Cam an jeden kompatiblen RTSP-Client (wie VLC) zu streamen.
Beispiel:
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)
Verbinden Sie einen Client mit rtsp://<camera-ip>:554/, um den Stream anzusehen.
class rtsp_server – rtsp_server-Klasse¶
Die rtsp_server-Klasse erstellt einen RTSP-Webserver mit einer einzelnen Verbindung auf Ihrer OpenMV Cam.
- class rtsp.rtsp_server(network_if: Any, port: int = 554)¶
Erstellt einen an
network_ifgebundenen RTSP-Server.network_ifist die Netzwerkmodul-Schnittstelle, die mitnetwork.LAN(),network.WLAN()oder Ähnlichem erstellt wurde.portist der TCP-Port, auf dem gelauscht werden soll. Der Standard-RTSP-Port ist 554.- register_setup_cb(cb: Callable[[str, int], None]) None¶
Bindet einen Callback
cb, der aufgerufen wird, wenn ein Client eine RTSP-Verbindung einrichtet.Der Callback erhält
pathname(den angeforderten Pfad der Stream-Ressource, standardmäßig"/") undsession(eine zufällige Session-ID).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Bindet einen Callback
cb, der aufgerufen wird, wenn ein Client mit dem Streamen beginnt.Der Callback erhält
pathnameundsessionwie inregister_setup_cb()beschrieben.
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Bindet einen Callback
cb, der aufgerufen wird, wenn ein Client das Streamen pausiert.Hinweis: Die Pause-Schaltfläche von VLC benachrichtigt den Server tatsächlich nicht.
Der Callback erhält
pathnameundsessionwie inregister_setup_cb()beschrieben.
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Bindet einen Callback
cb, der aufgerufen wird, wenn ein Client die RTSP-Verbindung abbaut.Der Callback erhält
pathnameundsessionwie inregister_setup_cb()beschrieben.
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Startet die Ausführung der
rtsp_server-Logik und kehrt nicht zurück.image_callbackwird aufgerufen, um jedes Einzelbild zu erzeugen, und muss einimage.Image-Objekt zurückgeben. Es erhältpathnameundsessionwie inrtsp_server.register_setup_cb()beschrieben.qualityist die JPEG-Kompressionsqualität, die während des Streamens verwendet wird.