rtsp — knihovna rtsp¶
Modul rtsp na OpenMV Cam vám umožňuje streamovat video z vaší OpenMV Cam do libovolného kompatibilního RTSP klienta (jako je VLC).
Příklad:
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)
Pro zobrazení streamu připojte klienta k rtsp://<camera-ip>:554/.
třída rtsp_server – třída rtsp_server¶
Třída rtsp_server vytvoří na vaší OpenMV Cam webový RTSP server s jedním připojením.
- class rtsp.rtsp_server(network_if: Any, port: int = 554)¶
Vytvoří RTSP server navázaný na
network_if.network_ifje rozhraní síťového modulu vytvořené pomocínetwork.LAN(),network.WLAN()nebo podobně.portje TCP port, na kterém se naslouchá. Výchozí RTSP port je 554.- register_setup_cb(cb: Callable[[str, int], None]) None¶
Naváže callback
cb, který se vyvolá, když klient naváže RTSP připojení.Callback obdrží
pathname(požadovanou cestu ke zdroji streamu, výchozí hodnota je"/") asession(náhodné id relace).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Naváže callback
cb, který se vyvolá, když klient zahájí streamování.Callback obdrží
pathnameasession, jak je popsáno vregister_setup_cb().
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Naváže callback
cb, který se vyvolá, když klient pozastaví streamování.Poznámka: Tlačítko pauzy ve VLC ve skutečnosti server neinformuje.
Callback obdrží
pathnameasession, jak je popsáno vregister_setup_cb().
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Naváže callback
cb, který se vyvolá, když klient ukončí RTSP připojení.Callback obdrží
pathnameasession, jak je popsáno vregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Spustí běh logiky
rtsp_servera nevrací se.image_callbackje vyvolán pro vytvoření každého snímku a musí vrátit objektimage.Image. Obdržípathnameasession, jak je popsáno vrtsp_server.register_setup_cb().qualityje kvalita JPEG komprese použitá během streamování.