rtsp — бібліотека rtsp¶
Модуль rtsp на OpenMV Cam дозволяє транслювати відео з OpenMV Cam до будь-якого сумісного RTSP-клієнта (наприклад, VLC).
Приклад:
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)
Підключіть клієнт до rtsp://<camera-ip>:554/ для перегляду трансляції.
class rtsp_server – клас rtsp_server¶
Клас rtsp_server створює RTSP-веб-сервер з одним підключенням на OpenMV Cam.
- class rtsp.rtsp_server(network_if: Any, port: int = 554)¶
Створює RTSP-сервер, прив’язаний до
network_if.network_if— об’єкт мережевого модуля, створений за допомогоюnetwork.LAN(),network.WLAN()або аналогічного.port— TCP-порт для прослуховування. Стандартний RTSP-порт — 554.- register_setup_cb(cb: Callable[[str, int], None]) None¶
Прив’язати зворотний виклик
cb, що викликатиметься при встановленні клієнтом RTSP-з’єднання.Зворотний виклик отримує
pathname(запитуваний шлях до потокового ресурсу, за замовчуванням"/") таsession(випадковий ідентифікатор сесії).
- register_play_cb(cb: Callable[[str, int], None]) None¶
Прив’язати зворотний виклик
cb, що викликатиметься при запуску клієнтом трансляції.Зворотний виклик отримує
pathnameтаsession, як описано вregister_setup_cb().
- register_pause_cb(cb: Callable[[str, int], None]) None¶
Прив’язати зворотний виклик
cb, що викликатиметься при паузі клієнтом трансляції.Примітка: кнопка паузи VLC насправді не сповіщає сервер.
Зворотний виклик отримує
pathnameтаsession, як описано вregister_setup_cb().
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
Прив’язати зворотний виклик
cb, що викликатиметься при розриві клієнтом RTSP-з’єднання.Зворотний виклик отримує
pathnameтаsession, як описано вregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Запускає логіку
rtsp_serverі не повертається.image_callbackвикликається для генерації кожного кадру і має повертати об’єктimage.Image. Він отримуєpathnameтаsession, як описано вrtsp_server.register_setup_cb().quality— якість стиснення JPEG під час трансляції.