Esta página mostra-lhe como criar e gerir clipes de canais da API Live Stream. Um clipe de canal é um sub-recurso de um canal. Pode usar um clipe do canal para criar ficheiros de vídeo a pedido (VOD) a partir de uma stream em direto. Estes ficheiros VOD são guardados no Cloud Storage. Para mais informações, consulte o artigo Crie clipes de VOD a partir de uma stream em direto.
Configure o seu Google Cloud projeto e autenticação
Se não tiver criado um Google Cloud projeto e credenciais, consulte a secção Antes de começar.Pré-requisitos
Tem de criar os seguintes recursos antes de criar um clipe de canal:
Crie um clipe de canal
Certifique-se de que inicia o canal e começa a fazer stream de conteúdo para o canal antes de criar um clipe do canal.
Para criar um clipe de canal, use o método
projects.locations.channels.clips.create.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER: o número do seu Google Cloud projeto. Este encontra-se no campo Número do projeto na página Definições do IAMLOCATION: a localização onde o seu canal está localizado; use uma das regiões suportadasMostrar localizaçõesus-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-west4
CHANNEL_ID: um identificador definido pelo utilizador para o canalCLIP_ID: um identificador definido pelo utilizador para o clipe de VODMARK_IN_TIME: a hora de início da marcação no tempo de época Unix no manifesto da stream em direto original; usa uma data/hora no formato "Zulu" UTC RFC3339 (por exemplo,2014-10-02T15:01:23Z)MARK_OUT_TIME: a hora de exclusão da época Unix no manifesto da stream em direto original; usa uma data/hora no formato "Zulu" UTC RFC3339 (por exemplo,2014-10-02T15:01:23Z)BUCKET_NAME: o nome do contentor do Cloud Storage que criou para armazenar o manifesto do clipe VOD e os ficheiros de segmentos. Pode usar o mesmo contentor que criou para o manifesto da stream em direto ou um contentor diferente. Também pode anexar um nome de diretório ao nome do contentor (por exemplo,my-bucket/vod-clip)
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"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/clips/CLIP_ID",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Este comando cria uma operação de longa duração (LRO) que pode usar para acompanhar o progresso do seu pedido. Consulte o artigo Faça a gestão de operações de longa duração para mais informações.
Obtenha detalhes dos clipes do canal
Para obter os detalhes de um clipe de canal, use o método
projects.locations.channels.clips.get.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER: o número do seu Google Cloud projeto. Este encontra-se no campo Número do projeto na página Definições do IAMLOCATION: a localização onde o seu canal está localizado; use uma das regiões suportadasMostrar localizaçõesus-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-west4
CHANNEL_ID: um identificador definido pelo utilizador para o canalCLIP_ID: um identificador definido pelo utilizador para o clipe de VOD
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID",
"createTime": CREATE_TIME,
"startTime": START_TIME,
"updateTime": UPDATE_TIME,
"state": "SUCCEEDED",
"outputUri": "gs://BUCKET_NAME",
"slices": [
{
"timeSlice": {
"markinTime": "MARK_IN_TIME",
"markoutTime": "MARK_OUT_TIME"
}
}
],
"features": {},
"clipManifests": [
{
"manifestKey": "manifest_hls",
"outputUri": "gs://BUCKET_NAME/main.m3u8"
}
]
}
Apenas os 1000 registos de tarefas de clipes mais recentes por canal estão disponíveis
através do método
projects.locations.channels.clips.get. Todos os registos de tarefas de recorte com mais de 30 dias são removidos. Tem de gerir os ficheiros de clipes gerados especificados por outputUri. A API Live Stream não elimina estes ficheiros do Cloud Storage.
Listar clipes de um canal
Para listar todos os clipes de um canal que criou, use o método
projects.locations.channels.clips.list.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER: o número do seu Google Cloud projeto. Este encontra-se no campo Número do projeto na página Definições do IAMLOCATION: a localização onde o seu canal está localizado; use uma das regiões suportadasMostrar localizaçõesus-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-west4
CHANNEL_ID: um identificador definido pelo utilizador para o canal
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"clips": [
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID",
"createTime": CREATE_TIME,
"startTime": START_TIME,
"updateTime": UPDATE_TIME,
"state": "SUCCEEDED",
"outputUri": "gs://BUCKET_NAME",
"slices": [
{
"timeSlice": {
"markinTime": "MARK_IN_TIME",
"markoutTime": "MARK_OUT_TIME"
}
}
],
"features": {},
"clipManifests": [
{
"manifestKey": "manifest_hls",
"outputUri": "gs://BUCKET_NAME/main.m3u8"
}
]
},
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/my-clip2",
"createTime": CREATE_TIME,
"startTime": START_TIME,
"updateTime": UPDATE_TIME,
"state": "SUCCEEDED",
"outputUri": "gs://BUCKET_NAME",
"slices": [
{
"timeSlice": {
"markinTime": "MARK_IN_TIME",
"markoutTime": "MARK_OUT_TIME"
}
}
],
"features": {},
"clipManifests": [
{
"manifestKey": "manifest_hls",
"outputUri": "gs://BUCKET_NAME/main.m3u8"
}
]
}
]
}
Elimine um clipe de canal
Para eliminar um clipe de canal, use o método
projects.locations.channels.clips.delete. Este método elimina apenas a tarefa de recorte. Os recursos VOD criados no contentor do Cloud Storage não são geridos pela API Live Stream e não são eliminados.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_NUMBER: o número do seu Google Cloud projeto. Este encontra-se no campo Número do projeto na página Definições do IAMLOCATION: a localização onde o seu canal está localizado; use uma das regiões suportadasMostrar localizaçõesus-central1us-east1us-east4us-west1us-west2northamerica-northeast1southamerica-east1asia-east1asia-east2asia-south1asia-northeast1asia-southeast1australia-southeast1europe-north1europe-west1europe-west2europe-west3europe-west4
CHANNEL_ID: um identificador definido pelo utilizador para o canalCLIP_ID: um identificador definido pelo utilizador para o clipe de VOD
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"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/clips/CLIP_ID",
"verb": "delete",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Este comando cria uma operação de longa duração (LRO) que pode usar para acompanhar o progresso do seu pedido. Consulte o artigo Faça a gestão de operações de longa duração para mais informações.