Administrer videoafspilning
Afspilningsknapperne overholder RTSP-standarderne og ONVIF Streaming Specification (https://www.onvif.org/profiles/specifications/).
Optagelsesoversigt
Du kan få en oversigt over al optaget video, som er tilgængelig på enheden, ved at bruge GetRecordingSummary kommandoen. Dette er ikke nødvendigt, men det giver nyttig information før en søgning.
Du kan bruge GetRecordingSummary og/eller GetMediaAttributesMilestone Open Network Bridge til at få tidsstemplet for den første og den sidste optagelse, men du skal først aktivere indstillingen Brug konfigurationer fra kameraer på plug-in'et i XProtect Management Client.

Opret en proxy for RecordingSearch tjenesten ved hjælp af det tjenesteslutpunkt, der returneres af GetServices. Opret anmodnings- og svarobjekter, og ring GetRecordingSummaryderefter.
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 );
Søg efter optagelser
Metoden Search Service FindRecordings starter en asynkron søgning på kameraet. FindRecordings Returnerer et token, som refererer til søgeresultaterne. Selvom der kun er en optagelse tilgængelig, så er en søgning den rigtige måde at få en reference til den optagelse.
Send en FindRecordings anmodning med følgende obligatoriske parametre:
SearchScope>IncludedSources>Token– du skal angive kamera-GUID-tokenDu vil få et svar med et
SearchToken, som er unikt for søgekriterierne.SearchScope>RecordingInformationFilter– streng med følgende parametre:timestamp(i UTC-format)maxTimeBefore(tiden før det ønskede tidsstempel, i millisekunder)maxCountBefore(det maksimale antal spor før det ønskede tidsstempel)maxTimeAfter(tiden efter det ønskede tidsstempel i millisekunder)maxCountAfter(det maksimale antal spor efter det anmodede tidsstempel)
For eksempel:
boolean(//Track[TrackType = “Video”]),2016-12-06T08:07:43Z,99999999,20,99999999,20
Gå SearchToken til GetRecordingSearchResults og du vil få en liste med alle de spor, der svarer til søgekriterierne.
Starter afspilning
Når du ser på videoafspilning, er standardhastigheden 1 (normal afspilning fremad).
Afspilning initieres ved hjælp af RTSP PLAY-metoden. Der kan angives et interval. Hvis der ikke er angivet et interval, afspilles streamen fra begyndelsen og afspilles til slutningen, eller hvis streamen er sat på pause, genoptages den på det tidspunkt, hvor den blev sat på pause. I dette eksempel Range: npt=3-20 instruerer RTSP-serveren om at starte afspilning fra tredje sekund til 20. sekund.
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
Omvend afspilning
ONVIF-enheder understøtter muligvis afspilning bagud. Omvendt afspilning angives ved hjælp af feltet Skaler i overskriften med en negativ værdi. For eksempel for at spille baglæns uden tab af data, vil der blive brugt en værdi på -1,0.
Værdierne Milestone Open Network Bridge [-32 : 32] understøttes.
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
Skift hastighed
Hastigheden styres af RTSP-Rate-Controlheaderen. Hvis Rate-Control=yes, så har serveren styr på afspilningshastigheden. Streamen bliver leveret i realtid ved hjælp af standard RTP timing-mekanismer. HvisRate-Control=no, så har klienten styr på afspilningshastigheden. Hastighedskontrolleret afspilning vil typisk kun blive brugt af ikke-ONVIF-specifikke klienter, da de ikke vil Rate-Control=noangive.
For at kontrollere afspilningshastigheden i en klient skal du bruge de tilgængelige controllere. Med VLC-medieafspilleren kan du for eksempel vælge Afspilning > Hastighed > Hurtigere eller Langsommere. Dette forøger eller formindsker hastigheden med 0,5.
Hurtigere fin og langsommere fin ændrer hastigheden med 0,25.
Administrer afspilning af VLC-medieafspiller med kommandolinjeposter
Du kan administrere videoafspilning i VLC-medieafspilleren ved hjælp af kommandolinjerne. Der henvises til VLC-kommandolinjehjælpen (https://wiki.videolan.org/VLC_command-line_help/), hvor der er flere oplysninger.
Sådanne kommandoer giver dig mulighed for for eksempel at vende afspilning om og ændre starttidspunktet for afspilningen.
Et eksempel på en typisk kommandolinje:
>vlc.exe --rate=-1.0 --start-time=3600 "rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373"
Hvor:
Hastighed er skalaen og hastighedsparameteren
Starttidspunktet er sekunder efter start af databasen
Følgende er afspilningskontrolelementerne for VLC-medieafspiller:
Kode | Formål | Værdier | Brug |
|---|---|---|---|
| Input-gentagelser |
| Antal gange det samme input vil blive gentaget. |
| Starttidspunkt |
| Streamen vil starte ved denne position (i sekunder). |
| Stoptidspunkt |
| Streamen vil stoppe ved denne position (i sekunder). |
| Køretid |
| Streamen vil køre denne varighed (i sekunder). |
| Hurtig søgning (standard deaktiveret) | Favoriser hastighed over præcision, mens du søger. | |
| Afspilningshastighed |
| Dette definerer afspilningshastigheden (nominel hastighed er 1,0), |
| Input-liste |
| Du kan give en kommasepareret liste med input, som vil blive sammenkædet efter det normale. |
| Input-slave (eksperimentel) |
| Dette giver dig mulighed for at spille fra flere inputs samtidig. Denne funktion er eksperimentel, ikke alle formater er understøttet. Brug en '#' adskilt liste af input. |
Hent optagelser fra et bestemt tidsrum
Du kan anmode om videoafspilning på et bestemt tidspunkt ved hjælp af den valgfrie URL-parameter clock i et RTSP-link.
Formatet er: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-[end_time]Z.
Egenskaberne [start_time] og [end_time] tidspunkterne følger typisk formatet yyyyMMddTHHmmssZ (år, måned, dag, fast bogstav T, 24-timers tid, minutter, sekunder og fast bogstav Z).
Egenskaben end_time er valgfri. For kun at anmode om starttidspunkt skal du bruge formatet: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-. Vil for eksempel rtsp://onbhost:554/vod/3bf3b583-768a-43c7-ae74-38df708c4dbf?clock=20250830T140000Z- hente en stream, der starter kl. 14:00 UTC den 30. august 2025.
Det faste bogstav Z angiver UTC-tidszonen. Selv hvis du udelader det (ikke anbefalet), betragtes tiden stadig som UTC, medmindre andet er angivet. For at indstille en tidszone skal du bruge en af de understøttede suffikser:
Et fast bogstav
peller+efterfulgt afhhmmangiver en positiv UTC-forskydning. Det20250830T140000p0100betyder for eksempel UTC+01:00 (Centraleuropæisk tid).Et fast bogstav
mefterfulgt afhhmmangiver en negativ UTC-forskydning. Det20250830T140000m0800betyder for eksempel UTC-08:00 (Pacific Time).