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_if is de netwerkmodule-interface die is aangemaakt met network.LAN(), network.WLAN(), of vergelijkbaar.

port is de TCP-poort waarop geluisterd wordt. De standaard RTSP-poort is 554.

register_setup_cb(cb: Callable[[str, int], None]) None

Koppel een callback cb die wordt aangeroepen wanneer een client een RTSP-verbinding opzet.

De callback ontvangt pathname (het opgevraagde stream-resourcepad, standaard "/") en session (een willekeurig sessie-id).

register_play_cb(cb: Callable[[str, int], None]) None

Koppel een callback cb die wordt aangeroepen wanneer een client begint met streamen.

De callback ontvangt pathname en session zoals beschreven in register_setup_cb().

register_pause_cb(cb: Callable[[str, int], None]) None

Koppel een callback cb die 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 pathname en session zoals beschreven in register_setup_cb().

register_teardown_cb(cb: Callable[[str, int], None]) None

Koppel een callback cb die wordt aangeroepen wanneer een client de RTSP-verbinding afbreekt.

De callback ontvangt pathname en session zoals beschreven in register_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_callback wordt aangeroepen om elk frame te produceren en moet een image.Image-object retourneren. Het ontvangt pathname en session zoals beschreven in rtsp_server.register_setup_cb().

quality is de JPEG-compressiekwaliteit die tijdens het streamen wordt gebruikt.