Hoofdstuk 11 GET POST

getRecordings – Opnames ophalen

Het endpoint getRecordings retourneert een lijst met opnames van je BigBlueButton-server, gefilterd op meeting-ID, opname-ID of status. Het ondersteunt paginering vanaf BBB 2.7, waardoor je eenvoudig grote aantallen opnames in beheersbare delen kunt ophalen.

Endpoint

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

Parameters

Parameter Type Vereist Standaard Beschrijving
meetingID String Door komma's gescheiden lijst met meeting-ID's. Wordt genegeerd wanneer recordID is opgegeven. Als deze ontbreekt, worden alle opnames geretourneerd.
recordID String Door komma's gescheiden lijst met opname-ID's. Heeft voorrang op meetingID. Ondersteunt prefix-matching — bijvoorbeeld 652c9eb4 komt overeen met alle opnames waarvan de ID met dat voorvoegsel begint.
state String published,unpublished Door komma's gescheiden statusfilter. Geldige waarden: processing, processed, published, unpublished, deleted. Gebruik any om alle statussen te retourneren.
meta String Metadatafilter in hetzelfde formaat als in de create-call (bijv. meta_presenter=John).
offset Integer 0 Startindex voor paginering. Heeft alleen effect wanneer ook limit is opgegeven. BBB 2.7+
limit Integer Maximumaantal opnames per response (1 tot 100). Waarden buiten dit bereik worden automatisch begrensd. BBB 2.7+

Geen van de parameters is verplicht. Het aanroepen van getRecordings zonder filter retourneert alle published- en unpublished-opnames op de server.

Opnamestatussen

Status Beschrijving
processing De opname wordt momenteel verwerkt.
processed De verwerking is voltooid, maar de opname is nog niet gepubliceerd.
published De opname is gepubliceerd en toegankelijk voor gebruikers.
unpublished De opname bestaat, maar is niet toegankelijk voor gebruikers.
deleted De opname is gemarkeerd voor verwijdering.

Het standaardstatusfilter bevat alleen opnames met de status published en unpublished. Om opnames te zien die nog worden verwerkt of zijn verwijderd, moet u de parameter state expliciet instellen.

Responsvelden

Veld Type Beschrijving
recordID String Unieke identificatie van de opname.
meetingID String De externe meeting-ID die aan deze opname is gekoppeld.
internalMeetingID String De interne meeting-ID die door BigBlueButton wordt gebruikt.
name String De naam van de vergadering op het moment dat deze werd opgenomen.
isBreakout Boolean Of deze opname afkomstig is uit een breakout-ruimte.
published Boolean Of deze opname momenteel gepubliceerd is.
state String Huidige status van de opname (processing, processed, published, unpublished, deleted).
startTime Long Unix-tijdstempel in milliseconden waarop de vergadering begon.
endTime Long Unix-tijdstempel in milliseconden waarop de vergadering eindigde.
participants Integer Aantal deelnemers aan de vergadering.
rawSize Long Grootte van de onbewerkte opnamegegevens in bytes.
size Long Grootte van de verwerkte opname in bytes.
metadata Object Aangepaste metadata-sleutel-waardeparen die aan de opname zijn gekoppeld.
playback Object Details van het afspeelformaat, inclusief URL, verwerkingstijd, duur, grootte en voorbeeldminiaturen.
totalElements Integer Totaal aantal overeenkomende opnamen. Alleen aanwezig wanneer pagineringsparameters worden gebruikt. BBB 2.7+

Voorbeeldverzoek

Alle gepubliceerde opnamen

getRecordings?checksum=replace-with-checksum

Opnamen voor een specifieke vergadering

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

Meerdere vergaderingen

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

Op opname-ID

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

Alle statussen

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

Gepagineerd verzoek (opnamen 21 tot 30)

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

Voorbeeldrespons

<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+

Wanneer je de parameters offset en/of limit opneemt, bevat het antwoord een extra veld totalElements dat het totale aantal overeenkomende opnamen aangeeft. Hiermee kun je het totale aantal pagina's berekenen en pagineringsbesturing in je applicatie bouwen.

<response>
  <returncode>SUCCESS</returncode>
  <totalElements>42</totalElements>
  <recordings>
    <!-- recording elements -->
  </recordings>
</response>
bbbserver.de — Op bbbserver.de is het endpoint getRecordings volledig beschikbaar via de API. Paginering wordt ondersteund op alle huidige serverabonnementen die BBB 2.7 of later draaien.

Tips

  • Gebruik recordID met een voorvoegsel om naar opnames te zoeken wanneer je slechts een gedeeltelijke ID hebt — BigBlueButton matcht alle opnames waarvan de ID met de opgegeven tekenreeks begint.
  • Geef de parameter state altijd expliciet op als je opnamen wilt zien die nog worden verwerkt of die zijn verwijderd, aangezien deze standaard worden uitgesloten.
  • Combineer meetingID met state om de resultaten efficiënt te verfijnen — bijvoorbeeld om alleen gepubliceerde opnamen voor een specifieke vergadering te vinden.
  • Gebruik bij grote implementaties met veel opnamen paginering om time-outs te voorkomen en de grootte van antwoorden te verkleinen.
  • Gebruik metadatafilters (parameters meta_) om opnamen te vinden op basis van aangepaste kenmerken die tijdens het aanmaken van de vergadering zijn ingesteld.

Veelgestelde vragen

Het endpoint retourneert alle opnames met de status published of unpublished. Opnames die nog worden verwerkt of voor verwijdering zijn gemarkeerd, worden niet opgenomen tenzij je expliciet de parameter state instelt.

Wanneer je een gedeeltelijke opname-ID opgeeft, matcht BigBlueButton alle opnames waarvan de volledige ID met de opgegeven tekenreeks begint. Als je bijvoorbeeld 652c9eb4 doorgeeft, retourneert dit elke opname waarvan de ID met dat voorvoegsel begint. Dit wordt in de officiële documentatie soms wildcard-matching genoemd, maar het is strikt prefix-gebaseerd (startsWith), geen substring-matching.

Ja. Gebruik de parameter meta met dezelfde sleutelnamen die je tijdens het aanmaken van de vergadering hebt ingesteld. Als je bijvoorbeeld meta_presenter=John hebt doorgegeven bij het aanmaken van de vergadering, kun je in getRecordings op hetzelfde sleutel-waardepaar filteren. Let op dat het exacte matchgedrag voor metadatafilters niet volledig is gespecificeerd in de officiële documentatie.

De meetingID is de externe identifier die je hebt toegewezen bij het aanmaken van de vergadering. Eén enkele vergadering kan meerdere opnames opleveren. De recordID is een unieke identifier voor elke afzonderlijke opname. Als beide zijn opgegeven, krijgt recordID voorrang en wordt meetingID genegeerd.

Paginering vereist BBB 2.7 of later. Stel de parameter limit in om te bepalen hoeveel opnames per request worden geretourneerd (1 tot 100), en gebruik offset om een aantal resultaten over te slaan. De response bevat een veld totalElements zodat je het totale aantal pagina's kunt berekenen. De parameter offset heeft geen effect tenzij limit ook is opgegeven.

BigBlueButton begrenst de waarde automatisch tot het toegestane bereik. Als je een waarde groter dan 100 doorgeeft, wordt deze behandeld als 100. Als je een waarde kleiner dan 1 doorgeeft, wordt deze behandeld als 1. Er wordt geen fout geretourneerd.

Ja. Opnames van breakout rooms zijn inbegrepen en kunnen worden herkend aan het veld isBreakout dat op true staat. Ze kunnen ook extra velden bevatten, zoals de ID van de bovenliggende vergadering en het volgnummer van de breakout room.