Configura as definições detalhadas de um estúdio de produção, incluindo o nome, a configuração de transcodificação, a configuração de gravação e outros parâmetros.
Descrição da operação
Crie um estúdio de produção chamando primeiro a operação CreateCaster e, em seguida, chame esta operação para configurar as definições detalhadas do estúdio de produção.
Limite de QPS
O limite de QPS por usuário para esta operação é de 10 chamadas por segundo. Se esse limite for excedido, a chamada da API será limitada, o que pode afetar seus negócios. Chame esta operação adequadamente.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
live:SetCasterConfig |
update |
*Caster.
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| RegionId |
string |
Não |
O ID da região. |
cn-shanghai |
| CasterId |
string |
Sim |
O ID do estúdio de produção.
Nota
O nome do estúdio de produção na lista de estúdios de produção na página Estúdio de Produção em Nuvem do console ApsaraVideo Live é o ID do estúdio de produção. |
a2b8e671-2fe5-4642-a2ec-bf93880e**** |
| CasterName |
string |
Não |
O nome do estúdio de produção. |
liveCaster**** |
| DomainName |
string |
Não |
O domínio de streaming principal. Conclua a configuração do nome de domínio antes de iniciar o estúdio de produção. Se este parâmetro estiver vazio, a configuração de nome de domínio do estúdio de produção será limpa por padrão. |
example.com |
| TranscodeConfig |
string |
Não |
A configuração de transcodificação. Uma string formatada em JSON. Use camel case maiúsculo para os campos internos da estrutura. Se este parâmetro for definido como vazio, a configuração de transcodificação será limpa por padrão. Se o modelo de transcodificação estiver vazio, um erro será retornado quando o estúdio de produção for iniciado. |
{"casterTemplate": "lp_ld"} |
| RecordConfig |
string |
Não |
A configuração de gravação em formato JSON. Os elementos de configuração são os seguintes:
Nota
Se este parâmetro for definido como vazio, o recurso de gravação não será ativado. Se este parâmetro for definido como vazio, a configuração de gravação será limpa por padrão. |
{ "endpoint": "http://oss-cn-********.aliyuncs.com/api", "ossBucket****": "liveBucket****", "VideoFormat":[{\"OssObjectPrefix\":\"record/{AppName}/{StreamName}/{StartTime}_{EndTime}\",\"Format\":\"m3u8\",\"CycleDuration\":21600,\"SliceOssObjectPrefix\":\"record/{AppName}/{StreamName}/{UnixTimestamp}\"},{\"OssObjectPrefix\":\"record/{AppName}/{StreamName}/{StartTime}_{EndTime}\",\"Format\":\"flv\",\"CycleDuration\":21600}] "interval": 5 } |
| Delay |
number |
Não |
O atraso do stream, em segundos.
Nota
O valor máximo é 300 segundos. |
0 |
| UrgentMaterialId |
string |
Não |
O ID do ativo de mídia do vídeo de reserva na biblioteca de mídias. Se este parâmetro for definido como vazio, a configuração de reserva será limpa por padrão. |
a2b8e671 |
| UrgentLiveStreamUrl |
string |
Não |
A URL do stream ao vivo de reserva. |
rtmp://demo.aliyundoc.com |
| SideOutputUrl |
string |
Não |
A URL de ingestão que corresponde ao endereço de saída de bypass personalizado do estúdio de produção. Se este parâmetro estiver vazio, a URL de ingestão correspondente ao endereço de saída gerado automaticamente pelo Alibaba Cloud será usada por padrão. Nota
Atualmente, SideOutputUrl suporta apenas o protocolo RTMP para ingestão de stream. |
rtmp://****/aliyundoc.com:8000/caster/4a82a3d1b7f0462ea37348366201****?auth_key=1608953344-0-0-53f0758162964516ac850f2ddc3f**** |
| SideOutputUrlList |
string |
Não |
A lista de endereços de streaming de retransmissão para múltiplos destinos. Os endereços podem ser URLs de ingestão de CDN do Alibaba Cloud ou de provedores terceirizados. Um máximo de 20 endereços de retransmissão RTMP pode ser adicionado a um estúdio de produção. Nota
Especifique vários endereços no formato de array: ["rtmp://domain/app1/stream1","rtmp://domain/app2/stream2"]. |
rtmp://domain/app/stream?*** |
| CallbackUrl |
string |
Não |
A URL de callback. Para receber notificações de callback, insira um endereço de recebimento válido que aceite o protocolo HTTP. Se este parâmetro for definido como vazio, as notificações de callback do estúdio de produção serão canceladas por padrão. Nota
Para mais informações sobre callbacks do estúdio de produção, consulte Informações de callback do estúdio de produção em nuvem. |
http://****/aliyundoc.com:8000/caster/4a82a3d1b7f0462ea37348366201****?auth_key=1608953344-0-0-53f0758162964516ac850f2ddc3f**** |
| ProgramEffect |
integer |
Não |
Especifica se a lista de programas entra em vigor.
|
1 |
| ProgramName |
string |
Não |
O nome da lista de programas. Este parâmetro pode ser configurado quando o recurso de lista de programas é utilizado. |
program_name |
| ChannelEnable |
integer |
Não |
Especifica se o Canal deve ser ativado. Se o Canal foi ativado anteriormente (ChannelEnable=1), você deve passar explicitamente ChannelEnable=1 em cada chamada para manter o status do canal. Caso contrário, o erro InvalidCaster.ChannelDisableUnsupported será retornado.
Nota
O Canal é desativado por padrão e não pode ser desativado após ser ativado. Quando o Canal está desativado, os recursos são referenciados diretamente pelos layouts. Para ativar o Canal pela primeira vez, o estúdio de produção deve ser parado. Os layouts existentes são descartados. Os recursos devem primeiro ser atribuídos a um Canal, e os novos layouts referenciam diretamente o Canal. Através do Canal, você pode ajustar o progresso de reprodução e o status das fontes de vídeo. Neste modo, se a fonte de vídeo, as áreas PVW e PGM referenciarem o mesmo recurso, as visualizações correspondentes permanecerão sincronizadas. |
1 |
| SyncGroupsConfig |
string |
Não |
A configuração de sincronização de múltiplas visualizações que sincroniza várias fontes de vídeo. A sincronização de múltiplas visualizações possui dois modos:
Modo streamer: hostResourceId: a fonte de vídeo do streamer no modo streamer. Modo conferência: o campo hostResourceId não é obrigatório. Apenas os IDs de recursos em resourceIds precisam ser fornecidos. |
"[{\"mode\":0,\"resourceIds\":[\"5a6c1c33-8424-46f6-813c-c152220a****\",\"4e6521dc-a40a-4077-b6bf-1fb12a76****\"],\"hostResourceId\":\"3aa2b39a-fd0e-4b8c-be73-b7af31c4****\"}]" |
| UrgentImageId |
string |
Não |
O ID do ativo de mídia da imagem de reserva na biblioteca de mídias. |
a089175eb5f4427684fc0715159a**** |
| UrgentImageUrl |
string |
Não |
A URL da imagem de reserva. |
http://learn.aliyundoc.com/AppName/image.jpg |
| AutoSwitchUrgentOn |
boolean |
Não |
Especifica se a troca automática para o vídeo de reserva deve ser ativada quando o stream for interrompido.
|
true |
| AutoSwitchUrgentConfig |
string |
Não |
A configuração de troca automática de reserva.
|
{"eofThres":3} |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| CasterId |
string |
O ID do estúdio de produção. Este ID pode ser usado como parâmetro de solicitação para consultar o endereço de stream do estúdio de produção, iniciar o estúdio de produção, adicionar recursos de vídeo, adicionar layouts, consultar a lista de layouts, adicionar componentes e adicionar uma lista de programas. |
b4810848-bcf9-4aef-bd4a-e6bba2d9**** |
| RequestId |
string |
O ID da solicitação. |
16A96B9A-F203-4EC5-8E43-CB92E68F4CD8 |
Exemplos
Resposta de sucesso
JSON formato
{
"CasterId": "b4810848-bcf9-4aef-bd4a-e6bba2d9****",
"RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | InvalidUserId.Malformed | %s, please check userId. | O userId especificado é inválido. Verifique o valor do parâmetro. |
| 400 | InvalidCasterId.Malformed | %s, please check and try again later. | O parâmetro CasterId é inválido. Verifique o parâmetro e tente novamente. |
| 400 | InvalidParameter.Malformed | There are invalid parameters: %s. | O seguinte parâmetro é inválido: %s. |
| 400 | IncorrectCasterStatus.Inuse | %s, please check and try again later. | O estúdio de produção já está ativado. Verifique a solicitação e tente novamente. |
| 400 | MissingParameter | %s. | Um parâmetro obrigatório está ausente. |
| 400 | InvalidCaster.ChannelDisableUnsupported | %s, please check. | Um canal ativado não pode ser desativado. |
| 400 | IncorrectCasterStatus.EnableChannel | %s, please check and try again later. | O status do estúdio de produção não suporta a configuração EnableChannel. Verifique o status e tente novamente. |
| 403 | PermissionDenied | %s, please check and try again later. | Acesso negado. Verifique e tente novamente. |
| 404 | InvalidCaster.NotFound | %s, please check and try again later. | O estúdio de produção não existe. Verifique a configuração e tente novamente. |
| 404 | InvalidDomainName.NotFound | %s, please check and try again later. | O nome de domínio não existe. Verifique o nome de domínio e tente novamente. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.