rtsp --- thư viện rtsp

Mô-đun rtsp trên OpenMV Cam cho phép bạn phát trực tuyến video từ OpenMV Cam đến bất kỳ client RTSP tương thích nào (như VLC).

Ví dụ:

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)

Kết nối một client đến rtsp://<camera-ip>:554/ để xem luồng phát.

class rtsp_server -- lớp rtsp_server

Lớp rtsp_server tạo một máy chủ web RTSP kết nối đơn trên OpenMV Cam của bạn.

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

Tạo một máy chủ RTSP gắn với network_if.

network_if là giao diện mô-đun mạng được tạo từ network.LAN(), network.WLAN(), hoặc tương tự.

port là cổng TCP để lắng nghe. Cổng RTSP mặc định là 554.

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

Gắn một hàm gọi lại cb để được gọi khi một client thiết lập kết nối RTSP.

Hàm gọi lại nhận pathname (đường dẫn tài nguyên luồng được yêu cầu, mặc định là "/") và session (một ID phiên ngẫu nhiên).

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

Gắn một hàm gọi lại cb để được gọi khi một client bắt đầu phát trực tuyến.

Hàm gọi lại nhận pathnamesession như mô tả trong register_setup_cb().

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

Gắn một hàm gọi lại cb để được gọi khi một client tạm dừng phát trực tuyến.

Lưu ý: nút tạm dừng của VLC thực ra không thông báo cho máy chủ.

Hàm gọi lại nhận pathnamesession như mô tả trong register_setup_cb().

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

Gắn một hàm gọi lại cb để được gọi khi một client ngắt kết nối RTSP.

Hàm gọi lại nhận pathnamesession như mô tả trong register_setup_cb().

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

Bắt đầu chạy logic của rtsp_server và không trả về.

image_callback được gọi để tạo mỗi khung hình và phải trả về một đối tượng image.Image. Nó nhận pathnamesession như mô tả trong rtsp_server.register_setup_cb().

quality là chất lượng nén JPEG được sử dụng khi phát trực tuyến.