Kapitel 11 GET POST

getRecordings – Aufzeichnungen abrufen

Der Endpunkt getRecordings gibt eine Liste von Aufzeichnungen Ihres BigBlueButton-Servers zurück, gefiltert nach Meeting-ID, Aufzeichnungs-ID oder Status. Seit BBB 2.7 unterstützt er Paginierung, wodurch große Mengen von Aufzeichnungen in handhabbaren Blöcken abgerufen werden können.

Endpunkt

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

Parameter

Parameter Typ Erforderlich Standard Beschreibung
meetingID String Kommagetrennte Liste von Meeting-IDs. Wird ignoriert, wenn recordID angegeben ist. Wenn nicht angegeben, werden alle Aufzeichnungen zurückgegeben.
recordID String Kommagetrennte Liste von Aufzeichnungs-IDs. Hat Vorrang vor meetingID. Unterstützt Präfix-Abgleich — zum Beispiel entspricht 652c9eb4 allen Aufzeichnungen, deren ID mit diesem Präfix beginnt.
state String published,unpublished Kommagetrennter Statusfilter. Gültige Werte: processing, processed, published, unpublished, deleted. Verwenden Sie any, um alle Status zurückzugeben.
meta String Metadatenfilter im selben Format wie im Aufruf create (z. B. meta_presenter=John).
offset Integer 0 Startindex für die Paginierung. Wirkt sich nur aus, wenn auch limit angegeben wird. BBB 2.7+
limit Integer Maximale Anzahl von Aufzeichnungen pro Antwort (1 bis 100). Werte außerhalb dieses Bereichs werden automatisch begrenzt. BBB 2.7+

Keiner der Parameter ist erforderlich. Ein Aufruf von getRecordings ohne Filter gibt alle published- und unpublished-Aufzeichnungen auf dem Server zurück.

Aufzeichnungsstatus

Zustand Beschreibung
processing Die Aufzeichnung wird derzeit verarbeitet.
processed Die Verarbeitung ist abgeschlossen, aber die Aufzeichnung wurde noch nicht veröffentlicht.
published Die Aufzeichnung ist veröffentlicht und für Benutzer zugänglich.
unpublished Die Aufzeichnung existiert, ist aber für Benutzer nicht zugänglich.
deleted Die Aufzeichnung wurde zur Löschung markiert.

Der Standard-Statusfilter umfasst nur Aufzeichnungen mit published und unpublished. Um Aufzeichnungen zu sehen, die noch verarbeitet werden oder gelöscht wurden, müssen Sie den Parameter state ausdrücklich setzen.

Antwortfelder

Feld Typ Beschreibung
recordID String Eindeutige Kennung der Aufzeichnung.
meetingID String Die externe Meeting-ID, die dieser Aufzeichnung zugeordnet ist.
internalMeetingID String Die interne Meeting-ID, die von BigBlueButton verwendet wird.
name String Der Name des Meetings zum Zeitpunkt der Aufzeichnung.
isBreakout Boolean Ob diese Aufzeichnung aus einem Gruppenraum stammt.
published Boolean Ob diese Aufzeichnung derzeit veröffentlicht ist.
state String Aktueller Status der Aufzeichnung (processing, processed, published, unpublished, deleted).
startTime Long Unix-Zeitstempel in Millisekunden, wann das Meeting begonnen hat.
endTime Long Unix-Zeitstempel in Millisekunden, wann das Meeting beendet wurde.
participants Integer Anzahl der Teilnehmer im Meeting.
rawSize Long Größe der Rohdaten der Aufzeichnung in Byte.
size Long Größe der verarbeiteten Aufzeichnung in Byte.
metadata Object Benutzerdefinierte Metadaten-Schlüssel-Wert-Paare, die mit der Aufzeichnung verknüpft sind.
playback Object Details zum Wiedergabeformat einschließlich URL, Verarbeitungszeit, Länge, Größe und Vorschaubildern.
totalElements Integer Gesamtzahl der übereinstimmenden Aufzeichnungen. Nur vorhanden, wenn Paginierungsparameter verwendet werden. BBB 2.7+

Beispielanfrage

Alle veröffentlichten Aufzeichnungen

getRecordings?checksum=replace-with-checksum

Aufzeichnungen für ein bestimmtes Meeting

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

Mehrere Meetings

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

Nach Aufzeichnungs-ID

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

Alle Status

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

Paginierte Anfrage (Aufzeichnungen 21 bis 30)

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

Beispielantwort

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

Paginierung BBB 2.7+

Wenn du die Parameter offset und/oder limit einschließt, enthält die Antwort ein zusätzliches Feld totalElements, das die Gesamtzahl der übereinstimmenden Aufzeichnungen angibt. So kannst du die Gesamtzahl der Seiten berechnen und Paginierungs-Steuerelemente in deiner Anwendung erstellen.

<response>
  <returncode>SUCCESS</returncode>
  <totalElements>42</totalElements>
  <recordings>
    <!-- recording elements -->
  </recordings>
</response>
bbbserver.de — Auf bbbserver.de ist der Endpunkt getRecordings vollständig über die API verfügbar. Paginierung wird bei allen aktuellen Serverplänen unterstützt, die BBB 2.7 oder neuer ausführen.

Tipps

  • Verwenden Sie recordID mit einem Präfix, um nach Aufzeichnungen zu suchen, wenn Sie nur eine partielle ID haben — BigBlueButton findet alle Aufzeichnungen, deren ID mit der angegebenen Zeichenfolge beginnt.
  • Gib den Parameter state immer explizit an, wenn du Aufzeichnungen sehen musst, die noch verarbeitet werden oder gelöscht wurden, da diese standardmäßig ausgeschlossen sind.
  • Kombiniere meetingID mit state, um die Ergebnisse effizient einzugrenzen — zum Beispiel, um nur veröffentlichte Aufzeichnungen für ein bestimmtes Meeting zu finden.
  • Bei großen Installationen mit vielen Aufzeichnungen solltest du Paginierung verwenden, um Timeouts zu vermeiden und die Antwortgrößen zu reduzieren.
  • Verwende Metadaten-Filter (Parameter meta_), um Aufzeichnungen anhand benutzerdefinierter Attribute zu finden, die bei der Erstellung des Meetings gesetzt wurden.

Häufig gestellte Fragen

Der Endpunkt gibt alle Aufzeichnungen mit dem Status published oder unpublished zurück. Aufzeichnungen, die noch verarbeitet werden oder zur Löschung markiert wurden, sind nicht enthalten, es sei denn, Sie setzen den Parameter state ausdrücklich.

Wenn Sie eine partielle Aufzeichnungs-ID angeben, findet BigBlueButton alle Aufzeichnungen, deren vollständige ID mit der angegebenen Zeichenfolge beginnt. Wenn Sie zum Beispiel 652c9eb4 übergeben, werden alle Aufzeichnungen zurückgegeben, deren ID mit diesem Präfix beginnt. Dies wird in der offiziellen Dokumentation manchmal als Wildcard-Matching bezeichnet, ist jedoch strikt präfixbasiert (startsWith) und kein Teilstring-Matching.

Ja. Verwenden Sie den Parameter meta mit denselben Schlüsselnamen, die Sie bei der Erstellung des Meetings gesetzt haben. Wenn Sie zum Beispiel bei der Erstellung des Meetings meta_presenter=John übergeben haben, können Sie in getRecordings nach demselben Schlüssel-Wert-Paar filtern. Beachten Sie, dass das genaue Matching-Verhalten für Metadatenfilter in der offiziellen Dokumentation nicht vollständig spezifiziert ist.

Die meetingID ist die externe Kennung, die Sie beim Erstellen des Meetings vergeben haben. Ein einzelnes Meeting kann mehrere Aufzeichnungen erzeugen. Die recordID ist eine eindeutige Kennung für jede einzelne Aufzeichnung. Wenn beide angegeben werden, hat recordID Vorrang und meetingID wird ignoriert.

Paginierung erfordert BBB 2.7 oder neuer. Setzen Sie den Parameter limit, um zu steuern, wie viele Aufzeichnungen pro Anfrage zurückgegeben werden (1 bis 100), und verwenden Sie offset, um eine Anzahl von Ergebnissen zu überspringen. Die Antwort enthält ein Feld totalElements, damit Sie die Gesamtzahl der Seiten berechnen können. Der Parameter offset hat keine Wirkung, solange limit nicht ebenfalls angegeben ist.

BigBlueButton begrenzt den Wert automatisch auf den zulässigen Bereich. Wenn Sie einen Wert größer als 100 übergeben, wird er als 100 behandelt. Wenn Sie einen Wert kleiner als 1 übergeben, wird er als 1 behandelt. Es wird kein Fehler zurückgegeben.

Ja. Aufzeichnungen von Breakout-Räumen sind enthalten und können am Feld isBreakout erkannt werden, das auf true gesetzt ist. Sie können außerdem zusätzliche Felder enthalten, etwa die übergeordnete Meeting-ID und die Sequenznummer des Breakout-Raums.