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 создаёт на вашей OpenMV Cam RTSP-веб-сервер с одним соединением.
- 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-сжатия, используемое во время потоковой передачи.