이 페이지에서는 Live Stream API 디지털 동영상 녹화기 (DVR) 세션을 만들고 관리하는 방법을 보여줍니다. DVR 세션은 채널의 하위 리소스입니다. DVR 세션을 사용하여 향후 라이브 스트림을 녹화할 수 있습니다. 자세한 내용은 DVR 세션 만들기라는 별도의 가이드를 참고하세요.
Google Cloud 프로젝트 및 인증 설정
Google Cloud 프로젝트와 사용자 인증 정보를 만들지 않은 경우 시작하기 전에를 참조하세요.기본 요건
DVR 세션을 만들려면 다음 리소스를 만들어야 합니다.
DVR 세션 만들기
DVR 세션을 만들려면 projects.locations.channels.dvrSessions.create
메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: Google Cloud 프로젝트 번호. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.LOCATION
: 채널이 있는 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: 채널의 사용자 정의 식별자입니다.DVR_SESSION_ID
: DVR 세션의 사용자 정의 식별자입니다.INTERVAL_START_TIME
: 원래 실시간 스트림 매니페스트의 마크인 Unix epoch 시간. RFC3339 UTC 'Zulu' 형식의 타임스탬프를 사용합니다(예:2014-10-02T15:01:23Z
).INTERVAL_END_TIME
: 원래 실시간 스트림 매니페스트의 마크아웃 Unix epoch 시간. RFC3339 UTC 'Zulu' 형식의 타임스탬프를 사용합니다(예:2014-10-02T15:01:23Z
).
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
이 명령어는 요청 진행 상태를 추적하는 데 사용할 수 있는 장기 실행 작업(LRO)을 만듭니다. 자세한 내용은 장기 실행 작업 관리를 참조하세요.
DVR 세션 세부정보 가져오기
DVR 세션의 세부정보를 가져오려면 projects.locations.channels.dvrSessions.get
메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: Google Cloud 프로젝트 번호. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.LOCATION
: 채널이 있는 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: 채널의 사용자 정의 식별자입니다.DVR_SESSION_ID
: DVR 세션의 사용자 정의 식별자입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "dvrManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/dvr/DVR_SESSION_ID/main.m3u8" } ], "dvrWindows": [ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }
DVR 세션과 생성된 매니페스트는 상위 채널의 retentionConfig
에 따라 첫 번째 세그먼트가 만료되면 삭제됩니다. 세션이 구성된 보관 기간을 초과하도록 하려면 대신 채널 클립을 만드세요.
DVR 세션 업데이트
DVR 세션을 업데이트하려면 projects.locations.channels.dvrSessions.patch
메서드를 사용합니다.
다음 예에서는 DVR 세션에서 사용하는 DVR 시간 창을 업데이트합니다. 모든 필드를 업데이트할 수 있는 것은 아닙니다. 지원되는 필드 목록을 참조하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: Google Cloud 프로젝트 번호. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.LOCATION
: 채널이 있는 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: 채널의 사용자 정의 식별자입니다.DVR_SESSION_ID
: DVR 세션의 사용자 정의 식별자입니다.INTERVAL_START_TIME
: 원래 실시간 스트림 매니페스트의 마크인 Unix epoch 시간. RFC3339 UTC 'Zulu' 형식의 타임스탬프를 사용합니다(예:2014-10-02T15:01:23Z
).INTERVAL_END_TIME
: 원래 실시간 스트림 매니페스트의 마크아웃 Unix epoch 시간. RFC3339 UTC 'Zulu' 형식의 타임스탬프를 사용합니다(예:2014-10-02T15:01:23Z
).
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
이 명령어는 요청 진행 상태를 추적하는 데 사용할 수 있는 장기 실행 작업(LRO)을 만듭니다. 자세한 내용은 장기 실행 작업 관리를 참조하세요.
DVR 세션 상태가 LIVE
이고 업데이트로 인해 현재 DVR 매니페스트가 덮어쓸 수 있는 경우 업데이트 요청이 거부됩니다. 유일한 예외는 업데이트로 인해 DVR 세션이 더 짧아지는 경우입니다 (예: 종료 시간을 현재 또는 이전으로 변경). 이 경우 DVR 세션이 즉시 중지되고 DVR 세션이 COOLDOWN
상태로 전환됩니다.
60초의 대기 기간이 지나면 업데이트된 시작 시간과 종료 시간을 반영하도록 DVR 매니페스트가 덮어쓰기됩니다.
DVR 세션 나열
채널에 만든 모든 DVR 세션을 나열하려면 projects.locations.channels.dvrSessions.list
메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: Google Cloud 프로젝트 번호. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.LOCATION
: 채널이 있는 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: 채널의 사용자 정의 식별자
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "dvrSessions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SCHEDULED", "dvrManifests":[ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/dvr/DVR_SESSION_ID/main.m3u8" } ], "dvrWindows":[ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/my-other-DVR-session", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SCHEDULED", "dvrManifests":[ { "manifestKey": "manifest_hls2", "outputUri": "gs://BUCKET_NAME/dvr/my-other-DVR-session/main.m3u8" } ], "dvrWindows":[ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }, ] }
DVR 세션 삭제
DVR 세션을 삭제하려면 projects.locations.channels.dvrSessions.delete
메서드를 사용합니다. 이 메서드는 DVR 세션 작업과 생성된 매니페스트를 삭제합니다.
Cloud Storage 버킷에 생성된 리소스는 보관 구성에 따라 삭제됩니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: Google Cloud 프로젝트 번호. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.LOCATION
: 채널이 있는 위치. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: 채널의 사용자 정의 식별자입니다.DVR_SESSION_ID
: DVR 세션의 사용자 정의 식별자입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
이 명령어는 요청 진행 상태를 추적하는 데 사용할 수 있는 장기 실행 작업(LRO)을 만듭니다. 자세한 내용은 장기 실행 작업 관리를 참조하세요.