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_iflà giao diện mô-đun mạng được tạo từnetwork.LAN(),network.WLAN(), hoặc tương tự.portlà 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
pathnamevàsessionnhư mô tả trongregister_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
pathnamevàsessionnhư mô tả trongregister_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
pathnamevàsessionnhư mô tả trongregister_setup_cb().
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
Bắt đầu chạy logic của
rtsp_servervà 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ượngimage.Image. Nó nhậnpathnamevàsessionnhư mô tả trongrtsp_server.register_setup_cb().qualitylà chất lượng nén JPEG được sử dụng khi phát trực tuyến.