Översikt över samtalsinspelning
Med samtalsinspelning kan du registrera flera samtalsscenarier som är tillgängliga i Azure Communication Services genom att ge dig en uppsättning API:er för att starta, stoppa, pausa och återuppta inspelningen. Oavsett om det är ett PSTN-, WebRTC- eller SIP-anrop kan dessa API:er nås från din affärslogik på serversidan. Dessutom kan inspelningar utlösas av en användaråtgärd som uppmanar serverprogrammet att starta inspelningen.
Beroende på dina affärsbehov kan du använda Samtalsinspelning för olika Implementeringar av Azure Communication Services-samtal.
Du kan till exempel spela in 1:1- eller 1:N-ljud- och videosamtal:
Du kan också använda Samtalsinspelning för att registrera komplexa arbetsflöden för inkommande och utgående samtal i PSTN eller VoIP som hanteras av Call Automation.
Oavsett hur du upprättade samtalet kan du skapa blandade eller omixade mediefiler som lagras i 24 timmar på ett inbyggt tillfälligt lagringsutrymme. Du kan hämta filerna, flytta dem i din egen Azure Blob Store Bring Your Own Storage eller en valfri lagringslösning. Samtalsinspelning stöder alla Azure Communication Services-dataregioner.
Samtalsinspelning som stöder dina affärsbehov
Samtalsinspelning stöder flera medieutdata och innehållstyper för att tillgodose dina affärsbehov och användningsfall. Du kan använda blandade format för scenarier som att föra poster, mötesanteckningar, coachning och utbildning, eller till och med efterlevnad och efterlevnad. Eller så kan du använda omixat ljudformat för att hantera användningsfall för kvalitetssäkring eller ännu mer komplexa scenarier som avancerad analys eller AI-baserade (artificiell intelligens) avancerade processer efter anrop.
Video
Kanaltyp | Innehållsformat | Åtgärd | Samplingsfrekvens | Bithastighet | Datahastighet | Output | beskrivning |
---|---|---|---|---|---|---|---|
blandad | mp4 | 1920x1080, 16 FPS (bildrutor per sekund) | 16 kHz | 1 mbit/s | 7,5 MB/min* | enskild fil, enskild kanal | blandad video i en standard 3x3 (de flesta aktiva högtalare) panelarrangemang med stöd för visningsnamn |
Ljud
Kanaltyp | Innehållsformat | Samplingsfrekvens | Bithastighet | Datahastighet | Output | beskrivning |
---|---|---|---|---|---|---|
blandad | Mp3 | 16 kHz | 48 kbps | 0,36 MB/min* | enskild fil, enskild kanal | blandat ljud för alla deltagare |
blandad | Wav | 16 kHz | 256 kbit/s | 1,92 MB/min | enskild fil, enskild kanal | blandat ljud för alla deltagare |
Oblandade | Wav | 16 kHz | 256 kbit/s | 1,92 MB/min* per kanal | enskild fil, upp till 5 wav-kanaler | omixat ljud, en deltagare per kanal, upp till fem kanaler |
[*OBS] Mp3- och Mp4-format använder förlustkomprimering som resulterar i variabel bithastighet. Datahastighetsvärdena i de föregående tabellerna återspeglar därför det teoretiska maxvärdet. WAV-formatet är okomprimerat och bithastigheten är fast, så datahastighetsberäkningarna är exakta.
Få fullständig kontroll över dina inspelningar med våra API:er för samtalsinspelning
Du kan använda API:er för samtalsinspelning för att hantera inspelning via interna affärslogikutlösare, till exempel ett program som skapar ett gruppsamtal och spelar in konversationen. Dessutom kan inspelningar utlösas av en användaråtgärd som uppmanar serverprogrammet att starta inspelningen. Anropa inspelnings-API:er använder uteslutande serverCallId
för att initiera inspelningen. Om du vill lära dig hur du hämtar serverCallId
kan du läsa vår snabbstart för samtalsinspelning.
En recordingId
returneras när inspelningen startas, som sedan kan användas för uppföljningsåtgärder som pausa och återuppta.
Åtgärd | Fungerar på | Kommentarer |
---|---|---|
Starta inspelning | serverCallId |
Returnerar recordingId |
Hämta inspelningstillstånd | recordingId |
Returnerar RecordingStateResult |
Pausa inspelning | recordingId |
Om du pausar och återupptar samtalsinspelningen kan du hoppa över att spela in en del av ett samtal eller möte och återuppta inspelningen till en enda fil. |
Återuppta inspelning | recordingId |
Återupptar en pausad inspelningsåtgärd. Innehållet ingår i samma fil som innehåll från före paus. |
Stoppa inspelning | recordingId |
Stoppar inspelningen och initierar den slutliga mediebearbetningen för filnedladdning. |
Event Grid-meddelanden
Samtalsinspelning använder Azure Event Grid för att ge dig meddelanden som rör media och metadata.
Kommentar
Azure Communication Services tillhandahåller kortsiktig medielagring för inspelningar. Inspelningar är tillgängliga för nedladdning i 24 timmar. Efter 24 timmar är inspelningar inte längre tillgängliga.
Ett Event Grid-meddelande Microsoft.Communication.RecordingFileStatusUpdated
publiceras när en inspelning är redo för hämtning, vanligtvis några minuter efter att inspelningsprocessen har slutförts, till exempel när mötet avslutades eller inspelningen stoppades. Inspelningshändelsemeddelanden inkluderar contentLocation
och metadataLocation
, som används för att hämta både inspelade medier och en inspelningsmetadatafil.
Referens för meddelandeschema
{
"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
}
Referens för metadataschema
{
"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
}
]
}
Reglerings- och sekretessproblem
Många länder/regioner och stater har lagar och förordningar som gäller för samtalsinspelning. PSTN-, röst- och videosamtal kräver ofta att användarna godkänner inspelningen av sin kommunikation. Det är ditt ansvar att använda funktionerna för samtalsinspelning i enlighet med lagen. Du måste inhämta samtycke från deltagare i inspelade kommunikationer på ett sätt som uppfyller tillämpliga lagar för varje deltagare.
Regler kring underhåll av personuppgifter kräver möjligheten att exportera användardata. För att stödja dessa krav inkluderar inspelning av participantId
metadatafiler för varje anropsdeltagare i matrisen participants
. Du kan korsreferensera användaridentiteten för Azure Communication Services i matrisen participants
med dina interna användaridentiteter för att identifiera deltagare i ett anrop.
Nästa steg
Här följer några intressanta artiklar:
- Läs mer om samtalsinspelning av insikter och loggar
- Läs mer om Samtalsautomation.
- Läs mer om videosamtal.