Översikt över samtalsinspelning

Kommentar

Samtalsinspelning för Teams-samverkan finns nu i offentlig förhandsversion.

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:

Diagram showing a call that it's being recorded.

Men 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 anropet kan du skapa blandade eller omixade mediefiler som lagras i 48 timmar på en inbyggd tillfällig lagring. Du kan hämta filerna och ta dem till valfri långsiktig lagringslösning. Samtalsinspelning stöder alla Azure Communication Services-dataregioner.

Diagram showing call recording architecture.

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 Upplösning Samplingsfrekvens Bithastighet Datahastighet Utdata Description
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 Utdata Description
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 tabellerna ovan å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

API:er för samtalsinspelning kan användas 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 serverCallIdkan du läsa vår snabbstart för samtalsinspelning. En recordingId returneras när inspelningen startas, som sedan används 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 kommer att vara tillgängliga för nedladdning i 48 timmar. Efter 48 timmar är inspelningar inte längre tillgängliga.

Ett Event Grid-meddelande Microsoft.Communication.RecordingFileStatusUpdated publiceras när en inspelning är klar för hämtning, vanligtvis några minuter efter att inspelningsprocessen har slutförts (till exempel avslutades mötet, 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
                                     }
                    },
  "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 metadatafiler deltagar-ID 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: