rtsp — rtsp-kirjasto

OpenMV Camin rtsp-moduuli mahdollistaa videon suoratoiston OpenMV Camilta mihin tahansa yhteensopivaan RTSP-asiakkaaseen (kuten VLC).

Esimerkki:

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)

Yhdistä asiakas osoitteeseen rtsp://<camera-ip>:554/ katsoaksesi suoratoistoa.

class rtsp_server – rtsp_server-luokka

rtsp_server-luokka luo yhden yhteyden RTSP-verkkopalvelimen OpenMV Camille.

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

Luo RTSP-palvelimen, joka on sidottu network_if-rajapintaan.

network_if on verkkomoduulin rajapinta, joka on luotu funktiolla network.LAN(), network.WLAN() tai vastaavalla.

port on TCP-portti, jota kuunnellaan. Oletusarvoinen RTSP-portti on 554.

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

Sitoo takaisinkutsun cb, jota kutsutaan kun asiakas muodostaa RTSP-yhteyden.

Takaisinkutsu vastaanottaa pathname-arvon (pyydetyn suoratoistoresurssin polku, oletusarvo "/") ja session-arvon (satunnainen istunnon id).

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

Sitoo takaisinkutsun cb, jota kutsutaan kun asiakas aloittaa suoratoiston.

Takaisinkutsu vastaanottaa pathname- ja session-arvot, kuten kuvattu kohdassa register_setup_cb().

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

Sitoo takaisinkutsun cb, jota kutsutaan kun asiakas keskeyttää suoratoiston.

Huomaa: VLC:n taukopainike ei todellisuudessa ilmoita palvelimelle.

Takaisinkutsu vastaanottaa pathname- ja session-arvot, kuten kuvattu kohdassa register_setup_cb().

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

Sitoo takaisinkutsun cb, jota kutsutaan kun asiakas purkaa RTSP-yhteyden.

Takaisinkutsu vastaanottaa pathname- ja session-arvot, kuten kuvattu kohdassa register_setup_cb().

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

Käynnistää rtsp_server-logiikan eikä palaa.

image_callback-funktiota kutsutaan jokaisen kehyksen tuottamiseksi, ja sen on palautettava image.Image-objekti. Se vastaanottaa pathname- ja session-arvot, kuten kuvattu kohdassa rtsp_server.register_setup_cb().

quality on suoratoiston aikana käytettävä JPEG-pakkauslaatu.