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_ifto interfejs modułu sieciowego utworzony przeznetwork.LAN(),network.WLAN()lub podobny.portto 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"/") orazsession(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
pathnameisessionzgodnie z opisem wregister_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
pathnameisessionzgodnie z opisem wregister_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
pathnameisessionzgodnie z opisem wregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Uruchamia logikę
rtsp_serveri nie zwraca sterowania.image_callbackjest wywoływane w celu wytworzenia każdej ramki i musi zwrócić obiektimage.Image. Otrzymujepathnameisessionzgodnie z opisem wrtsp_server.register_setup_cb().qualityto jakość kompresji JPEG używana podczas strumieniowania.