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> getRecordings volledig beschikbaar via de API. Paginering wordt ondersteund op alle huidige serverabonnementen die BBB 2.7 of later draaien.Tips
- Gebruik
recordIDmet een voorvoegsel om naar opnames te zoeken wanneer je slechts een gedeeltelijke ID hebt —BigBlueButtonmatcht alle opnames waarvan de ID met de opgegeven tekenreeks begint. - Geef de parameter
statealtijd expliciet op als je opnamen wilt zien die nog worden verwerkt of die zijn verwijderd, aangezien deze standaard worden uitgesloten. - Combineer
meetingIDmetstateom 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
published of unpublished. Opnames die nog worden verwerkt of voor verwijdering zijn gemarkeerd, worden niet opgenomen tenzij je expliciet de parameter state instelt.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.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.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.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.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.