서버리스 비디오 스트리밍 API
Roboflow Cloud에서 실시간 비디오에 대해 Roboflow Workflows를 실행하세요. 웹캠, RTSP 카메라 또는 비디오 파일에서 WebRTC를 통해 입력을 스트리밍하고 애플리케이션에서 추론 결과를 받아보세요.
개요
Serverless Streaming API는 WebRTC를 사용하여 웹캠, RTSP 카메라 또는 비디오 파일의 영상을 Roboflow Cloud로 스트리밍합니다. 귀하의 Workflow 는 각 프레임을 처리하고 결과를 애플리케이션으로 스트리밍합니다.
이 API로 모든 Workflow를 실행할 수 있습니다. 단일 모델 추론의 경우 모델을 래핑하는 Workflow를 만드세요.
지원되는 입력 소스:
웹캠: MediaStream API를 통한 브라우저 또는 기기 카메라
RTSP: IP 카메라 또는 RTSP 호환 소스. 클라우드 함수가 연결할 수 있도록 URL은 인터넷에서 공개적으로 접근 가능해야 합니다. URL 내 사용자명/암호를 통한 인증(예:
rtsp://user:pass@host/stream).비디오 파일: Data Channel을 통해 업로드된 사전 녹화된 비디오
작동 방식
스트리밍 세션을 시작하면 SDK가 Roboflow의 API를 호출하여 WebRTC 연결을 초기화합니다. API는 Workflow를 실행하는 serverless 함수를 생성합니다. 연결되면 데이터는 두 개의 WebRTC 채널을 통해 흐릅니다:
비디오 트랙
비디오 프레임을 양방향으로 스트리밍합니다. 웹캠이나 비디오 파일에서 프레임을 전송하고 주석/처리된 프레임을 다시 수신합니다. 비디오 트랙은 실시간 디스플레이에 최적화되어 있어 사용 가능한 대역폭에 따라 해상도를 조정하고 프레임을 버릴 수 있습니다. 연결이 안정되면 품질이 향상됩니다.
WebRTC 혼잡 제어로 인해 특히 1920×1080 30 FPS와 같은 높은 해상도에서는 품질과 FPS가 완전한 용량으로 상승하는 데 최대 1분이 걸릴 수 있습니다.
데이터 채널
구조화된 추론 결과를 JSON 메시지로 전송합니다. 여기에는 예측, 좌표 및 분류와 같은 모든 Workflow 출력 데이터가 포함됩니다. 데이터 채널은 비디오 트랙과 달리 신뢰성 있고 순서가 보장된 전달을 제공하며 실시간 카메라 피드를 따라가기 위한 최적화를 하지 않습니다. 비디오 파일을 처리하려면 Data Channel을 통해 파일을 업로드하고 동일한 방식으로 결과를 소비하여 비디오를 완전히 처리할 수 있습니다.
두 채널을 동시에 사용할 수 있습니다. 예를 들어 주석이 달린 비디오를 표시하면서 애플리케이션에서 구조화된 예측 데이터를 처리할 수 있습니다.
지역 및 GPU 플랜
지정하세요 requested_region 및 requested_plan 구성에서 스트림이 처리되는 위치와 방식을 제어하려면
지역: us (미국), eu (유럽), ap (아시아 태평양)
지연 시간을 최소화하려면 사용자나 비디오 소스와 가장 가까운 지역을 선택하세요.
GPU 플랜:
webrtc-gpu-medium: 기본값이며 대부분의 Workflow에 권장됩니다webrtc-gpu-small: 비용이 낮음. Medium이 귀하의 사용 사례에 잘 작동하는 것을 확인한 후 시도해 보세요.webrtc-gpu-large: SAM3 및 SAM3을 사용하는 Rapid Models에 필요합니다(약 5 FPS 예상)
요금
선택한 GPU 플랜을 기준으로 시간 단위로 청구됩니다. 서버리스 함수가 생성되고 WebRTC 연결이 설정되면 청구가 시작됩니다. 현재 요금은 roboflow.com/credits 에서 확인하세요.
SDK
JavaScript
웹 브라우저 및 React Native 애플리케이션용.
프론트엔드 코드에 API 키를 노출하지 마세요. 백엔드 프록시 엔드포인트를 사용하여 안전하게 보관하세요.
Python
백엔드 애플리케이션, RTSP 스트림 및 비디오 파일 처리용.
예제 스크립트 (웹캠, RTSP, 비디오 파일)
구성
스트리밍 세션을 생성할 때 StreamConfig 객체를 전달하여 동작을 제어하세요:
stream_output: Video Track을 통해 스트리밍할 Workflow 출력 이름 목록data_output: Data Channel을 통해 전송할 Workflow 출력 이름 목록requested_plan: GPU 플랜(위 참조)requested_region: 지역 코드(us,eu, 또는ap)realtime_processing: 만약True(기본값), 처리 속도를 따라오지 못할 때 프레임을 버립니다workflow_parameters: Workflow에 전달할 매개변수 딕셔너리
코드 없이 테스트하기
Roboflow 웹 인터페이스에서 직접 스트리밍을 테스트할 수 있습니다:
으로 이동 app.roboflow.com
열기 Workflows 탭
Workflow를 선택하고 클릭 Test Workflow
소스(Webcam, RTSP 또는 Video File)를 선택하고 GPU/지역 설정을 구성하세요
클릭 Run
Last updated
Was this helpful?