Video-Wiedergabe verwalten

Die Wiedergabesteuerung entspricht den RTSP-Standards und den ONVIF-Streamingvorgaben (https://www.onvif.org/profiles/specifications/).

Zusammenfassung der Aufnahmen

Sie erhalten einen Überblick über alle aufgezeichneten Videos, die in dem Gerät verfügbar sind, indem Sie den Befehl GetRecordingSummary eingeben. Das ist nicht notwendig, aber es liefert nützliche Informationen vor der Durchführung einer Suche.

Sie können GetRecordingSummary und/oder GetMediaAttributes verwenden, um den Zeitstempel der ersten und der letzten Aufnahme zu erhalten, Sie müssen jedoch zuerst die Einstellung Konfigurationen von Kameras verwenden für das Milestone Open Network Bridge Plug-in in der XProtect Management Client aktivieren.

Use configuration from cameras check box in the Open Network Bridge Information pane.

Legen Sie ein Proxy für den RecordingSearch an, unter Nutzung des Service-Endpunkts, der von GetServices zurückgegeben wird. Erstellen Sie Frage- und Antwortobjekte, dann rufen Sie GetRecordingSummary an.

SearchBindingProxy searchProxy( &soapSearch );

std::string searchEndpoint = "http://" + host + "/onvif/recording_search_service";

_tse__GetRecordingSummary tse__GetRecordingSummary;

_tse__GetRecordingSummaryResponse tse__GetRecordingSummaryResponse;

result = searchProxy.GetRecordingSummary( searchEndpoint.c_str(), NULL,

   &tse__GetRecordingSummary, &tse__GetRecordingSummaryResponse );

Suche nach Aufnahmen

Die Suchdienstmethode FindRecordings startet eine asynchrone Suche in der Kamera. FindRecordings gibt ein Token zurück, das sich auf die Suchergebnisse bezieht. Obwohl nur eine Aufzeichnung verfügbar ist, ist eine Suche der richtige Weg, um eine Referenz für diese Aufzeichnung zu erhalten.

Senden Sie eine Anfrage FindRecordings mit den folgenden obligatorischen Parametern:

  • SearchScope > IncludedSources > Token – Sie müssen den GUID Token der Kamera angeben
  • SearchScope > RecordingInformationFilter – String mit den folgenden Parametern:
    • timestamp (in UTC-Format)
    • maxTimeBefore (die Zeit vor dem angeforderten Zeitstempel, in Millisekunden)
    • maxCountBefore (die maximale Anzahl von Spuren vor dem angeforderten Zeitstempel)
    • maxTimeAfter (die Zeit nach dem angeforderten Zeitstempel, in Millisekunden)
    • maxCountAfter (die maximale Anzahl von Spuren nach dem angeforderten Zeitstempel)

Beispielsweise:

boolean(//Track[TrackType = “Video”]),2016-12-06T08:07:43Z,99999999,20,99999999,20

Sie erhalten eine Antwort mit einem SearchToken, die einzigartig für das Suchkriterium ist.

Reichen Sie den SearchToken an GetRecordingSearchResults weiter, und Sie erhalten eine Liste mit allen Spuren, die den Suchkriterien entsprechen.

Wiedergabe starten

Wenn Sie Video abspielen, liegt die standardmäßige Geschwindigkeit bei 1 (normale Wiedergabe vorwärts).

Die Wiedergabe wird mittels der RTSP PLAY Methode gestartet. Ein Bereich kann bestimmt werden. Wenn kein Bereich angegeben wird, spielt der Stream von Beginn bis zum Ende ab, oder wenn der Stream pausiert wurde, wird er ab diesem Zeitpunkt fortgesetzt. In diesem Beispiel, „Bereich: npt=3-20“ weist den RTSP Server an, die Wiedergabe von der dritten bis zur 20. Sekunde zu starten.

Beispielsweise:

PLAY rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

Session: 12345678

Require: onvif-replay

Range: npt=3-20

Rate-Control: no

Wiedergabe rückwärts

ONVIF Geräte KÖNNTEN Wiedergabe rückwärts unterstützen. Wiedergabe rückwärts verwendet laut Anzeige des Skalierungsfeld einen negativen Wert. Damit Sie beispielsweise ohne Datenverlust rückwärts wiedergeben können, wird ein Wert von -1,0 verwendet.

Die Milestone Open Network Bridge unterstützt Werte [-32 : 32].

PLAY rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

Session: 12345678

Require: onvif-replay

Range: clock=20090615T114900.440Z

Rate-Control: no

Scale: -1.0

Geschwindigkeit ändern

Die Geschwindigkeit wird durch die RTSP Geschwindigkeit-Steuerung kontrolliert. Wenn „Geschwindigkeit-Steuerung=ja“, bestimmt der Server die Wiedergabegeschwindigkeit. Der Stream wird mittels des Standard-RTP Timing Mechanismus in Echtzeit wiedergegeben. Wenn „Geschwindigkeit-Steuerung=nein“, bestimmt der Client die Wiedergabegeschwindigkeit. Geschwindigkeitsgesteuerte Wiedergabe wird im Normalfall nur von Nicht-ONVIF spezifischen Clients verwendet, da diese nicht „Geschwindigkeit-Steuerung=nein“ festlegen.

Benutzen Sie die angegeben Steuerelemente, um Wiedergabegeschwindigkeit in einem Client zu kontrollieren. Beim VLC Media Player beispielsweise, wählen Sie Wiedergabe > Geschwindigkeit > Schneller oder Langsamer. Dies erhöht bzw. verringert die Geschwindigkeit um 0,5.

Schneller (fein) und Langsamer (fein) verändern die Geschwindigkeit um 0,25.

Verwaltung der Wiedergabe des VLC Media Players mittels Befehlszeileneingaben

Sie können Video-Wiedergabe im VLC Media Player mittels Befehlszeilen verwalten. Detaillierte Informationen finden Sie in der VLC-Befehlszeilen-Hilfe (https://wiki.videolan.org/VLC_command-line_help/).

Solche Befehle erlauben es Ihnen unter anderem, rückwärts wiederzugeben und die Startzeit der Wiedergabe zu verändern.

Ein Beispiel für eine typische Befehlszeile:

>vlc.exe --rate=-1.0 --start-time=3600 "rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373"

Wo:

  • Rate sind die Skalierungs- und Geschwindigkeitsparameter
  • Start-Zeit ist Sekunden nach dem Start der Datenbank

Folgend finden Sie die Wiedergabesteuerung für VLC Media Player:

Code

Was kann ich mit den Code tun?

Eingabe-Wiederholung=

<Integer [-2147483648 .. 2147483647]>

Eingabewiederholungen

Anzahl der Wiederholungen derselben Eingabe

Start-Zeit=

<float>

Startzeit

Der Stream startet an dieser Position (in Sekunden)

Stopp-Zeit=

<float>

Stoppzeit

Der Stream stoppt an dieser Position (in Sekunden)

Lauf-Zeit=

<float>

Laufzeit

Der Stream läuft über diesen Zeitraum (in Sekunden)

Eingabe-Schnell-Suche

Keine-Eingabe-Schnell-Suche

Schnellsuche (standardmäßig deaktiviert)

Bevorzugt Geschwindigkeit über Genauigkeit bei Suche

rate=

<float>

Wiedergabegeschw.

Dies bestimmt die Wiedergabegeschwindigkeit (normale Geschwindigkeit liegt bei 1,0)

Eingabe-Liste=

<string>

Eingabeliste

Sie können die Eingaben in einer durch Kommata geteilte Liste angeben, die miteinander nach der Normalen verknüpft werden

Eingabe-Slave=

<string>

Eingabe-Slave (experimentell)

Dies erlaubt es Ihnen, mehrere Eingaben zur selben Zeit wiederzugeben. Diese Funktion ist experimentell und unterstützt daher nicht alle Formate. Benutzen Sie ein „#“ zur Unterteilung von Eingaben