rtsp — biblioteka rtsp

Moduł rtsp w OpenMV Cam pozwala strumieniować wideo z OpenMV Cam do dowolnego zgodnego klienta RTSP (jak VLC).

Przykład:

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)

Podłącz klienta do rtsp://<camera-ip>:554/, aby wyświetlić strumień.

klasa rtsp_server – klasa rtsp_server

Klasa rtsp_server tworzy jednopołączeniowy serwer WWW RTSP na OpenMV Cam.

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

Tworzy serwer RTSP powiązany z network_if.

network_if to interfejs modułu sieciowego utworzony przez network.LAN(), network.WLAN() lub podobny.

port to port TCP, na którym serwer nasłuchuje. Domyślny port RTSP to 554.

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

Powiąż wywołanie zwrotne cb, które ma być wywoływane, gdy klient nawiązuje połączenie RTSP.

Wywołanie zwrotne otrzymuje pathname (żądaną ścieżkę zasobu strumienia, domyślnie "/") oraz session (losowy identyfikator sesji).

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

Powiąż wywołanie zwrotne cb, które ma być wywoływane, gdy klient rozpoczyna strumieniowanie.

Wywołanie zwrotne otrzymuje pathname i session zgodnie z opisem w register_setup_cb().

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

Powiąż wywołanie zwrotne cb, które ma być wywoływane, gdy klient wstrzymuje strumieniowanie.

Uwaga: przycisk pauzy w VLC w rzeczywistości nie powiadamia serwera.

Wywołanie zwrotne otrzymuje pathname i session zgodnie z opisem w register_setup_cb().

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

Powiąż wywołanie zwrotne cb, które ma być wywoływane, gdy klient zrywa połączenie RTSP.

Wywołanie zwrotne otrzymuje pathname i session zgodnie z opisem w register_setup_cb().

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

Uruchamia logikę rtsp_server i nie zwraca sterowania.

image_callback jest wywoływane w celu wytworzenia każdej ramki i musi zwrócić obiekt image.Image. Otrzymuje pathname i session zgodnie z opisem w rtsp_server.register_setup_cb().

quality to jakość kompresji JPEG używana podczas strumieniowania.