rtsp — rtsp-bibliotek

Modulen rtsp på OpenMV Cam låter dig strömma video från din OpenMV Cam till valfri kompatibel RTSP-klient (som VLC).

Exempel:

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)

Anslut en klient till rtsp://<camera-ip>:554/ för att visa strömmen.

class rtsp_server – rtsp_server-klass

Klassen rtsp_server skapar en RTSP-webbserver med en enda anslutning på din OpenMV Cam.

class rtsp.rtsp_server(network_if: Any, port: int = 554)

Skapar en RTSP-server bunden till network_if.

network_if är nätverksmodulens gränssnitt som skapats från network.LAN(), network.WLAN() eller liknande.

port är TCP-porten att lyssna på. Standard-RTSP-porten är 554.

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

Binder ett återanrop cb som ska anropas när en klient upprättar en RTSP-anslutning.

Återanropet tar emot pathname (den begärda strömresursens sökväg, standardvärde "/") och session (ett slumpmässigt sessions-id).

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

Binder ett återanrop cb som ska anropas när en klient börjar strömma.

Återanropet tar emot pathname och session enligt beskrivningen i register_setup_cb().

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

Binder ett återanrop cb som ska anropas när en klient pausar strömningen.

Observera: VLC:s pausknapp meddelar faktiskt inte servern.

Återanropet tar emot pathname och session enligt beskrivningen i register_setup_cb().

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

Binder ett återanrop cb som ska anropas när en klient avslutar RTSP-anslutningen.

Återanropet tar emot pathname och session enligt beskrivningen i register_setup_cb().

stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None

Startar körningen av logiken i rtsp_server och returnerar inte.

image_callback anropas för att producera varje bildruta och måste returnera ett image.Image-objekt. Det tar emot pathname och session enligt beskrivningen i rtsp_server.register_setup_cb().

quality är JPEG-komprimeringskvaliteten som används vid strömning.