Kapitel 11 GET POST

getRecordings – Hent optagelser

Endpointet getRecordings returnerer en liste over optagelser fra din BigBlueButton-server, filtreret efter meeting ID, recording ID eller state. Det understøtter paginering fra og med BBB 2.7, hvilket gør det nemt at hente store mængder optagelser i håndterbare bidder.

Endepunkt

GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getRecordings?<parameters>&checksum=replace-with-checksum

Parametre

Parameter Type Påkrævet Standard Beskrivelse
meetingID String Kommasepareret liste over meeting ID'er. Ignoreres når recordID er angivet. Hvis udeladt returneres alle optagelser.
recordID String Kommasepareret liste over optagelses-ID'er. Har forrang over meetingID. Understøtter præfiksmatchning — for eksempel matcher 652c9eb4 alle optagelser, hvis ID begynder med dette præfiks.
state String published,unpublished Kommasepareret tilstandsfilter. Gyldige værdier: processing, processed, published, unpublished, deleted. Brug any til at returnere alle tilstande.
meta String Metadatafilter med samme format som i create-kaldet (f.eks. meta_presenter=John).
offset Integer 0 Startindeks for paginering. Har kun effekt, når limit også er angivet. BBB 2.7+
limit Integer Maksimalt antal optagelser pr. svar (1 til 100). Værdier uden for dette interval begrænses automatisk. BBB 2.7+

Ingen af parametrene er påkrævede. Kald af getRecordings uden filtre returnerer alle published- og unpublished-optagelser på serveren.

Optagelsestilstande

Tilstand Beskrivelse
processing Optagelsen behandles i øjeblikket.
processed Behandlingen er fuldført, men optagelsen er endnu ikke publiceret.
published Optagelsen er publiceret og tilgængelig for brugere.
unpublished Optagelsen findes, men er ikke tilgængelig for brugere.
deleted Optagelsen er markeret til sletning.

Standardtilstandsfilteret omfatter kun optagelser med published og unpublished. For at se optagelser, der stadig behandles eller er blevet slettet, skal du udtrykkeligt angive parameteren state.

Svarfelter

Felt Type Beskrivelse
recordID String Entydig identifikator for optagelsen.
meetingID String Det eksterne møde-ID, der er knyttet til denne optagelse.
internalMeetingID String Det interne meeting ID, som bruges af BigBlueButton.
name String Mødets navn på det tidspunkt, hvor det blev optaget.
isBreakout Boolean Om denne optagelse stammer fra et grupperum.
published Boolean Om optagelsen i øjeblikket er publiceret.
state String Optagelsens aktuelle tilstand (processing, processed, published, unpublished, deleted).
startTime Long Unix-tidsstempel i millisekunder for, hvornår mødet startede.
endTime Long Unix-tidsstempel i millisekunder for, hvornår mødet sluttede.
participants Integer Antal deltagere i mødet.
rawSize Long Størrelse på de rå optagelsesdata i byte.
size Long Størrelse på den behandlede optagelse i byte.
metadata Object Brugerdefinerede metadata-nøgle-værdi-par knyttet til optagelsen.
playback Object Detaljer om afspilningsformat, herunder URL, behandlingstid, længde, størrelse og miniaturebilleder til forhåndsvisning.
totalElements Integer Samlet antal matchende optagelser. Kun til stede, når pagineringsparametre bruges. BBB 2.7+

Eksempel på anmodning

Alle offentliggjorte optagelser

getRecordings?checksum=replace-with-checksum

Optagelser for et bestemt møde

getRecordings?meetingID=replace-with-meeting-id&checksum=replace-with-checksum

Flere møder

getRecordings?meetingID=replace-with-meeting-id-1,replace-with-meeting-id-2&checksum=replace-with-checksum

Efter optagelses-ID

getRecordings?recordID=replace-with-recording-id&checksum=replace-with-checksum

Alle statusser

getRecordings?state=any&checksum=replace-with-checksum

Pagineret forespørgsel (optagelser 21 til 30)

getRecordings?state=published&offset=20&limit=10&checksum=replace-with-checksum

Eksempelsvar

<response>
  <returncode>SUCCESS</returncode>
  <recordings>
    <recording>
    <recordID>replace-with-recording-id</recordID>
    <meetingID>replace-with-meeting-id</meetingID>
    <internalMeetingID>replace-with-internal-meeting-id</internalMeetingID>
      <name>Project Meeting</name>
      <isBreakout>false</isBreakout>
      <published>true</published>
      <state>published</state>
      <startTime>1462283509434</startTime>
      <endTime>1462284509434</endTime>
      <participants>5</participants>
      <metadata>
        <bbb-origin>greenlight</bbb-origin>
      </metadata>
      <rawSize>123456789</rawSize>
      <size>98765432</size>
      <playback>
        <format>
          <type>presentation</type>
                    <url>https://api-guide.bbbserver.com/playback/presentation/2.3/replace-with-recording-id</url>
          <processingTime>62890</processingTime>
          <length>45</length>
          <size>98765432</size>
          <preview>
            <images>
              <image width="176" height="136" alt="Welcome">
                                https://api-guide.bbbserver.com/presentation/replace-with-recording-id/thumbnail_0.png
              </image>
            </images>
          </preview>
        </format>
      </playback>
    </recording>
  </recordings>
</response>

Paginering BBB 2.7+

Når du inkluderer parametrene offset og/eller limit, indeholder svaret et ekstra felt, totalElements, som angiver det samlede antal matchende optagelser. Dette gør det muligt at beregne det samlede antal sider og opbygge pagineringskontroller i din applikation.

<response>
  <returncode>SUCCESS</returncode>
  <totalElements>42</totalElements>
  <recordings>
    <!-- recording elements -->
  </recordings>
</response>
bbbserver.de — På bbbserver.de er endpointet getRecordings fuldt tilgængeligt via API'et. Paginering understøttes på alle aktuelle serverplaner, der kører BBB 2.7 eller nyere.

Tips

  • Brug recordID med et præfiks til at søge efter optagelser, når du kun har et delvist ID — BigBlueButton matcher alle optagelser, hvis ID starter med den angivne streng.
  • Angiv altid parameteren state eksplicit, hvis du skal se optagelser, der stadig behandles eller er blevet slettet, da disse som standard er udelukket.
  • Kombinér meetingID med state for at indsnævre resultaterne effektivt — for eksempel for kun at finde offentliggjorte optagelser for et bestemt møde.
  • Ved store installationer med mange optagelser bør du bruge paginering for at undgå timeouts og reducere svarstørrelser.
  • Brug metadatafiltre (parametrene meta_) til at finde optagelser baseret på brugerdefinerede attributter, der blev sat under oprettelsen af mødet.

Ofte stillede spørgsmål

Endpointet returnerer alle optagelser med tilstanden published eller unpublished. Optagelser, som stadig behandles eller er markeret til sletning, medtages ikke, medmindre du eksplicit angiver parameteren state.

Når du angiver et delvist recording ID, matcher BigBlueButton alle optagelser, hvis fulde ID starter med den angivne streng. For eksempel vil angivelse af 652c9eb4 returnere alle optagelser, hvis ID begynder med dette præfiks. Dette omtales nogle gange som wildcard matching i den officielle dokumentation, men det er strengt taget præfiksbaseret (startsWith), ikke substring-matching.

Ja. Brug parameteren meta med de samme nøglers navne, som du angav under oprettelsen af mødet. Hvis du for eksempel sendte meta_presenter=John ved oprettelse af mødet, kan du filtrere på det samme nøgle-værdi-par i getRecordings. Bemærk, at den præcise matching-adfærd for metadatafiltre ikke er fuldt specificeret i den officielle dokumentation.

meetingID er den eksterne identifikator, du tildelte ved oprettelsen af mødet. Et enkelt møde kan producere flere optagelser. recordID er en unik identifikator for hver enkelt optagelse. Når begge er angivet, har recordID forrang, og meetingID ignoreres.

Paginering kræver BBB 2.7 eller nyere. Angiv parameteren limit for at styre, hvor mange optagelser der returneres pr. request (1 til 100), og brug offset til at springe et antal resultater over. Svaret vil inkludere et felt totalElements, så du kan beregne det samlede antal sider. Parameteren offset har ingen effekt, medmindre limit også er angivet.

BigBlueButton begrænser automatisk værdien til det tilladte område. Hvis du angiver en værdi større end 100, behandles den som 100. Hvis du angiver en værdi mindre end 1, behandles den som 1. Der returneres ingen fejl.

Ja. Breakout-rums-optagelser er inkluderet og kan identificeres ved feltet isBreakout sat til true. De kan også indeholde yderligere felter såsom det overordnede meeting ID og breakout-sekvensnummeret.