rtsp — biblioteca rtsp¶
El módulo rtsp de la OpenMV Cam le permite transmitir video desde su OpenMV Cam a cualquier cliente RTSP compatible (como VLC).
Ejemplo:
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)
Conecte un cliente a rtsp://<camera-ip>:554/ para ver la transmisión.
class rtsp_server – clase rtsp_server¶
La clase rtsp_server crea un servidor web RTSP de una sola conexión en su OpenMV Cam.
- class rtsp.rtsp_server(network_if: Any, port: int = 554)¶
Crea un servidor RTSP enlazado a
network_if.network_ifes la interfaz del módulo de red creada a partir denetwork.LAN(),network.WLAN()o similar.portes el puerto TCP en el que escuchar. El puerto RTSP predeterminado es 554.- register_setup_cb(cb: Callable[[str, int], None]) None¶
Enlaza una función de retorno
cbpara que se invoque cuando un cliente establece una conexión RTSP.La función de retorno recibe
pathname(la ruta del recurso de transmisión solicitado, por defecto"/") ysession(un id de sesión aleatorio).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Enlaza una función de retorno
cbpara que se invoque cuando un cliente inicia la transmisión.La función de retorno recibe
pathnameysessioncomo se describe enregister_setup_cb().
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Enlaza una función de retorno
cbpara que se invoque cuando un cliente pausa la transmisión.Nota: el botón de pausa de VLC en realidad no notifica al servidor.
La función de retorno recibe
pathnameysessioncomo se describe enregister_setup_cb().
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Enlaza una función de retorno
cbpara que se invoque cuando un cliente cierra la conexión RTSP.La función de retorno recibe
pathnameysessioncomo se describe enregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Inicia la ejecución de la lógica de
rtsp_servery no retorna.image_callbackse invoca para producir cada fotograma y debe devolver un objetoimage.Image. Recibepathnameysessioncomo se describe enrtsp_server.register_setup_cb().qualityes la calidad de compresión JPEG usada durante la transmisión.