rtsp — rtsp-bibliotheek¶
Met de rtsp-module op de OpenMV Cam kun je video van je OpenMV Cam streamen naar elke compatibele RTSP-client (zoals VLC).
Voorbeeld:
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)
Verbind een client met rtsp://<camera-ip>:554/ om de stream te bekijken.
class rtsp_server – rtsp_server-klasse¶
De rtsp_server-klasse maakt een RTSP-webserver met één verbinding op je OpenMV Cam aan.
- class rtsp.rtsp_server(network_if: Any, port: int = 554)¶
Maakt een RTSP-server aan die gebonden is aan
network_if.network_ifis de netwerkmodule-interface die is aangemaakt metnetwork.LAN(),network.WLAN(), of vergelijkbaar.portis de TCP-poort waarop geluisterd wordt. De standaard RTSP-poort is 554.- register_setup_cb(cb: Callable[[str, int], None]) None¶
Koppel een callback
cbdie wordt aangeroepen wanneer een client een RTSP-verbinding opzet.De callback ontvangt
pathname(het opgevraagde stream-resourcepad, standaard"/") ensession(een willekeurig sessie-id).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Koppel een callback
cbdie wordt aangeroepen wanneer een client begint met streamen.De callback ontvangt
pathnameensessionzoals beschreven inregister_setup_cb().
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Koppel een callback
cbdie wordt aangeroepen wanneer een client het streamen pauzeert.Let op: de pauzeknop van VLC stelt de server hier niet daadwerkelijk van op de hoogte.
De callback ontvangt
pathnameensessionzoals beschreven inregister_setup_cb().
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Koppel een callback
cbdie wordt aangeroepen wanneer een client de RTSP-verbinding afbreekt.De callback ontvangt
pathnameensessionzoals beschreven inregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Start de uitvoering van de
rtsp_server-logica en keert niet terug.image_callbackwordt aangeroepen om elk frame te produceren en moet eenimage.Image-object retourneren. Het ontvangtpathnameensessionzoals beschreven inrtsp_server.register_setup_cb().qualityis de JPEG-compressiekwaliteit die tijdens het streamen wordt gebruikt.