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ånnetwork.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
cbsom 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"/") ochsession(ett slumpmässigt sessions-id).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Binder ett återanrop
cbsom ska anropas när en klient börjar strömma.Återanropet tar emot
pathnameochsessionenligt beskrivningen iregister_setup_cb().
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Binder ett återanrop
cbsom ska anropas när en klient pausar strömningen.Observera: VLC:s pausknapp meddelar faktiskt inte servern.
Återanropet tar emot
pathnameochsessionenligt beskrivningen iregister_setup_cb().
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Binder ett återanrop
cbsom ska anropas när en klient avslutar RTSP-anslutningen.Återanropet tar emot
pathnameochsessionenligt beskrivningen iregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Startar körningen av logiken i
rtsp_serveroch returnerar inte.image_callbackanropas för att producera varje bildruta och måste returnera ettimage.Image-objekt. Det tar emotpathnameochsessionenligt beskrivningen irtsp_server.register_setup_cb().qualityär JPEG-komprimeringskvaliteten som används vid strömning.