Video-Wiedergabe verwalten
Die Wiedergabesteuerung entspricht den RTSP-Standards und den ONVIF-Streamingvorgaben (https://www.onvif.org/profiles/specifications/).
Zusammenfassung der Aufnahmen
Mit dem Befehl GetRecordingSummary können Sie sich einen Überblick über alle auf dem Gerät verfügbaren Videoaufzeichnungen verschaffen. Dies ist nicht erforderlich, liefert aber nützliche Informationen, bevor Sie eine Suche durchführen.
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.

Erstellen Sie einen Proxy für den RecordingSearch Dienst mit dem von GetServiceszurückgegebenen Dienstendpunkt. Erstellen Sie Anfrage- und Antwortobjekte, und rufen GetRecordingSummarySie dann .
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 startet FindRecordings eine asynchrone Suche in der Kamera. FindRecordings gibt ein Token zurück, das auf die Suchergebnisse verweist. Auch wenn nur eine Aufzeichnung verfügbar ist, ist eine Suche die richtige Methode, 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 angebenSie erhalten eine Antwort mit einem
SearchToken, die einzigartig für das Suchkriterium ist.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
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 mithilfe der RTSP PLAY-Methode ausgelöst. Es kann ein Bereich festgelegt werden. Wenn kein Bereich festgelegt ist, wird der Stream vom Anfang bis zum Ende abgespielt, oder wenn der Stream angehalten wurde, wird er an dem Punkt fortgesetzt, an dem er angehalten wurde. In diesem Beispiel weist Range: npt=3-20 den RTSP-Server an, die Wiedergabe von der dritten bis zur 20. Sekunde zu starten.
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 über den RTSP-Rate-Control-Header gesteuert. Wenn Rate-Control=yes, bestimmt der Server die Wiedergabegeschwindigkeit. Der Stream wird in Echtzeit mit Standard-RTP-Timing-Mechanismen bereitgestellt. WennRate-Control=no, dann hat der Client die Kontrolle über die Wiedergabegeschwindigkeit. Die geschwindigkeitsgesteuerte Wiedergabe wird in der Regel nur von Clients verwendet, die nicht ONVIF-spezifisch sind, da diese keine Rate-Control=noangeben.
Verwenden Sie die bereitgestellten Controller, um die Wiedergabegeschwindigkeit in einem Client zu steuern. Wählen Sie zum Beispiel mit dem VLC Media Player Wiedergabe > Geschwindigkeit > Schneller oder Langsamer. Dadurch wird die Geschwindigkeit um 0,5 erhöht oder verringert.
Schneller (fein) und Langsamer (fein) verändern die Geschwindigkeit um 0,25.
Verwaltung der Wiedergabe des VLC Media Players mittels Befehlszeileneingaben
Sie können die Videowiedergabe im VLC Media Player mithilfe von Befehlszeilen verwalten. Weitere Einzelheiten finden Sie in der VLC-Befehlszeilenhilfe (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 | Zweck | Werte | Verwendung |
|---|---|---|---|
| Eingabewiederholungen |
| Anzahl der Wiederholungen derselben Eingabe. |
| Startzeit |
| Der Stream startet an dieser Position (in Sekunden). |
| Stoppzeit |
| Der Stream stoppt an dieser Position (in Sekunden). |
| Laufzeit |
| Der Stream läuft über diesen Zeitraum (in Sekunden). |
| Schnellsuche (standardmäßig deaktiviert) | Bevorzugt Geschwindigkeit über Genauigkeit bei Suche. | |
| Wiedergabegeschw. |
| Dies bestimmt die Wiedergabegeschwindigkeit (normale Geschwindigkeit liegt bei 1,0), |
| Eingabeliste |
| Sie können die Eingaben in einer durch Kommata geteilte Liste angeben, die miteinander nach der Normalen verknüpft werden. |
| 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. |
Aufzeichnungen aus einem bestimmten Zeitraum abrufen
Sie können die Videowiedergabe zu einem bestimmten Zeitpunkt anfordern, indem Sie den optionalen URL-Parameter clock in einem RTSP-Link verwenden.
Das Format ist: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-[end_time]Z
Die Eigenschaften [start_time] und [end_time] folgen in der Regel dem Format yyyyMMddTHHmmssZ (Jahr, Monat, Tag, fester Buchstabe T, 24-Stunden-Uhrzeitformat für Stunden, Minuten, Sekunden und fester Buchstabe Z).
Die end_time -Eigenschaft ist optional. Verwenden Sie das folgende Format, um nur die Startzeit anzufordern: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-. Rufen Sie beispielsweise rtsp://onbhost:554/vod/3bf3b583-768a-43c7-ae74-38df708c4dbf?clock=20250830T140000Z- einen Stream ab, der am 30. August 2025 um 14:00 Uhr UTC beginnt.
Die UTC-Zeitzone ist durch einen festen Buchstaben Z . Auch wenn Sie es weglassen (nicht empfohlen), wird die Zeit immer noch als UTC betrachtet, sofern nicht anders angegeben. Um eine Zeitzone festzulegen, verwenden Sie eines der unterstützten Suffixe:
Ein fester Buchstabe
poder+gefolgt vonhhmmzeigt einen positiven UTC-Offset an. Zum Beispiel bedeutet20250830T140000p0100UTC+01:00 (Central European Time).Ein fester Buchstabe
mgefolgt vonhhmmzeigt einen negativen UTC-Offset an. Zum Beispiel bedeutet20250830T140000m0800UTC-08:00 (Pacific Time).