Visão geral da gravação de chamadas
A Gravação de Chamadas permite gravar vários cenários de chamada disponíveis nos Serviços de Comunicação do Azure, fornecendo-lhe um conjunto de APIs para iniciar, parar, pausar e retomar a gravação. Seja uma chamada PSTN, WebRTC ou SIP, essas APIs podem ser acessadas a partir da sua lógica de negócios do lado do servidor. Além disso, as gravações podem ser acionadas por uma ação do usuário que diz ao aplicativo do servidor para iniciar a gravação.
Dependendo das suas necessidades comerciais, pode utilizar a Gravação de Chamadas para diferentes implementações de chamadas dos Serviços de Comunicação do Azure.
Por exemplo, você pode gravar chamadas de áudio e vídeo 1:1 ou 1:N:
Você também pode usar a Gravação de Chamadas para gravar fluxos de trabalho complexos de chamadas de entrada e saída PSTN ou VoIP gerenciados pela Automação de Chamadas.
Independentemente de como você estabeleceu a chamada, a Gravação de Chamadas permite que você produza arquivos de mídia mistos ou não misturados que são armazenados por 24 horas em um armazenamento temporário interno. Você pode recuperar os arquivos, movê-los em seu próprio Azure Blob Store Bring Your Own Storage ou em uma solução de armazenamento de sua escolha. A Gravação de Chamadas dá suporte a todas as regiões de dados dos Serviços de Comunicação do Azure.
Gravação de chamadas que suporta as necessidades do seu negócio
A Gravação de Chamadas suporta várias saídas de mídia e tipos de conteúdo para atender às necessidades e casos de uso da sua empresa. Você pode usar formatos mistos para cenários como manter registros, anotações de reunião, treinamento e treinamento ou até mesmo conformidade e adesão. Ou, você pode usar o formato de áudio não misturado para abordar casos de uso de garantia de qualidade ou até mesmo cenários mais complexos, como análises avançadas ou processos pós-chamada sofisticados baseados em IA (Inteligência Artificial).
Vídeo
Tipo de Canal | Formato do conteúdo | Resolução | Taxa de Amostragem | Taxa de bits | Taxa de dados | Saída | Description |
---|---|---|---|---|---|---|---|
misto | mp4 | 1920x1080, 16 FPS (quadros por segundo) | 16 kHz | 1 Mbps | 7,5 MB/min* | arquivo único, canal único | Vídeo misto em uma disposição de bloco padrão 3x3 (a maioria dos alto-falantes ativos) com suporte a nome de exibição |
Áudio
Tipo de Canal | Formato do conteúdo | Taxa de Amostragem | Taxa de bits | Taxa de dados | Saída | Description |
---|---|---|---|---|---|---|
misto | mp3 | 16 kHz | 48 kbps | 0,36 MB/min* | arquivo único, canal único | áudio misto de todos os participantes |
misto | WAV | 16 kHz | 256 kbps | 1,92 MB/min | arquivo único, canal único | áudio misto de todos os participantes |
não misturado | WAV | 16 kHz | 256 kbps | 1,92 MB/min* por canal | Arquivo único, até 5 canais WAV | áudio não misturado, um participante por canal, até cinco canais |
[*NOTA] Os formatos Mp3 e Mp4 usam compressão com perdas que resulta em taxa de bits variável; Portanto, os valores da taxa de dados nas tabelas anteriores refletem o máximo teórico. O formato WAV não é comprimido e a taxa de bits é fixa, de modo que os cálculos da taxa de dados são exatos.
Obtenha controlo total sobre as suas gravações com as nossas APIs de Gravação de Chamadas
Você pode usar APIs de gravação de chamadas para gerenciar a gravação por meio de gatilhos internos de lógica de negócios, como um aplicativo que cria uma chamada em grupo e grava a conversa. Além disso, as gravações podem ser acionadas por uma ação do usuário que diz ao aplicativo do servidor para iniciar a gravação. As APIs de gravação de chamadas usam exclusivamente o para iniciar a serverCallId
gravação. Para saber como obter o , consulte o nosso Guia de início rápido de gravação de serverCallId
chamadas.
A recordingId
é retornado quando a gravação é iniciada, que pode ser usada para operações de acompanhamento, como pausar e retomar.
Operação | Opera em | Comentários |
---|---|---|
Comece a gravar | serverCallId |
Devoluções recordingId |
Obter estado de gravação | recordingId |
Devoluções RecordingStateResult |
Pausar a gravação | recordingId |
Pausar e retomar a gravação de chamadas permite que você ignore a gravação de uma parte de uma chamada ou reunião e retome a gravação em um único arquivo. |
Retomar a gravação | recordingId |
Retoma uma operação de gravação pausada. O conteúdo é incluído no mesmo arquivo que o conteúdo de antes da pausa. |
Parar gravação | recordingId |
Interrompe a gravação e inicia o processamento final de mídia para download de arquivos. |
Notificações da Grade de Eventos
A Gravação de Chamadas usa a Grade de Eventos do Azure para fornecer notificações relacionadas a mídia e metadados.
Nota
Os Serviços de Comunicação do Azure fornecem armazenamento de mídia de curto prazo para gravações. As gravações estão disponíveis para download por 24 horas. Após 24 horas, as gravações não estão mais disponíveis.
Uma notificação Microsoft.Communication.RecordingFileStatusUpdated
de Grade de Eventos é publicada quando uma gravação está pronta para recuperação, geralmente alguns minutos após a conclusão do processo de gravação, como reunião encerrada ou gravação interrompida. As notificações de eventos de gravação incluem contentLocation
e metadataLocation
, que são usadas para recuperar mídia gravada e um arquivo de metadados de gravação.
Referência do esquema de notificação
{
"id": string, // Unique guid for event
"topic": string, // /subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}
"subject": string, // /recording/call/{call-id}/serverCallId/{serverCallId}/recordingId/{recordingId}
"data": {
"recordingStorageInfo": {
"recordingChunks": [
{
"documentId": string, // Document id for retrieving from storage
"index": int, // Index providing ordering for this chunk in the entire recording
"endReason": string, // Reason for chunk ending: "SessionEnded", "ChunkMaximumSizeExceeded”, etc.
"metadataLocation": <string>, // url of the metadata for this chunk
"contentLocation": <string>, // url of the mp4, mp3, or wav for this chunk
"deleteLocation": <string> // url of the mp4, mp3, or wav to delete this chunk
}
]
},
"recordingStartTime": string, // ISO 8601 date time for the start of the recording
"recordingDurationMs": int, // Duration of recording in milliseconds
"sessionEndReason": string // Reason for call ending: "CallEnded", "InitiatorLeft", etc.
},
"eventType": string, // "Microsoft.Communication.RecordingFileStatusUpdated"
"dataVersion": string, // "1.0"
"metadataVersion": string, // "1"
"eventTime": string // ISO 8601 date time for when the event was created
}
Referência de esquema de metadados
{
"resourceId": <string>, // stable resource id of the Azure Communication Services resource recording
"callId": <string>, // id of the call
"chunkDocumentId": <string>, // object identifier for the chunk this metadata corresponds to
"chunkIndex": <number>, // index of this chunk with respect to all chunks in the recording
"chunkStartTime": <string>, // ISO 8601 datetime for the start time of the chunk this metadata corresponds to
"chunkDuration": <number>, // [Chunk duration has a maximum of 4 hours] duration of the chunk this metadata corresponds to in milliseconds
"pauseResumeIntervals": [
"startTime": <string>, // ISO 8601 datetime for the time at which the recording was paused
"duration": <number> // duration of the pause in the recording in milliseconds
],
"recordingInfo": {
"contentType": <string>, // content type of recording, e.g. audio/audioVideo
"channelType": <string>, // channel type of recording, e.g. mixed/unmixed
"format": <string>, // format of the recording, e.g. mp4/mp3/wav
"audioConfiguration": {
"sampleRate": <number>, // sample rate for audio recording
"bitRate": <number>, // bitrate for audio recording
"channels": <number> // number of audio channels in output recording
},
"videoConfiguration": {
"longerSideLength": <number>, // longerSideLength for video recording
"shorterSideLength": <number>, // shorterSideLength for video recording
"frameRate": <number>, // frameRate for video recording
"bitRate": <number> // bitrate for video recording
}
},
"participants": [
{
"participantId": <string>, // participant identifier of a participant captured in the recording
"channel": <number> // channel the participant was assigned to if the recording is unmixed
}
]
}
Questões regulamentares e de privacidade
Muitos países/regiões e estados têm leis e regulamentos que se aplicam à gravação de chamadas. PSTN, chamadas de voz e vídeo geralmente exigem que os usuários consintam com a gravação de suas comunicações. É sua responsabilidade usar as capacidades de gravação de chamadas em conformidade com a lei. O Cliente deve obter o consentimento das partes das comunicações gravadas em conformidade com as leis aplicáveis a cada participante.
Os regulamentos em torno da manutenção de dados pessoais exigem a capacidade de exportar dados do usuário. Para dar suporte a esses requisitos, os arquivos de metadados de gravação incluem o participantId
para cada participante da participants
chamada na matriz. Você pode fazer referência cruzada à Identidade de Usuário dos Serviços de Comunicação do Azure na matriz com suas participants
identidades de usuário interno para identificar os participantes de uma chamada.
Próximos passos
Aqui estão alguns artigos de seu interesse:
- Saiba mais sobre a gravação de chamadas, Insights e Logs
- Saiba mais sobre a automação de chamadas.
- Saiba mais sobre chamadas de vídeo.