rtsp — biblioteca rtsp¶
O módulo rtsp na OpenMV Cam permite que você transmita vídeo da sua OpenMV Cam para qualquer cliente RTSP compatível (como o VLC).
Exemplo:
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 um cliente a rtsp://<camera-ip>:554/ para visualizar a transmissão.
class rtsp_server – classe rtsp_server¶
A classe rtsp_server cria um servidor web RTSP de conexão única na sua OpenMV Cam.
- class rtsp.rtsp_server(network_if: Any, port: int = 554)¶
Cria um servidor RTSP vinculado a
network_if.network_ifé a interface do módulo de rede criada a partir denetwork.LAN(),network.WLAN()ou similar.porté a porta TCP na qual escutar. A porta RTSP padrão é 554.- register_setup_cb(cb: Callable[[str, int], None]) None¶
Vincula um callback
cbpara ser invocado quando um cliente configura uma conexão RTSP.O callback recebe
pathname(o caminho do recurso de stream solicitado, com padrão"/") esession(um id de sessão aleatório).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Vincula um callback
cbpara ser invocado quando um cliente inicia a transmissão.O callback recebe
pathnameesessionconforme descrito emregister_setup_cb().
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Vincula um callback
cbpara ser invocado quando um cliente pausa a transmissão.Observação: o botão de pausa do VLC não notifica de fato o servidor.
O callback recebe
pathnameesessionconforme descrito emregister_setup_cb().
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Vincula um callback
cbpara ser invocado quando um cliente encerra a conexão RTSP.O callback recebe
pathnameesessionconforme descrito emregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Inicia a execução da lógica do
rtsp_servere não retorna.image_callbacké invocado para produzir cada quadro e deve retornar um objetoimage.Image. Ele recebepathnameesessionconforme descrito emrtsp_server.register_setup_cb().qualityé a qualidade de compressão JPEG usada durante a transmissão.