Esta página mostra como criar e gerenciar sessões de gravador de vídeo digital (DVR) da API Live Stream. Uma sessão de DVR é um subrecurso de um canal. Você pode usar uma sessão de DVR para gravar uma transmissão ao vivo futura. Para mais informações, consulte o guia separado Criar uma sessão de DVR.
Configurar o projeto e a autenticação do Google Cloud
Se você não criou um projeto do Google Cloud e credenciais, consulte Antes de começar.Pré-requisitos
É necessário criar os seguintes recursos antes de criar uma sessão de DVR:
Crie um canal com uma configuração de retenção e uma chave de manifesto.
Criar uma sessão de DVR
Para criar uma sessão de DVR, use o
método
projects.locations.channels.dvrSessions.create
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_NUMBER
: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM.LOCATION
: o local em que seu canal está localizado. Use uma das regiões com suporte.Mostrar locaisus-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
: um identificador definido pelo usuário para o canalDVR_SESSION_ID
: um identificador definido pelo usuário para a sessão de DVRINTERVAL_START_TIME
: o horário da marcação da época Unix no manifesto original da transmissão ao vivo; usa um carimbo de data/hora no formato "Zulu" UTC RFC3339 (por exemplo,2014-10-02T15:01:23Z
).INTERVAL_END_TIME
: o horário da época Unix de marcação no manifesto original da transmissão ao vivo; usa um carimbo de data/hora no formato "Zulu" UTC RFC3339 (por exemplo,2014-10-02T15:01:23Z
).
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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 }
Esse comando cria uma operação de longa duração (LRO, na sigla em inglês) que pode ser usada para acompanhar o andamento da solicitação. Consulte Gerenciar operações de longa duração para mais informações.
Acessar detalhes da sessão de DVR
Para conferir os detalhes de uma sessão de DVR, use o
método
projects.locations.channels.dvrSessions.get
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_NUMBER
: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM.LOCATION
: o local em que seu canal está localizado. Use uma das regiões com suporte.Mostrar locaisus-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
: um identificador definido pelo usuário para o canalDVR_SESSION_ID
: um identificador definido pelo usuário para a sessão de DVR
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" } } ] }
As sessões de DVR e os manifestos gerados são removidos quando o primeiro segmento
expira de acordo com o retentionConfig
do canal pai. Se você quiser que a sessão
dure mais do que a janela de retenção configurada,
crie um clipe de canal.
Atualizar uma sessão de DVR
Para atualizar uma sessão de DVR, use o
método
projects.locations.channels.dvrSessions.patch
.
O exemplo a seguir atualiza as janelas de tempo do DVR usadas pela sessão do DVR. Nem todos os campos podem ser atualizados. Consulte a lista de campos compatíveis.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_NUMBER
: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM.LOCATION
: o local em que seu canal está localizado. Use uma das regiões com suporte.Mostrar locaisus-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
: um identificador definido pelo usuário para o canalDVR_SESSION_ID
: um identificador definido pelo usuário para a sessão de DVRINTERVAL_START_TIME
: o horário da marcação da época Unix no manifesto original da transmissão ao vivo; usa um carimbo de data/hora no formato "Zulu" UTC RFC3339 (por exemplo,2014-10-02T15:01:23Z
).INTERVAL_END_TIME
: o horário da época Unix de marcação no manifesto original da transmissão ao vivo; usa um carimbo de data/hora no formato "Zulu" UTC RFC3339 (por exemplo,2014-10-02T15:01:23Z
).
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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 }
Esse comando cria uma operação de longa duração (LRO, na sigla em inglês) que pode ser usada para acompanhar o andamento da solicitação. Consulte Gerenciar operações de longa duração para mais informações.
As solicitações de atualização são rejeitadas se o estado da sessão do DVR for
LIVE
e a atualização puder substituir o manifesto atual do DVR. A única
exceção a isso é quando a atualização encurta a sessão do DVR (por exemplo,
mudando o horário de término para o presente ou algum momento do passado). Nesse caso, a sessão
do DVR é interrompida imediatamente e entra no estado COOLDOWN
.
Após o período de espera de 60 segundos, o manifesto do DVR é substituído para refletir
os horários de início e término atualizados.
Listar sessões de DVR
Para listar todas as sessões de DVR criadas para um canal, use o método
projects.locations.channels.dvrSessions.list
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_NUMBER
: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM.LOCATION
: o local em que seu canal está localizado. Use uma das regiões com suporte.Mostrar locaisus-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
: um identificador definido pelo usuário para o canal
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" } } ] }, ] }
Excluir uma sessão de DVR
Para excluir uma sessão de DVR, use o
método
projects.locations.channels.dvrSessions.delete
. Esse método exclui a tarefa da sessão do DVR e o manifesto gerado.
Os recursos criados no bucket do Cloud Storage são excluídos de acordo com a
configuração de retenção.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_NUMBER
: o número do projeto do Google Cloud, localizado no campo Número do projeto na página Configurações do IAM.LOCATION
: o local em que seu canal está localizado. Use uma das regiões com suporte.Mostrar locaisus-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
: um identificador definido pelo usuário para o canalDVR_SESSION_ID
: um identificador definido pelo usuário para a sessão de DVR
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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 }
Esse comando cria uma operação de longa duração (LRO, na sigla em inglês) que pode ser usada para acompanhar o andamento da solicitação. Consulte Gerenciar operações de longa duração para mais informações.