Starten einer Archivaufzeichnung mit der Video API

Mit der Vonage Video API können Sie Sitzungen archivieren, speichern und abrufen.

Grundlegender Arbeitsablauf

Das ist wichtig: Sie können nur Sitzungen archivieren, die den Media Router verwenden (Sitzungen mit dem Medienbetrieb auf geroutet gesetzt).

Sie können eine Archivaufzeichnung für eine Sitzung erstellen, indem Sie eine der Server-SDKs. Wenn Sie ein Archiv erstellen, beginnt die Aufzeichnung.

Sie können nur ein Archiv für Sitzungen erstellen, bei denen mindestens ein Client angeschlossen ist. (Ein Client muss innerhalb einer Minute mit der Veröffentlichung eines Streams beginnen, sonst wird die Archivaufzeichnung gestoppt).

Wenn Clients die Veröffentlichung von Streams starten und beenden, werden die Streams aufgezeichnet.

Wichtig: Sie können bis zu 16 Videostreams bei der zusammengesetzten Archivierung oder 50 bei der Einzelstream-Archivierung aufzeichnen. (Sowohl zusammengesetzte als auch Einzelstream-Archive können bis zu 50 Audioströme enthalten). Siehe . Einzelne Streams und zusammengesetzte Archive. Wenn diese Grenze erreicht ist und weitere Streams in der Sitzung veröffentlicht werden, werden sie nicht aufgezeichnet. Die maximale Aufzeichnungslänge einer Archivaufzeichnung (die kumulative Länge der Zeit, in der Streams in der Sitzung veröffentlicht werden) beträgt 4 Stunden (14.400 Sekunden). Siehe Aufzeichnungsdauer archivieren für weitere Einzelheiten.

Die Anzahl der Archive, die Sie aufzeichnen können, ist jedoch nicht begrenzt, automatisch archivierte Sitzungen wird alle 4 Stunden eine neue Aufzeichnung gestartet, bis die Aufzeichnung beendet wird.

Die Server-SDKs enthalten Methoden für die folgenden Aufgaben:

  • Starten einer Archivaufzeichnung
  • Anhalten einer Archivaufzeichnung
  • Auflistung von Archivaufnahmen
  • Abrufen von Archivaufzeichnungsinformationen
  • Löschen eines Archivs

Wenn Sie die Aufzeichnung eines Archivs beenden, erstellt die Vonage Videoplattform eine MP4-Datei oder (im Falle von einzelnen Stream-Archiven) eine ZIP-Datei. (Siehe Einzelne Streams und zusammengesetzte Archive.)

Beim Starten und Stoppen einer Archivaufzeichnung werden in den Clients Ereignisse ausgelöst. Zum Beispiel wird die OpenTok.js Bibliothek umfasst archiveStarted und archiveStopped Ereignisse, die durch das Session-Objekt ausgelöst werden.

Zusammengesetzte vs. individuelle Archive im Überblick

  • Zusammengestellte Archive sind die Standardeinstellung. Vonage rendert ein einzelnes MP4 (H.264/AAC) unter Verwendung aller veröffentlichten Streams und der von Ihnen konfigurierten Layoutregeln. Sie sind sofort abspielbar und werden automatisch verwendet für automatisch archivierte Sitzungen. Zusammengesetzte Archive zeichnen bis zu 16 gleichzeitige Videoströme (und bis zu 50 Audioströme) auf.
  • Einzelne Stream-Archive eine ZIP-Datei erzeugen, die eine Mediendatei für jeden Stream enthält ( .webm oder .mkv) sowie ein JSON-Manifest. Wählen Sie diese Option, wenn Sie Streams nachbearbeiten oder neu mischen möchten. Einzelne Archive können bis zu 50 Videostreams (und bis zu 50 Audiostreams) erfassen, erfordern jedoch eine nachgelagerte Verarbeitung vor der Wiedergabe und werden für die automatische Archivierung nicht unterstützt.
  • Legen Sie das Format durch die Einstellung outputMode zu composed (Standard) oder individual wenn Sie die Archivierungs-REST-API oder ein Server-SDK aufrufen. Im folgenden Vergleich werden die Unterschiede näher erläutert.

Aufzeichnungsdauer archivieren

Die maximale Aufzeichnungslänge einer Archivaufzeichnung beträgt 4 Stunden (14.400 Sekunden). Diese Aufzeichnungslänge bezieht sich auf die kumulative Zeit, in der Streams veröffentlicht (und aufgezeichnet) werden.

Während Streams veröffentlicht (und aufgezeichnet) werden, wird der Status des Archivs auf "started". (Siehe Archivstatusänderungen).

Während ein Archiv aufzeichnet, ohne dass Streams veröffentlicht werden, wird der Status auf "paused".

Die maximale insgesamt Die Dauer einer Archivaufzeichnung, einschließlich der Zustände "gestartet" und "pausiert", beträgt 12 Stunden (43.200 Sekunden). Die Aufzeichnungen werden automatisch nach 1 Stunde (3.600 Sekunden) Inaktivität beendet (wenn keine Clients Streams veröffentlichen).

Anmerkungen:

  • Automatisch archivierte Sitzungen zu einer oder mehreren aufeinanderfolgenden Aufzeichnungen führen, die jeweils höchstens 4 Stunden lang sind.
  • Laufende Archive werden während der Serverrotation beendet (mit Ausnahme der automatischen Archive, die automatisch neu gestartet werden, wenn die Sitzung während der Serverrotation migriert wird). Sie können Archive als Reaktion auf Benachrichtigungsereignisse zur Serverrotation neu starten. Siehe . Server-Rotation und Sitzungsmigration.

Archivierung von Aufzeichnungen

Verwenden Sie Ihr Vonage Account um ein Ziel anzugeben, in das die fertigen Archivaufzeichnungsdateien hochgeladen werden sollen.

Dies kann Ihr eigener Amazon S3-Bucket, ein Bucket bei einem anderen S3-kompatiblen Speicheranbieter als Amazon oder ein Windows Azure-Container sein.

Für andere S3-kompatible Speicheranbieter als Amazon S3 unterstützen wir Cloudian und Google Cloud Storage (Zugriff über die AWS S3 API). Andere S3-kompatible Dienste können Funktionseinschränkungen aufweisen.

Siehe Verwendung von S3-Speicher mit Vonage Video API-Archivierung und Verwendung eines Windows Azure-Containers mit Vonage Video API-Archivierung.

Wenn die Archivaufzeichnung abgeschlossen ist (die Änderung des Aufzeichnungsstatus im Archiv wird eingestellt auf "stopped"), wird versucht, die Archivaufnahmedatei in das angegebene Ziel hochzuladen (z. B. eine S3-Eimer oder Azure-Container) bis zu 72 Stunden nach der Erstellung der Archivaufzeichnung (bzw. mindestens 6 Stunden, wenn Fallback aktiviert ist) und versucht es mehrmals über eine verteilte Upload-Planungsrichtlinie.

Wenn das Hochladen in das angegebene Ziel erfolgreich war, wird der Status der Archivaufzeichnung auf "uploaded".

Wenn Sie keine Definition eines Amazon S3-Bucket oder Azure-Containeroder wenn das Hochladen in den angegebenen Bucket/Container fehlschlägt (nach Wiederholungsversuchen), stehen aufgezeichnete Archive zum Download aus der Vonage-Cloud zur Verfügung. In einem solchen Fall wird der Archivaufzeichnungsstatus auf "available". Archive, die in der Vonage Cloud zur Verfügung gestellt werden, können 72 Stunden lang ab dem Zeitpunkt ihrer Erstellung heruntergeladen werden. Sie erhalten außerdem eine E-Mail mit einer Meldung über den fehlgeschlagenen Upload an die in Ihrem Vonage Account angegebene E-Mail-Adresse.

Um den Fallback-Speicher in der Vonage-Cloud zu verhindern, melden Sie sich bei Ihrem Vonage AccountGehen Sie zu Applications > Select your video application und stellen Sie die Option zum Deaktivieren der Speicheroption für Archivaufnahmen ein.

Wenn das Hochladen auf das angegebene Ziel fehlschlägt (nach versuchten Wiederholungen) und der Rückgriff auf den Vonage-Speicher deaktiviert ist, wird der Status der Archivaufzeichnung auf "failed".

Sie können erst dann auf die Archivaufzeichnung zugreifen, wenn sie auf das von Ihnen angegebene Ziel hochgeladen wurde oder auf dem Vonage-Speicher verfügbar ist.

Für Archive, die in der Vonage Cloud gespeichert sind, wird die Download-URL in der url Eigenschaft der Archivaufzeichnung, wenn der Status auf "available".

Jede Download-URL, die mit dem Archivaufzeichnungsspeicher-Fallback verwendet wird, ist eine vorsignierte URL, die Sicherheitsanmeldeinformationen verwendet, um eine zeitlich begrenzte Erlaubnis zum Herunterladen des Archivs zu erteilen.

Nach 10 Minuten läuft die vorsignierte URL ab und eine neue vorsignierte URL muss über die REST-API oder die Server-Methode angefordert werden, um die Download-URL abzurufen.

Aus Sicherheitsgründen ist die Download-URL nur verfügbar, wenn die REST-API-Aufrufe oder Server-SDK-Methoden für Angebotsarchiv (für die Ihre Account-Anmeldedaten erforderlich sind).

Nur-Audio- und Nur-Video-Archive

Wenn Sie eine Archivaufzeichnung mit einem der Vonage Video Server SDKs erstellen, können Sie festlegen, ob Audio, Video oder beides aufgezeichnet werden soll. (Standardmäßig wird beides aufgezeichnet.)

Einzelne Streams und zusammengesetzte Archive

Die Ausgabedatei der Archivaufzeichnung kann eines der folgenden Formate haben:

Option Ausgabe Wie Sie einen Antrag stellen Stromgrenzen Typische Anwendungsfälle
Zusammengesetztes Archiv Einzelne MP4 mit H.264-Video und AAC-Audio (48 kHz, 128 Kbps) Standard für alle Archive, oder setzen Sie outputMode=composed Bis zu 16 Videoströme (50 Audio) Produzieren Sie ein abspielfertiges Video, teilen Sie eine einzige Datei, automatische Archivierung
Individuelles Stream-Archiv ZIP, die pro Stream enthalten .webm/.mkv Dateien und ein JSON-Manifest Satz outputMode=individual beim Starten des Archivs Bis zu 50 Videoströme (50 Audio) Postproduktions-Workflows, Abmischen benutzerdefinierter Layouts, Aufzeichnungen pro Teilnehmer

Wählen Sie die zusammengesetzte Archivierung, wenn Sie möchten, dass Vonage ein abspielbares MP4 liefert, sobald die Aufzeichnung beendet ist. Entscheiden Sie sich für die Archivierung einzelner Streams, wenn Sie Rohdaten für die Bearbeitung, die Einhaltung von Vorschriften oder für die Wiedergabe nach Maß benötigen.

Zusammengestellte Archive

Die Archivaufzeichnung ist eine einzelne MP4-Datei, die aus allen Streams besteht. Dies ist die Standardeinstellung. Sie wird auch verwendet für automatisch archivierte Sitzungen.

Die MP4-Datei verwendet H.264-Video und AAC-Audio (mit 128 Kbps und einer Abtastrate von 48 Khz).

Sie können das Layout eines zusammengestellten Archivs anpassen, indem Sie die visuelle Anordnung der Streams und die angezeigten Streams anpassen. Siehe Anpassen des Videolayouts für zusammengestellte Archive.

Standardmäßig haben zusammengestellte Archive eine Auflösung von 640x480 Pixeln (SD-Querformat). Um ein zusammengesetztes Archiv auf eine Auflösung von 480x640 (SD-Hochformat), 1280x720 (HD-Querformat), 720x1280 (HD-Hochformat), 1920x1080 (FHD-Querformat) oder 1080x1920 (FHD-Hochformat) einzustellen, setzen Sie die resolution Eigenschaft zu 480x640, 1280x720, 1920x1080, 720x1280, oder 1080x1920 wenn Sie die Methode "Archiv starten" des Vonage Video Server SDK aufrufen. Sie sollten ein Hochformat verwenden, wenn Sie Archive aufzeichnen, die Videostreams von mobilen Geräten enthalten (die häufig das Hochformat verwenden).

Beachten Sie, dass die Unterstützung der FHD-Auflösungen "1920x1080" und "1080x1920" derzeit eine Betafunktion ist.

Sie können die maximale Videobitrate einer zusammengesetzten Archivaufzeichnung einstellen, um die Größe des Archivs zu kontrollieren. Stellen Sie die maxBitrate Option beim Aufruf der neues Archiv erstellen Methode. Geben Sie eine Bitrate in Bits pro Sekunde zwischen 100.000 und 6.000.000 an. Diese Einstellung gilt nur für die Methode Video Bitrate des Archivs. Wenn das Ausgangsarchiv Audio enthält, werden diese Bits bei der Begrenzung nicht berücksichtigt. Diese Option ist nur für zusammengesetzte Archive verfügbar (nicht für Archive mit einzelnen Streams). Wenn Sie die maximale Bitrate festlegen, verwendet das Archiv eine konstante Bitrate.

Sie können den Quantisierungsparameter (QP) für ein zusammengesetztes Archiv einstellen, um den Kompromiss zwischen Videoqualität und Dateigröße anzupassen. Setzen Sie den quantizationParameter Option beim Aufruf der neues Archiv erstellen Methode. Die Einstellung des Quantisierungsparameters bewirkt, dass das Archiv eine variable Bitrate und eine konstante Komprimierungsquantisierung verwendet, was zu einem konsistenten Qualitätsniveau bei Szenenwechseln führt. Gültige Werte liegen zwischen 15 und 40, wobei 20 bis 30 vernünftige Ergebnisse ohne große Unterschiede in der wahrgenommenen Qualität liefern. Niedrigere QP-Werte bewirken eine feinere Quantisierung der Videokompression, was zu einer besseren Videoqualität (mehr Videodetails bleiben erhalten) und einer größeren Datei führt. Höhere QP-Werte bewirken eine gröbere Quantisierung der Videokomprimierung, was zu einer geringeren Videoqualität und einer geringeren Dateigröße führt. Sie können nicht beide Werte einstellen. quantizationParameter Eigenschaft und die maxBitrate Eigenschaft - dies führt zu einem Fehler.

Anmerkung: Derzeit ist die Einstellung der Quantisierungsparameter nur in der REST-API verfügbar, nicht in den Vonage Video API Server SDKs.

Standardmäßig, wenn Sie nicht festlegen quantizationParameter oder maxBitrate Bei der Erstellung eines zusammengesetzten Archivs verwendet das Archiv eine Kodierung mit variabler Bitrate und einem Quantisierungsparameter von 19 (sehr hohe Qualität).

Einzelne Stream-Archivaufnahmen

Das Archiv ist eine ZIP-Containerdatei mit mehreren einzelnen Mediendateien für jeden Stream und einer JSON-Metadatendatei für die Videosynchronisierung.

Sie können dieses Format angeben, wenn Sie eines der Vonage Video Server SDKs zum Starten des Archivs verwenden. Dieses Format ist nicht verfügbar für automatisch archivierte Sitzungen.

Hinweis: Wenn in einem zusammengesetzten Archiv die Archivierung gestartet wird und während der Dauer des Archivs keine Daten gestreamt werden (kein Audio- oder Videomaterial wird veröffentlicht), beträgt die Größe der Archivdatei 0 Byte.

In einem zusammengestellten Archiv beginnt das Video für jeden enthaltenen Stream möglicherweise etwas später als das Audio beginnen (wobei das Video schwarz erscheint, bis es beginnt).

Arbeiten mit einzelnen Stream-Archivaufzeichnungen

Der Archivierungsmodus für einzelne Streams ist für die Verwendung mit einem Nachbearbeitungstool vorgesehen, um von Ihrer Anwendung generierte benutzerdefinierte Inhalte zu erstellen. Es gibt einige Überlegungen, die Entwickler anstellen sollten, wenn sie sich für die Verwendung dieser Funktion entscheiden.

Einzelne Strombehälter

Einzelne Stream-Archivmedien werden als ZIP-Archiv geliefert, das Dateien für jeden Audio-/Video-Stream enthält:

  • Jeder Stream-Container im Archiv entspricht einem auf der Vonage Videoplattform veröffentlichten Stream. Die Stream-ID des Herausgebers stimmt mit dem entsprechenden Dateinamen überein, und jede Stream-ID wird in der Datei Archivmanifest.

Wenn ein Datenstrom unterbrochen und wieder aufgenommen wird, weil die Verbindung automatisch wiederhergestellt wird, oder wenn ein Datenstrom wiederholt hinzugefügt und entfernt wird in einem Archiv im manuellen Stream-Modusenthält das ZIP-Archiv separate Dateien für jedes einzelne Segment des Streams.

  • Stream-Container sind entweder vom Typ .webm, oder .mkvabhängig von der Konfiguration Ihrer Anwendung. Archive für Anwendungen, die VP8 als bevorzugter Video-Codec haben webm Container und Applications, die H.264 als bevorzugten Video-Codec eingestellt haben, verwenden den mkv Format. Siehe Hinweise zur Archivierung mit VP9-Videos für weitere wichtige Details zu VP9-Video in einzelnen Ländern

  • Archivcontainer für einzelne Streams sind eine Erfassung aller vom Archivserver empfangenen Video- und Audiodaten. Diese Medien werden nicht verarbeitet, weshalb sich der Container in den meisten Fällen nicht für die direkte Wiedergabe eignet.

Der Streamcontainer wird wie ein Transportstrom behandelt - alle auf dem Archivserver eingehenden Medien werden direkt in eine Datei geschrieben, ohne Prüfung oder Nachbearbeitung. Dieses Design hat Auswirkungen auf die nachgelagerte Nutzung von Stream-Containern. In den meisten Fällen wird die direkte Wiedergabe eines einzelnen Stream-Archiv-Containers nicht möglich sein oder aufgrund des Inhalts des Containers Probleme bereiten:

  • Die angegebenen Abmessungen für den Stream-Header sind nur selten korrekt. Derzeit zeigen die Header für den Container eine Videospur mit den Abmessungen 640x480 Pixel an, unabhängig von den Abmessungen der kodierten Videobilder.

  • Die Abmessungen von Videobildern ändern sich mit der Zeit. Dazu können auch Änderungen des Seitenverhältnisses gehören, insbesondere bei Streams zur Bildschirmfreigabe.

  • Audio- und Videoframes kommen möglicherweise nicht mit monotonen Zeitstempeln an; die Frame-Raten sind nicht immer konsistent. Dies ist vor allem dann relevant, wenn entweder die Video- oder die Audiospur eine Zeit lang deaktiviert ist, indem eine der folgenden Optionen verwendet wird publishVideo oder publishAudio Verlagseigenschaften.

Frame-Präsentationszeitstempel (PTS) werden auf der Grundlage von NTP-Zeitstempeln zum Zeitpunkt der Aufnahme geschrieben, versetzt um den Zeitstempel des ersten empfangenen Frames. Auch wenn ein Titel stummgeschaltet und später wieder eingeschaltet wird, sollte der Zeitstempelversatz während der gesamten Dauer des Streams gleich bleiben. Bei der Dekodierung in der Nachbearbeitung wird eine PTS-Lücke zwischen aufeinanderfolgenden Frames für die Dauer der Stummschaltung der Spur bestehen: Es gibt keine "stillen" Frames im Container.

Um sichtbare Inhalte aus einzelnen Stream-Archivierungsdateien zu erzeugen, müssen Sie die Medien durch einen Postprozessor laufen lassen, um einzelne Stream-Container zu reparieren oder mehrere Container zu einem Endprodukt zu multiplexen/zusammenzusetzen.

Manifest für die Aufzeichnung einzelner Streams

Die einzelnen Stream-Archive enthalten eine JSON-Metadaten-Datei, die Informationen über die im Archiv enthaltenen Stream-Aufzeichnungen enthält. Sie hat das folgende Format:

{
  "createdAt" : 1429305105162,
  "files" : [
    {
      "connectionData" : "connection data for this stream's connection",
      "filename" : "a1475893-99f5-4f02-b697-5d69e8e30d19.webm",
      "size" : 5558064,
      "startTimeOffset" : 3119,
      "stopTimeOffset" : 48765,
      "streamId" : "a1475893-99f5-4f02-b697-5d69e8e30d19",
      "videoType": "camera"
    },
    {
      "connectionData" : "connection data for this stream's connection",
      "filename" : "5ab71b7b-d998-4683-ad2b-7769d6533666.webm",
      "size" : 5396527,
      "startTimeOffset" : 2799,
      "stopTimeOffset" : 48764,
      "streamId" : "5ab71b7b-d998-4683-ad2b-7769d6533666",
      "videoType": "screen"
    }
  ],
  "id" : "297b9c62-78b3-4152-9e98-7e167354c9e6",
  "name" : "archive name",
  "partnerId" : 123456,
  "sessionId" : "2_MX4xMDB-fjE0MjkzMDQ3NzY3NTZ-WUpRUGVFUmhFSkRmVGljeU5zVnJpaXYxfn4"
}
Name Beschreibung
id Der eindeutige Bezeichner dieses Archivs.
partnerId Die Partner-/Anwendungs-ID dieses Archivs.
sessionId Der eindeutige Bezeichner dieses Archivs.
name Der Name dieses Archivs. Dieses Feld ist leer, wenn name wurde beim Aufruf von start archive.. nicht angegeben.
createdAt Die Unix-Zeit in Millisekunden, zu der das Archiv gestartet wurde.
files Ein Array von Dateien, die im ZIP-Container enthalten sind. Jede Datei hat die folgenden Eigenschaften:
streamId Die entsprechende Stream-ID für den in dieser Datei aufgezeichneten Stream. Wenn ein Stream unterbrochen und wieder aufgenommen wird, weil die Verbindung automatisch wiederhergestellt wird, oder wenn ein Stream in einem manuellen Stream-Modus-Archiv wiederholt hinzugefügt und entfernt wird, enthält das individuelle Stream-Archiv separate Dateien für jedes einzelne Segment des Streams.
filename Der Name der aufgezeichneten Mediendatei. Bei einem Archiv einer Sitzung in einer Anwendung, die VP8 als bevorzugten Video-Codec verwendet, ist dies .webm, bei einem Archiv einer Sitzung in einer Anwendung, die H.264 als bevorzugten Video-Codec verwendet, ist es .mkv. Wenn ein Stream unterbrochen und wieder aufgenommen wird, weil die Verbindung automatisch wiederhergestellt wird, oder wenn ein Stream in einem Archiv im manuellen Stream-Modus wiederholt hinzugefügt und entfernt wird, können mehrere Dateien für denselben Stream vorhanden sein (entsprechend jedem Segment), und der Dateiname für jedes Stream-Segment wird mit einer Indexnummer (z. B. "1" oder "2") nach der Stream-ID angehängt, um die Reihenfolge der Segmente zu identifizieren.
startTimeOffset Der Offset in Millisekunden für den Beginn der Aufzeichnung dieser Datei (ab dem Zeitpunkt createdAt des Archivs) - siehe den wichtigen Hinweis unten.
stopTimeOffset Der Offset in Millisekunden für den Zeitpunkt, an dem diese Datei die Aufzeichnung beendet hat (ab dem Zeitpunkt createdAt für das Archiv) - siehe den wichtigen Hinweis unten.
connectionData Die Verbindungsdaten für den Veröffentlichungsclient.
videoType Entweder camera, screen, oder custom. A screen Video verwendet die Bildschirmfreigabe des Herausgebers als Videoquelle; ein custom Das Video wird von einem Web-Client veröffentlicht, der ein HTML-VideoTrack-Element als Videoquelle verwendet. Bei einem Stream, der von einem mobilen Gerät aus veröffentlicht wird, kann der Bildschirmtyp von einer Kamera zu einem Bildschirmfreigabevideotyp wechseln. Die Eigenschaft im Aufzeichnungsmanifest gibt jedoch nur den ursprünglichen Videotyp an.

Das ist wichtig: In einem EinzelstromaufzeichnungWenn während der Aufzeichnung für einen kurzen Zeitraum keine Streams veröffentlicht werden, wird die startTimeOffset und stopTimeOffset Werte können um ein Bit abweichen. Dies ist ein bekanntes Problem.

Auswahl der Ströme, die in ein Archiv aufgenommen werden sollen

Wenn Sie beim Starten eines Archivs die Option streamMode zu manualkönnen Sie die Streams auswählen, die in das Archiv aufgenommen werden sollen.

Sie können während der Archivaufzeichnung Streams hinzufügen und entfernen. Und Sie können festlegen, ob die Archivaufzeichnung das Audio oder das Video eines Streams (oder beides) enthalten soll.

Andernfalls, mit der streamMode eingestellt auf auto (Standardeinstellung), werden alle Streams (mit Audio und Video) in das Archiv aufgenommen. Siehe Starten einer Archivaufzeichnung und Auswählen von Streams, die in ein Archiv aufgenommen werden sollen.

In einem zusammengestellten Archiv können jedoch maximal 16 Videostreams und 50 Audiostreams gleichzeitig enthalten sein (sowohl für den automatischen als auch den manuellen Stream-Modus), und die Streams werden auf der Grundlage folgender Kriterien aufgenommen Strompriorisierungsregeln. Bei Archiven im manuellen Stream-Modus werden Stream-Aktualisierungen wie folgt gesendet Archivstatusänderungen.

Automatisch archivierte Aufzeichnungssitzungen

Sie können eine Sitzung automatisch archivieren lassen, indem Sie dies bei der Erstellung der Sitzung mit einem der Vonage Video Server SDKs angeben.

Die Archivierung eines automatisch archivierten Laufs beginnt, sobald sich ein Client mit dem Lauf verbindet.

Hinweis: Wenn die Archivierung gestartet wird und während der Dauer des Archivs keine Daten gestreamt werden (kein Audio- oder Videomaterial wird veröffentlicht), beträgt die Größe der Archivdatei 0 Byte.

Automatisch archivierte Sitzungen enthalten sowohl Audio als auch Video und zeichnen alle Streams in derselben (zusammengesetzten) MP4-Datei auf.

Wenn die Aufzeichnung jedoch länger als 4 Stunden (14.400 Sekunden) dauert, wird die Sitzung in mehreren aufeinanderfolgenden MP4-Dateien mit einer Länge von jeweils bis zu 4 Stunden aufgezeichnet, bis die Aufzeichnung gestoppt wird. Aufeinanderfolgende automatische Archive für eine Sitzung überschneiden sich leicht, so dass keine aufgezeichneten Daten verloren gehen.

Sie können die serverseitige SDK-Methode von Vonage Video zum Auflisten von Archiven aufrufen und die sessionID um Archive für eine bestimmte Sitzungs-ID aufzulisten.

Sie können dann die Reihenfolge der einzelnen MP4-Dateien bestimmen, indem Sie sich die createdAt Eigenschaft jedes in den zurückgegebenen JSON-Daten aufgeführten Archivs.

Sie können eine automatische Archivierung nicht mit den Server-SDKs stoppen. Automatische Archive werden 60 Sekunden, nachdem der letzte Client die Verbindung zur Sitzung getrennt hat, oder 60 Minuten, nachdem der letzte Client keinen Stream mehr für die Sitzung veröffentlicht hat, beendet.

Das ist wichtig: Wenn Sie erwarten, dass die Archivierung über längere Zeiträume unterbrochen wird, sollten Sie in Erwägung ziehen, die Archivierung mit den Methoden eines der Vonage Video Server SDKs zu starten und zu stoppen (anstatt die Sitzung automatisch archivieren zu lassen).

Sie sollten die Wiederverwendung von Sitzungskennungen unbedingt vermeiden, wenn Sie die automatische Archivierung verwenden. Die Wiederverwendung einer Sitzungsnummer kann dazu führen, dass die automatische Archivierung fehlschlägt, wenn eine frühere automatische Archivierung für die Sitzung zeitlich abgelaufen ist.

Verwenden Sie keine automatischen Archive für kurzlebige Sitzungen, wie z. B. solche, die für Voranrufe oder Verbindungstests verwendet werden. Die übermäßige Nutzung der Archivressourcen wird Ihnen in Rechnung gestellt, da die automatische Archivierung 60 Sekunden, nachdem der letzte Client die Verbindung zur Sitzung getrennt hat, oder 60 Minuten, nachdem der letzte Client die Veröffentlichung eines Streams in der Sitzung beendet hat (wenn der Client nach der Veröffentlichung verbunden bleibt), beendet wird.

Hinweis: Wenn Sie zwei aufeinanderfolgende Aufnahmen mit überlappenden Medienüberschneidungen zwischen dem Ende des ersten Archivs und dem Anfang des zweiten Archivs glätten möchten, können Sie unser Werkzeug "Zusammengesetztes Archiv nachbearbeiten" verwenden, das weiter unten erklärt wird.

Nachbearbeitung zusammengesetzter Archive

Videoarchivaufnahmen haben einen Aufzeichnungsdauer archivieren von bis zu 4 Stunden und 14.400 Sekunden. Daher wird eine längere Videositzung nicht in einer einzigen Archivdatei aufgezeichnet. Um zu vermeiden, dass ein Teil der Sitzung verloren geht, verwenden Sie die Option automatisch archivierte Sitzungen die es ermöglicht, mehrere Dateien zu erstellen, um die gesamte Sitzung abzudecken. Alternativ können Sie auch die Funktion Simultanarchiv um eine zweite Aufzeichnung zu starten, bevor die vorherige Aufzeichnung beendet wird. In beiden Fällen werden diese Archive mit einer kurzen Überlappung zwischen dem Ende der einen Datei und dem Beginn der nächsten erstellt.

Wenn Sie es vorziehen, eine einzige Datei zu haben, die die gesamte Sitzung enthält, können Sie die Nachbearbeitung von zusammengestellten Archiven das aufeinanderfolgende, sich überschneidende Aufnahmen zusammenführt und versucht, den Übergang so fließend wie möglich zu gestalten. Sie können dieses Werkzeug verwenden, um eine einzige, aber längere Datei zu erstellen, die Medien aus mehreren kürzeren Archivdateien enthält. Weitere Einzelheiten finden Sie in der Anleitung für Entwickler Nachbearbeitung zusammengestellter Archive. Das Tool ist verfügbar unter https://github.com/Vonage/archive-post-processing.

Sie können dieses Tool auch mit Videoaufzeichnungen verwenden, die nicht als Vonage Video Archive erstellt wurden, sofern eine gewisse Medienüberlappung vorhanden ist und die Videoaufzeichnungen eine Reihe von Merkmalen erfüllen, wie z. B. die Verwendung der Codecs H264 und AAC LC für Video bzw. Audio.

Gleichzeitige Archivaufzeichnungen

Um mehrere Archive für dieselbe Sitzung gleichzeitig aufzuzeichnen, setzen Sie den multiArchiveTag beim Starten jedes Archivs. Sie müssen diese Option auf eine eindeutige Zeichenfolge für jede gleichzeitige Archivaufzeichnung einer laufenden Sitzung einstellen.

Sie können verschiedene Layouts verwenden und jeder gleichzeitigen Archivaufzeichnung verschiedene Streams zuweisen.

Unter automatisch archivierte Sitzungensetzen Sie die multiArchiveTag um ein neues simultanes Archiv zu starten, das gleichzeitig mit den automatischen Archiven archiviert wird. Automatische Archive beginnen und enden, wenn die Sitzung von selbst beginnt und endet (gemäß den Regeln für automatische Archive), während Sie manuell gestartete Archive separat beenden.

Änderungen des Aufzeichnungsstatus archivieren

Sie können eine Callback-URL für die Benachrichtigung bei Statusänderungen eines Archivs registrieren. Der Status eines Archivs wird auf einen der folgenden Werte gesetzt:

Name Beschreibung
started Das Archiv hat begonnen und wird derzeit aufgezeichnet.
paused Wenn ein Archiv pausiert wird, wird nichts aufgezeichnet. Das Archiv wird angehalten, wenn keine Clients Streams für die Sitzung veröffentlichen (in diesem Fall gibt es eine Zeitüberschreitung von 60 Minuten, nach der das Archiv angehalten wird und der Archivstatus in stopped) oder alle Clients beenden die Sitzung (in diesem Fall wird die Aufzeichnung nach 60 Sekunden beendet und der Status wechselt zu stopped). Wenn ein Client die Veröffentlichung fortsetzt, während sich die Aufzeichnung in der paused dann wird die Aufzeichnung fortgesetzt und der Status wechselt zurück zu started.
stopped Die Aufnahme wurde gestoppt.
uploaded Das Archiv kann von dem Archiv-Upload-Ziel, das Sie in Ihrem Vonage Account angegeben haben, heruntergeladen werden. Beachten Sie, dass bei sehr kleinen Archiven das uploaded Statusereignis kann auftreten, bevor die stopped Wenn Sie das Statusereignis Archivspeicher-Fallback aktiviert ist, wird das Archiv bei einem Fallback in der Vonage Cloud gespeichert (und der Status wird "available").
available Das Archiv steht in der Vonage Cloud zum Download bereit.
expired Das Archiv steht nicht mehr zum Download aus der Vonage Cloud zur Verfügung. Aufzeichnungen in der Vonage-Cloud sind nur 72 Stunden ab dem Zeitpunkt ihrer Erstellung verfügbar.
failed Die Archivaufzeichnung ist fehlgeschlagen (oder der Upload der Archivdatei ist fehlgeschlagen und der Fallback-Speicher in der Vonage Cloud ist deaktiviert).
streamAdded Stream wurde dem Archiv hinzugefügt. Dies gilt für Archivspeicher-Fallback nur Archive.
streamRemoved Ein Stream wurde aus dem Archiv entfernt. Dies gilt für Handbetrieb nur Archive.

Verwenden Sie Ihren Vonage Account, um eine Rückruf-URL anzugeben. Wenn sich ein Archivstatus ändert, sendet der Server HTTP-POST-Anfragen an die von Ihnen angegebene URL. Die Content-Type für die Anfrage ist application/json. Die Daten der Anfrage sind ein JSON-Objekt der folgenden Form:

{
    "id" : "b40ef09b-3811-4726-b508-e41a0f96c68f",
    "event": "archive",
    "createdAt" : 1384221380000,
    "duration" : 328,
    "name" : "Foo",
    "partnerId" : 123456,
    "reason" : "",
    "resolution" : "640x480",
    "sessionId" : "2_MX40NzIwMzJ-flR1ZSBPY3QgMjkgMTI6MTM6MjMgUERUIDIwMTN-MC45NDQ2MzE2NH4",
    "size" : 18023312,
    "status" : "available",
    "url" : "https://tokbox.com.archive2.s3.amazonaws.com/123456/b40ef09b-3811-4726-b508-e41a0f96c68f/archive.mp4"
}

Das JSON-Objekt enthält die folgenden Eigenschaften:

Eigentum Beschreibung
createdAt Der Zeitstempel, wann der Aufruf zum Starten des Archivs erfolgte, ausgedrückt in Millisekunden seit der Unix-Epoche (1. Januar 1970, 00:00:00 UTC). Beachten Sie, dass dieser Wert auf die nächste Sekunde gerundet wird. Beachten Sie auch, dass sich dieser Wert von dem Wert createdAt Wert in der Methode zum Abrufen des Archivs und die createdAt Wert im Manifest für ein einzelnes Stream-Archiv. In diesen wird der createdAt wird auf den Zeitpunkt des effektiven Aufzeichnungsbeginns auf den Vonage-Servern gesetzt (nicht auf den Zeitpunkt des Aufrufs zum Starten der Aufzeichnung). Beachten Sie, dass selbst bei einem Aufruf zum Starten eines Archivs die Aufzeichnung auf dem Vonage-Server erst dann effektiv beginnt, wenn mindestens ein Client einen Stream in der Sitzung veröffentlicht.
duration Die Dauer des Archivs in Sekunden. Für laufende Archive (bei denen die Statuseigenschaft auf started), wird dieser Wert auf 0 gesetzt.
id Die eindeutige ID des Archivs.
name Der Name des Archivs, den Sie angegeben haben (dies ist optional).
partnerId Ihre Vonage App ID.
resolution Die Auflösung des Archivs (entweder 640x480, 480x640, 1280x720, 720x1280, 1920x1080, oder 1080x1920). Diese Eigenschaft wird nur für zusammengesetzte Archive festgelegt. Sie können die Auflösung eines zusammengesetzten Archivs festlegen, wenn Sie die Methode start archive des serverseitigen SDK von Vonage Video aufrufen.
reason Eine Zeichenfolge, die den Grund für die Statusänderung beschreibt.
  • Für Archive mit dem Status stopped oder failedDiese Zeichenfolge beschreibt den Grund, warum das Archiv angehalten wurde oder fehlgeschlagen ist. Bei Archiven mit dem Status stoppedkann dieser Wert auf maximum duration exceeded, maximum idle time exceeded, session ended, oder user initiated.
  • Für Archive mit dem Status failedkann dieser Wert auf Internal server failure.
  • Für Archive mit dem Status streamRemovedkann der Grund angegeben werden, warum der Stream aus der Sitzung (und dem Archiv) entfernt wurde: clientDisconnected, networkDisconnected, forceDisconnected, forceUnpublished, mediaStopped.
  • sessionId Die Sitzungs-ID der Vonage Video-Sitzung, die archiviert wurde.
    size Die Größe der Archivdatei. Für nicht erzeugte Archive wird dieser Wert auf 0 gesetzt.
    status Der Status des Archivs:
    available Das Archiv steht bei Vonage zum Download bereit.
    expired Das Archiv steht nicht mehr zum Download aus der Vonage Cloud zur Verfügung. Aufzeichnungen in der Vonage-Cloud sind nur 72 Stunden ab dem Zeitpunkt ihrer Erstellung verfügbar.
    failed Die Archivaufzeichnung ist fehlgeschlagen.
    paused Wenn ein Archiv pausiert wird, wird nichts aufgezeichnet. Das Archiv wird angehalten, wenn keine Clients Streams für die Sitzung veröffentlichen (in diesem Fall gibt es eine Zeitüberschreitung von 60 Minuten, nach der das Archiv angehalten wird und der Archivstatus in stopped) oder alle Clients beenden die Sitzung (in diesem Fall wird die Aufzeichnung nach 60 Sekunden beendet und der Status wechselt zu stopped). Wenn ein Client die Veröffentlichung fortsetzt, während sich das Archiv in der paused dann wird die Aufzeichnung fortgesetzt und der Status wechselt zurück zu started.
    started Das Archiv hat begonnen und wird derzeit aufgezeichnet.
    stopped Die Aufnahme wurde gestoppt.
    uploaded Das Archiv steht in dem S3-Bucket oder Azure-Container zum Download bereit, den Sie in Ihrem Vonage Account angegeben haben. Beachten Sie, dass bei sehr kleinen Archiven die uploaded Statusereignis kann auftreten, bevor die stopped Statusereignis.
    streamMode ob alle Streams in das Archiv aufgenommen werden (auto) oder Sie wählen die Streams aus, die in das Archiv aufgenommen werden sollen (manual). Siehe Auswahl der in ein Archiv aufzunehmenden Streams.
    streams Ein Array von Objekten, die den Streams entsprechen, die derzeit archiviert werden. Dies wird nur für ein Archiv gesetzt, bei dem der Status auf started. Jedes Objekt im Array enthält die folgenden Eigenschaften:
    streams Die Stream-ID des im Archiv enthaltenen Streams.
    hasAudio Ob der Ton des Streams im Archiv enthalten ist.
    hasVideo Ob das Video des Streams im Archiv enthalten ist.
    url Die Download-URL der verfügbaren Archivdatei. Sie wird nur für ein Archiv gesetzt, dessen Status auf availablefür andere Archive (einschließlich Archive mit dem Status "uploaded") wird diese Eigenschaft auf Null gesetzt. Aus Sicherheitsgründen ist die Download-URL nur bei Aufrufen der REST-API (oder des Server-SDK) für Abrufen von Archivinformationen oder Angebotsarchivoder indem Sie auf die URL zugreifen, indem Sie sich bei Ihrem Video API-Konto online (die alle eine Authentifizierung erfordern). Nach 10 Minuten läuft eine Download-URL ab und eine neue URL wird mit einer neuen Anfrage zugewiesen.
    timestamp Für Handbuch Stream-Updates den Zeitstempel, wann das Ereignis eingetreten ist, ausgedrückt in Millisekunden seit der Unix-Epoche (1. Januar 1970, 00:00:00 UTC).
    stream Für Handbuch Stream-Updates, Eigenschaften:
  • id Die Stream-ID des im Archiv hinzugefügten oder entfernten Streams.
  • connection das Verbindungsobjekt für den Stream, das eine Eigenschaft enthält: id. Die id ist die Verbindungs-ID des Streams, der im Archiv hinzugefügt oder entfernt wurde.
  • createdAt Der Zeitstempel für den Beginn des Streams, ausgedrückt in Millisekunden seit der Unix-Epoche (1. Januar 1970, 00:00:00 UTC). Beachten Sie, dass dieser Wert auf die nächste Sekunde gerundet wird.
  • Sie können auch den Status der Archive in Ihrem Vonage Account einsehen:

    1. Rufen Sie das Dashboard Ihres Vonage Accounts auf.
    2. Wählen Sie aus der Liste der Applications im linken Teil der Seite die Application aus, die die zu archivierenden Sessions enthalten soll.
    3. Klicken Sie im Bereich Archivierung auf die Registerkarte Archivliste. Es werden Details zu den Archiven in der Anwendung aufgelistet.

    Sicherheit der Archivaufzeichnung

    Sie können Ihre Archive auf folgende Weise sichern:

    • Fallback für Archivaufzeichnungsspeicher ausschalten - Standardmäßig speichert Vonage eine Archivdatei auf den Vonage-Servern, wenn die Datei nicht auf den von Ihnen angegebenen S3- oder Azure-Server hochgeladen werden konnte. Um diese Fallback-Speicherung (die standardmäßig aktiviert ist) zu verhindern, melden Sie sich bei Ihrem Vonage Account an, wählen Sie die Anwendung aus und setzen Sie die Option zur Deaktivierung der Fallback-Archivspeicherung.
    • Vonage-Verschlüsselung verwenden - So können Sie Vonage-Archive erstellen, in denen die Daten niemals unverschlüsselt ruhen. Von den verfügbaren Methoden zur Sicherung Ihrer Vonage-Aufzeichnungen bietet dies die höchste Sicherheitsstufe. Diese Funktion ist als Add-on verfügbar. Weitere Informationen finden Sie in der Vonage-Verschlüsselungsdokumentation.
    • Verwenden Sie die serverseitige Verschlüsselung von Amazon S3 - Dabei werden von Amazon S3 verwaltete Verschlüsselungsschlüssel zur Verschlüsselung verwendet. Erfahren Sie mehr über die serverseitige Verschlüsselung von Amazon S3 hier.

    Kombination von Archivierung und Experience Composer

    Es ist möglich, die Archivierung und Erlebnis-Komponist.