Configura a gravação do aplicativo e salva a saída no OSS.
Descrição da operação
-
Certifique-se de compreender totalmente os métodos de cobrança e os preços da gravação ao vivo antes de chamar esta operação. Para detalhes de cobrança, consulte Taxas de gravação ao vivo.
-
Se você deseja armazenar gravações no OSS, é necessário ativar o OSS e criar um bucket. Para mais informações, consulte Configurar o OSS.
-
As gravações armazenadas no OSS incorrem em taxas de armazenamento. Para detalhes de cobrança no OSS, consulte Taxas de armazenamento.
-
O bucket do OSS deve estar na mesma região que o centro ao vivo do domínio de streaming. A gravação entre regiões não é suportada.
-
O recurso de gravação ao vivo permite gravar transmissões ao vivo e salvar as gravações em um local especificado para reprodução. As gravações armazenadas no OSS suportam vários formatos (TS, MP4, FLV e CMAF) e políticas de gravação personalizadas (gravação automática, sob demanda e manual). Você pode chamar esta operação para configurar um modelo de gravação. Para mais informações, consulte Gravação ao vivo.
-
Uma tupla de (DomainName, AppName, StreamName) pode corresponder a apenas uma configuração. Se já existir uma configuração para a tupla, chamar esta operação para adicionar uma configuração retornará um erro indicando que a configuração já existe.
-
As configurações definidas por esta operação entram em vigor somente após a transmissão ao vivo ser ingerida novamente e permanecem válidas permanentemente.
Limite de QPS
O limite de QPS para um único usuário chamando esta operação é de 30 solicitações por segundo. Se o limite for excedido, as chamadas de API serão limitadas, o que pode afetar seus negócios. Faça chamadas de API a uma taxa razoável.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
live:AddLiveAppRecordConfig |
create |
*Domínio.
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| DomainName |
string |
Sim |
O nome do domínio de streaming principal. |
example.com |
| AppName |
string |
Sim |
O nome do aplicativo ao qual a transmissão pertence. O AppName deve corresponder ao AppName na URL de ingestão para que o modelo entre em vigor. Se você não deseja restringir o AppName, pode inserir um asterisco (*) para corresponder a todos os AppNames. |
liveApp**** |
| OssEndpoint |
string |
Sim |
O endpoint do OSS. Para armazenar gravações ao vivo no OSS, você deve criar um bucket do OSS com antecedência. Para mais informações, consulte Configurar o OSS. |
oss-cn-beijing.aliyuncs.com |
| OssBucket |
string |
Sim |
O nome do bucket do OSS. Para armazenar gravações ao vivo no OSS, você deve criar um bucket do OSS com antecedência. Para mais informações, consulte Configurar o OSS. |
liveBucket**** |
| StreamName |
string |
Não |
O nome da transmissão. O StreamName deve corresponder ao StreamName na URL de ingestão para que o modelo entre em vigor. Se você não deseja restringir o StreamName, pode inserir um asterisco (*) para corresponder a todos os StreamNames sob o AppName. |
teststream |
| StartTime |
string |
Não |
A hora de início da gravação. Especifique a hora no formato aaaa-MM-ddTHH:mm:ssZ. A hora deve estar em UTC. Nota
A hora especificada deve estar dentro de 7 dias após a hora de início real da ingestão da transmissão. Este parâmetro é válido apenas para gravação no nível da transmissão, onde o StreamName não está vazio. |
2018-04-10T09:57:21Z |
| EndTime |
string |
Não |
A hora de término da gravação. Especifique a hora no formato aaaa-MM-ddTHH:mm:ssZ. A hora deve estar em UTC. Nota
A diferença entre EndTime e StartTime não deve exceder 7 dias. Se a diferença exceder 7 dias, será calculada como 7 dias. Este parâmetro é válido apenas para gravação no nível da transmissão, onde o StreamName não está vazio. |
2018-04-16T09:57:21Z |
| OnDemand |
integer |
Não |
Especifica se a gravação sob demanda ou manual deve ser ativada. Valores válidos:
|
1 |
| DelayTime |
integer |
Não |
A duração de emenda de interrupção da transmissão. Se a duração da interrupção da transmissão exceder a duração de emenda especificada, um novo arquivo será gerado. A duração de emenda de interrupção da transmissão varia de 15 a 21.600 segundos. |
180 |
| RecordFormat |
array<object> |
Não |
Os detalhes do formato de gravação. |
|
|
object |
Não |
|||
| SliceDuration |
integer |
Não |
O comprimento do segmento. Unidade: segundos. Importante Este parâmetro é válido apenas quando RecordFormat.N.Format é definido como m3u8 ou cmaf.
Se você não especificar este parâmetro, o valor padrão será 30. Valores válidos: 5 a 30. |
30 |
| SliceOssObjectPrefix |
string |
Não |
O nome do segmento. Importante Você precisa configurar este parâmetro apenas quando RecordFormat.N.Format é definido como m3u8 ou cmaf.
|
record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} |
| CycleDuration |
integer |
Não |
O comprimento da gravação periódica. Unidade: segundos. Nota
|
1 |
| OssObjectPrefix |
string |
Não |
O nome do arquivo de gravação armazenado no OSS.
|
record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} |
| Format |
string |
Não |
O formato. M3U8, FLV, MP4 e CMAF são suportados. Valores válidos: Importante Você deve especificar pelo menos um entre RecordFormat e TranscodeRecordFormat. Se você selecionar o formato m3u8 ou cmaf, também deverá definir os parâmetros de solicitação RecordFormat.N.SliceOssObjectPrefix e RecordFormat.N.SliceDuration.
|
m3u8 |
| TranscodeRecordFormat |
array<object> |
Não |
Os detalhes do formato de gravação transcodificada. |
|
|
object |
Não |
|||
| SliceDuration |
integer |
Não |
O comprimento do segmento para gravação de transmissão de transcodificação. Unidade: segundos. Importante Este parâmetro entra em vigor apenas quando TranscodeRecordFormat.N.Format é definido como m3u8 ou cmaf.
Se você não especificar este parâmetro, o valor padrão será 30. Valores válidos: 5 a 30. |
30 |
| SliceOssObjectPrefix |
string |
Não |
O nome do segmento para gravação de transmissão transcodificada. Importante Você precisa configurar este parâmetro apenas quando TranscodeRecordFormat.N.Format é definido como m3u8 ou cmaf.
|
record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} |
| CycleDuration |
integer |
Não |
O comprimento da gravação periódica para gravação de transmissão transcodificada. Unidade: segundos. Nota
Se você não especificar este parâmetro, o valor padrão será usado. O valor padrão varia com base no formato de gravação: 6 horas para m3u8 e cmaf, e 1 hora para flv e mp4. |
21600 |
| OssObjectPrefix |
string |
Não |
O nome do arquivo de gravação para gravação de transmissão transcodificada armazenado no OSS.
|
record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} |
| Format |
string |
Não |
O formato de gravação para transmissões transcodificadas. M3U8, FLV, MP4 e CMAF são suportados. Valores válidos: Importante Se você selecionar o formato m3u8 ou cmaf, também deverá definir os parâmetros de solicitação TranscodeRecordFormat.N.SliceOssObjectPrefix e TranscodeRecordFormat.N.SliceDuration.
|
m3u8 |
| TranscodeTemplates |
array |
Não |
O grupo de modelos de transcodificação para gravação de transmissão transcodificada. |
sd |
|
string |
Não |
Nota
Você não pode especificar |
sd |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| RequestId |
string |
O ID da solicitação. |
16A96B9A-F203-4EC5-8E43-CB92E68F**** |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F****"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | InvalidOssEndpoint.Malformed | %s | |
| 400 | InvalidOssBucket.Malformed | Specified parameter OssBucket is not valid. | O parâmetro OSSBucket é inválido. Verifique se o parâmetro OSSBucket está correto. |
| 400 | InvalidOssBucket.NotFound | The parameter OssBucket does not exist. | |
| 400 | InvalidFormat.Malformed | Specified parameter Format is not valid. | O parâmetro Format é inválido. Verifique se o parâmetro Format está correto. |
| 400 | InvalidCycleDuration.Malformed | Specified CycleDuration Format is not valid. | O formato do parâmetro CycleDuration é inválido. Verifique se o formato do parâmetro CycleDuration está correto. |
| 400 | InvalidSliceDuration.Malformed | Specified SliceDuration Format is not valid. | O parâmetro SliceDuration especificado é inválido. |
| 400 | InvalidTemplateLength.Malformed | Specified record template length is not valid. | |
| 400 | InvalidTemplate.ForbidRaw | Template named raw is Forbidden. | |
| 400 | MissingTemplate | Template is mandatory for this action. | As configurações de parâmetro do modelo de transcodificação estão ausentes. |
| 400 | MissingOssObjectPrefix | OssObjectPrefix is mandatory for this action. | |
| 400 | MissingSliceOssObjectPrefix | SliceOssObjectPrefix is mandatory for this action. | |
| 400 | InvalidOssObjectPrefix.Malformed | Specified parameter OssObjectPrefix is not valid. | |
| 400 | InvalidSliceOssObjectPrefix.Malformed | Specified parameter SliceOssObjectPrefix is not valid. | O parâmetro SliceOssObjectPrefix é inválido. Verifique se o parâmetro SliceOssObjectPrefix está correto. |
| 400 | ConfigAlreadyExists | Config has already exist. | |
| 400 | InvalidFormat.IllegalOperation | Specified parameter Format can not be multiple. | |
| 400 | InvalidDelayTime | Specified Delaytime is invalid. | |
| 400 | Live2Vod.ConfigAlreadyExists | Had live2vod record config already. | |
| 400 | InvalidStartTime.Malformed | Specified StartTime is malformed. | |
| 400 | InvalidEndTime.Malformed | Specified EndTime is malformed. | |
| 400 | InvalidEndTime.Mismatch | Specified EndTime does not math the specified StartTime or current time. | |
| 400 | InvalidStartTime.Mismatch | Specified StartTime does not math the current time. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.