스트림 만들기 및 데이터 처리

애플리케이션으로 동영상 데이터를 분석하는 첫 번째 단계는 연속적인 데이터 흐름을 위한 파이프라인을 만드는 것입니다. 스트림은 실시간 동영상 데이터를 수집하는 기능을 제공하며, 이 데이터는 모델의 입력으로 사용되거나 창고에 저장될 수 있습니다.

스트림 만들기

동영상 데이터를 스트리밍하려면 먼저 스트림을 만들어야 합니다.

새 프로젝트에서 스트림을 처음 만들 때는 스트림을 만드는 데 다소 시간이 걸릴 수 있습니다. 이 시간은 약 30분입니다. 이 시간은 시스템이 후속 계산을 위해 계산 클러스터를 초기화해야 하기 때문입니다.

콘솔

Google Cloud 콘솔에서 스트림을 만듭니다.

  1. Vertex AI Vision 대시보드의 스트림 탭을 엽니다.

    스트림 탭으로 이동

  2. 등록을 클릭합니다.

  3. 스트림 이름을 입력하고 리전을 선택합니다. 행 추가를 클릭하여 여러 스트림을 동시에 등록할 수 있습니다.

  4. 등록 버튼을 클릭하여 스트림을 하나 이상 만듭니다.

동영상 처리

스트림을 만든 후에는 해당 스트림을 사용하여 데이터 처리를 시작할 수 있습니다.

처리된 동영상에는 다음과 같은 제한사항과 고려사항이 적용됩니다.

  • 입력 동영상 소스는 다음 사양을 충족해야 합니다.

    동영상이 이러한 사양을 충족하지 않으면 Vertex AI Vision에서 입력을 제대로 처리하지 못할 수 있습니다.

  • 처리 중에 오디오가 누락됩니다.
  • 스트림이 창고에 연결된 앱의 일부인 경우 동영상 매개변수(예: FPS 또는 해상도)는 전체 스트림에서 동일해야 합니다. RTSP 동영상 데이터 매개변수 또는 로컬 동영상 데이터 매개변수의 변형은 지원되지 않습니다.
  • 모델 시작 지연으로 인해 처리된 동영상에서 처음 몇 초의 콘텐츠가 누락될 수 있습니다. 이 시간은 최대 15초까지 걸릴 수 있습니다.
  • 연결 시간이 길어질 경우 처리가 종료될 수 있습니다(평균 5시간). vaictl 도구에는 다시 연결 기능이 없습니다. 사용자는 수동으로 다시 연결해야 합니다.
  • vaictl는 동영상 데이터를 처리하는 데 유용한 도구이지만 이 도구는 네트워크 오류 복구를 자동으로 처리하지 않습니다. 이러한 오류는 데이터 소스 측 또는 Cloud 처리 측에서 발생할 수 있습니다. 예기치 않은 vaictl 작업 종료를 처리하는 다시 시작 스크립트를 만드는 것은 사용자의 책임입니다.

Vertex AI Vision SDK

기존 스트림을 사용하여 동영상 데이터 처리를 요청하려면 Vertex AI Vision SDK를 설치해야 합니다.

다음 변수를 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • LOCATION_ID: 위치 ID입니다. 예를 들면 us-central1입니다. 추가 정보 지원되는 리전
  • LOCAL_FILE.EXT: 로컬 동영상 파일의 파일 이름입니다. 예를 들면 my-video.mp4입니다.
  • STREAM_ID: 클러스터에서 만든 스트림 ID입니다(예: input-1).
  • RTSP_ADDRESS: 실시간 스트리밍 프로토콜(RTSP) 피드의 주소입니다. 예를 들면 rtsp://my-ip-camera입니다.

로컬 동영상 데이터:

# This command streams a video file to a stream. Streaming ends when the video ends.
vaictl -p PROJECT_ID \
         -l LOCATION_ID \
         -c application-cluster-0 \
         --service-endpoint visionai.googleapis.com \
send video-file to streams STREAM_ID --file-path LOCAL_FILE.EXT

로컬 동영상 데이터 (반복):

# This command streams a video file to a stream. Video is looped into the stream until you stop the command.
vaictl -p PROJECT_ID \
         -l LOCATION_ID \
         -c application-cluster-0 \
         --service-endpoint visionai.googleapis.com \
send video-file to streams STREAM_ID --file-path LOCAL_FILE.EXT --loop

실시간 스트리밍 프로토콜 (RTSP) 피드 데이터:

# This command will send an RTSP feed into the stream.
# This command has to run in the network that has direct access to the RTSP feed.
vaictl -p PROJECT_ID \
         -l LOCATION_ID \
         -c application-cluster-0 \
         --service-endpoint visionai.googleapis.com \
send rtsp to streams STREAM_ID --rtsp-uri RTSP_ADDRESS

처리된 동영상 재생

스트림을 만들고 동영상 콘텐츠를 스트림으로 전송한 후 동영상 콘텐츠를 재생할 수 있습니다.

스트림 보기 탭을 1시간 넘게 열어두면 페이지를 새로고침해야 동영상 콘텐츠를 계속 로드할 수 있습니다.

콘솔

Google Cloud 콘솔에서 처리된 동영상을 재생합니다.

  1. Vertex AI Vision 대시보드의 스트림 탭을 엽니다.

    스트림 탭으로 이동

  2. 스트림 목록에서 스트림 이름을 클릭합니다.

  3. 동영상 스트림 세부정보 페이지에서 처리된 동영상 실시간 보기가 자동으로 로드됩니다.