Configura a gravação para um aplicativo e salva a saída no Object Storage Service (OSS).
Descrição da operação
-
Antes de usar esta operação, certifique-se de compreender totalmente os métodos de cobrança e os preços da gravação de transmissão ao vivo. Para obter detalhes sobre a cobrança, consulte Taxas de gravação de transmissão ao vivo.
-
Se você usar o método de armazenamento de gravações no OSS para configurar a gravação de transmissão ao vivo, ative o OSS e crie um bucket. Para obter mais informações, consulte Configurar o OSS.
-
As gravações armazenadas no OSS incorrem em taxas de armazenamento. Para obter detalhes sobre a cobrança no OSS, consulte Taxas de armazenamento.
-
O bucket do OSS deve estar na mesma região que o centro de transmissão ao vivo do domínio de streaming. A gravação entre regiões não é suportada.
-
O recurso de gravação de transmissão ao vivo grava o conteúdo ao vivo e o salva em um local especificado para reprodução sob demanda. As gravações armazenadas no OSS suportam vários formatos de contêiner (TS, MP4, FLV e CMAF) e políticas de gravação personalizadas (gravação automática, gravação sob demanda e gravação manual). Chame esta operação para configurar modelos de gravação. Para obter mais informações sobre a gravação de transmissão ao vivo, consulte Gravação de transmissão ao vivo.
-
A tríade (DomainName, AppName, StreamName) pode corresponder a apenas uma configuração. Se já existir uma configuração para a tríade, chamar esta operação para adicionar outra configuração retornará um erro de configuração já existente.
-
As configurações definidas por meio desta operação entram em vigor somente após a reingestão da transmissão ao vivo e permanecem efetivas permanentemente.
Limite de QPS
O limite de QPS por usuário para esta operação é de 30 chamadas por segundo. Se esse limite for excedido, as chamadas de API serão limitadas, o que pode afetar seus negócios. Chame esta operação de forma adequada.
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 domínio de streaming do streamer. |
example.com |
| AppName |
string |
Sim |
O nome do aplicativo ao qual o stream pertence. O modelo entra em vigor somente quando o valor de AppName corresponde ao AppName na URL de ingestão. Para corresponder a todos os nomes de aplicativos, defina este parâmetro como um asterisco (*). |
liveApp**** |
| OssEndpoint |
string |
Sim |
O endpoint do bucket do OSS. Para armazenar gravações ao vivo no OSS, crie um bucket do OSS com antecedência. Para obter 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, crie um bucket do OSS com antecedência. Para obter mais informações, consulte Configurar o OSS. |
liveBucket**** |
| StreamName |
string |
Não |
O nome do stream. O modelo entra em vigor somente quando o valor de StreamName corresponde ao StreamName na URL de ingestão. Para corresponder a todos os nomes de stream no AppName especificado, defina este parâmetro como um asterisco (*). |
teststream |
| StartTime |
string |
Não |
A hora de início da gravação. Formato: yyyy-MM-ddTHH:mm:ssZ (UTC). Nota
A hora especificada deve estar dentro de 7 dias da hora real de início da ingestão do stream. Este parâmetro é válido apenas para gravação no nível do stream (quando StreamName não está vazio). |
2018-04-10T09:57:21Z |
| EndTime |
string |
Não |
A hora de término da gravação. Formato: yyyy-MM-ddTHH:mm:ssZ (UTC). Nota
A diferença entre EndTime e StartTime não pode exceder 7 dias. Se exceder 7 dias, o valor será calculado como 7 dias. Este parâmetro é válido apenas para gravação no nível do stream (quando StreamName não está vazio). |
2018-04-16T09:57:21Z |
| OnDemand |
integer |
Não |
O modo de gravação sob demanda ou manual. Valores válidos:
|
1 |
| DelayTime |
integer |
Não |
A duração da mesclagem de descontinuidade do stream. Se a transmissão ao vivo for desconectada por um período maior que a duração de mesclagem especificada, um novo arquivo será gerado. Valores válidos: 15 a 21600. Unidade: segundos. |
180 |
| RecordFormat |
array<object> |
Não |
Os detalhes da gravação. |
|
|
object |
Não |
|||
| SliceDuration |
integer |
Não |
O comprimento de um único segmento. Unidade: segundos. Importante Este parâmetro entra em vigor somente quando RecordFormat.N.Format é definido como m3u8 ou cmaf.
Se este parâmetro não for especificado, o valor padrão é 30 segundos. Valores válidos: 5 a 30. |
30 |
| SliceOssObjectPrefix |
string |
Não |
O nome do segmento. Importante Este parâmetro é obrigatório somente quando RecordFormat.N.Format é definido como m3u8 ou cmaf.
|
record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} |
| CycleDuration |
integer |
Não |
O comprimento da gravação por ciclo. 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 Pelo menos um entre RecordFormat e TranscodeRecordFormat deve ser definido. Se você selecionar m3u8 ou cmaf, também deverá definir os parâmetros de solicitação RecordFormat.N.SliceOssObjectPrefix e RecordFormat.N.SliceDuration.
Nota
Configurações para RecordFormat e TranscodeRecordFormat: pelo menos um deve ser especificado. |
m3u8 |
| TranscodeRecordFormat |
array<object> |
Não |
Os detalhes da gravação do stream transcodificado. |
|
|
object |
Não |
|||
| SliceDuration |
integer |
Não |
O comprimento de um único segmento para gravação de stream de transcodificação. Unidade: segundos. Importante Este parâmetro entra em vigor somente quando TranscodeRecordFormat.N.Format (formato de gravação de stream de transcodificação) é definido como m3u8 ou cmaf.
Se este parâmetro não for especificado, o valor padrão é 30 segundos. Valores válidos: 5 a 30. |
30 |
| SliceOssObjectPrefix |
string |
Não |
O nome do segmento para gravação de stream transcodificado. Importante Este parâmetro é obrigatório somente quando TranscodeRecordFormat.N.Format é definido como m3u8 ou cmaf.
|
record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} |
| CycleDuration |
integer |
Não |
O comprimento da gravação por ciclo para gravação de stream de transcodificação. Unidade: segundos. Nota
Se este parâmetro não for especificado, o valor padrão varia de acordo com o formato de gravação: 6 horas para os formatos m3u8 e cmaf, e 1 hora para os formatos flv e mp4. |
21600 |
| OssObjectPrefix |
string |
Não |
O nome do arquivo de gravação do stream transcodificado armazenado no OSS.
|
record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} |
| Format |
string |
Não |
O formato de gravação do stream de transcodificação. M3U8, FLV, MP4 e CMAF são suportados. Valores válidos: Importante Se você selecionar m3u8 ou cmaf, também deverá definir os parâmetros de solicitação TranscodeRecordFormat.N.SliceOssObjectPrefix e TranscodeRecordFormat.N.SliceDuration.
Nota
Configurações: se você selecionar o formato m3u8 ou cmaf, os parâmetros de segmento correspondentes também deverão ser configurados. |
m3u8 |
| TranscodeTemplates |
array |
Não |
O grupo de modelos de transcodificação para gravação de stream transcodificado. |
sd |
|
string |
Não |
Nota
TranscodeTemplates não permite o valor |
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. | |
| 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âmetros 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.