rtsp — rtsp 라이브러리¶
OpenMV Cam의 rtsp 모듈은 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)¶
network_if에 바인딩된 RTSP 서버를 생성합니다.network_if는network.LAN(),network.WLAN()또는 유사한 함수로 생성된 네트워크 모듈 인터페이스입니다.port는 수신 대기할 TCP 포트입니다. 기본 RTSP 포트는 554입니다.- register_setup_cb(cb: Callable[[str, int], None]) None¶
클라이언트가 RTSP 연결을 설정할 때 호출될 콜백
cb를 바인딩합니다.콜백은
pathname(요청된 스트림 리소스 경로, 기본값은"/")과session(무작위 세션 id)을 받습니다.
- register_play_cb(cb: Callable[[str, int], None]) None¶
클라이언트가 스트리밍을 시작할 때 호출될 콜백
cb를 바인딩합니다.콜백은
register_setup_cb()에서 설명한 대로pathname과session을 받습니다.
- register_pause_cb(cb: Callable[[str, int], None]) None¶
클라이언트가 스트리밍을 일시 중지할 때 호출될 콜백
cb를 바인딩합니다.참고: VLC의 일시 중지 버튼은 실제로 서버에 알리지 않습니다.
콜백은
register_setup_cb()에서 설명한 대로pathname과session을 받습니다.
- register_teardown_cb(cb: Callable[[str, int], None]) None¶
클라이언트가 RTSP 연결을 종료할 때 호출될 콜백
cb를 바인딩합니다.콜백은
register_setup_cb()에서 설명한 대로pathname과session을 받습니다.
- stream(image_callback: Callable[[str, int], image.Image], quality: int = 90) None¶
rtsp_server로직 실행을 시작하며 반환하지 않습니다.image_callback은 각 프레임을 생성하기 위해 호출되며image.Image객체를 반환해야 합니다. 이 콜백은rtsp_server.register_setup_cb()에서 설명한 대로pathname과session을 받습니다.quality는 스트리밍 중에 사용되는 JPEG 압축 품질입니다.