Skip to main content

Milestone Open Network Bridge

Afspelen van video beheren

Last Updated: 5 minute read
Versie2026r1
TaalNederlands

De afspeelbesturing voldoet aan de RTSP-normen en de ONVIF Streaming Specification (https://www.onvif.org/profiles/specifications/).

Opnameoverzicht

Je kunt een overzicht krijgen van alle opgenomen video's die beschikbaar zijn op het apparaat door de GetRecordingSummary -opdracht te gebruiken. Dit is niet vereist, maar het biedt nuttige informatie voordat je een zoekopdracht uitvoert.

Je kunt GetRecordingSummary en/of GetMediaAttributes gebruiken om het tijdstempel van de eerste en laatste opname te verkrijgen, maar je moet eerst de instelling Configuraties gebruiken van camera's op de Milestone Open Network Bridge plug-in in de XProtect Management Clientinschakelen.

Schakel het selectievakje Configuratie van camera’s gebruiken in het deelvenster Open Network Bridge-informatie in.

Maak een proxy voor de RecordingSearch -service met behulp van het service-eindpunt dat door GetServiceswordt geretourneerd. Aanvraag- en antwoordobjecten maken, vervolgens aanroepenGetRecordingSummary.

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

Zoeken naar opnamen

De methode van de zoekservice start FindRecordings een asynchrone zoekopdracht op de camera. FindRecordings retourneert een token dat verwijst naar de zoekresultaten. Hoewel er slechts één opname beschikbaar is, is een zoekopdracht de juiste manier om een referentie voor die opname te verkrijgen.

Stuur een FindRecordings met de volgende verplichte parameters:

  • SearchScope > IncludedSources > Token – je moet het GUID-token voor de camera opgeven

  • Je krijgt een reactie met een SearchToken, die uniek is voor de zoekcriteria.

    SearchScope > RecordingInformationFilter – tekenreeks met de volgende parameters:

    • timestamp (in UTC-indeling)

    • maxTimeBefore (de tijd vóór het aangevraagde tijdstempel, in milliseconden)

    • maxCountBefore (het maximale aantal tracks vóór de aangevraagde tijdstempel)

    • maxTimeAfter (de tijd na het aangevraagde tijdstempel, in milliseconden)

    • maxCountAfter (het maximale aantal tracks na de aangevraagde tijdstempel)

Bijvoorbeeld:

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

Geef de SearchToken door aan GetRecordingSearchResults en je krijgt een lijst met alle tracks die voldoen aan de zoekcriteria.

Afspelen starten

Bij het afspelen van video is de standaard snelheid 1 (normaal afspelen in de vooruit richting).

Het afspelen wordt gestart met de methode RTSP PLAY. Er kan een bereik worden opgegeven. Als geen bereik is opgegeven, wordt de stream vanaf het begin afgespeeld en tot het einde afgespeeld. Als de stream wordt onderbroken, wordt deze hervat op het punt waarop deze is onderbroken. In dit voorbeeld geeft Range: npt=3-20 de RTSP-server de opdracht om het afspelen te starten van de derde seconde tot de 20e seconde.

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

Achteruit afspelen

ONVIF-apparaten kunnen achteruit afspelen ondersteunen. Achteruit afspelen wordt aangegeven met het veld Koptekst schalen met een negatieve waarde. Om bijvoorbeeld in omgekeerde richting te spelen zonder verlies van gegevens, zou een waarde van -1,0 worden gebruikt.

De Milestone Open Network Bridge ondersteunt waarden [-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

Snelheid wijzigen

De snelheid wordt bepaald door de RTSP Rate-Control header. Als dit Rate-Control=yesis, bepaalt de server de afspeelsnelheid. De stream wordt realtime geleverd met behulp van standaard RTP-timingmechanismen. AlsRate-Control=no, heeft de client de controle over de afspeelsnelheid. Rate-controlled replay wordt meestal alleen gebruikt door niet-ONVIF-specifieke clients omdat ze niet zullen Rate-Control=nospecificeren.

Gebruik de bijgeleverde controllers om de afspeelsnelheid in een client te bepalen. Selecteer bij de VLC-mediaspeler bijvoorbeeld Afspelen > Snelheid > Sneller of langzamer. Dit verhoogt of verlaagt de snelheid met 0,5.

Faster Fine en Slower Fine veranderen de snelheid met 0,25.

VLC-mediaspeler afspelen met opdrachtregelvermeldingen beheren

Je kunt het afspelen van video in de VLC-mediaspeler beheren met behulp van opdrachtregels. Raadpleeg de Help van de VLC-opdrachtregel (https://wiki.videolan.org/VLC_command-line_help/) voor meer informatie.

Met dergelijke opdrachten kun je bijvoorbeeld het afspelen omkeren en de starttijd van het afspelen wijzigen.

Een voorbeeld van een normale opdrachtregel:

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

Waarbij:

  • Snelheid is de parameter voor schaal en snelheid

  • Begintijd is seconden na het begin van de database

Dit zijn de afspeelregelaars voor VLC-mediaspelers:

Code

Doel

Waarden

Gebruik

Input-repeat=

Invoerherhalingen

<geheel getal [-2147483648 .. 2147483647]>

Het aantal keren dat dezelfde invoer wordt herhaald.

Begintijd=

Starttijd

<float>

De stream start op deze positie (in seconden).

Stoptijd=

Stoptijd

<float>

De stream stopt op deze positie (in seconden).

Uitvoeren om=

Uitvoeren om

<float>

De stream draait deze duur (in seconden).

Input-Fast-Seek

geen invoer-snel zoeken

Snel zoeken (standaard uitgeschakeld)

Geef de voorkeur aan snelheid boven nauwkeurigheid tijdens het zoeken.

Snelheid=

Afspeelsnelheid

<float>

Dit definieert de afspeelsnelheid (nominale snelheid is 1,0),

Invoerlijst=

Invoerlijst

<string>

Je kunt een door komma's gescheiden lijst met invoer geven die na de normale lijst samen worden samengevoegd.

Invoerslaaf=

Invoerslaaf (experimenteel)

<string>

Zo kun je vanuit meerdere ingangen tegelijk afspelen. Deze functie is experimenteel en niet alle indelingen worden ondersteund. Gebruik een '#' gescheiden lijst met invoer.

Opnamen ophalen van een specifiek tijdsbereik

Je kunt het afspelen van video op een specifiek tijdstip aanvragen met de optionele URL-parameter die in een RTSP-link is clock .

De indeling is: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-[end_time]Z.

De [start_time] - en [end_time] -eigenschappen volgen doorgaans de indeling yyyyMMddTHHmmssZ (jaar, maand, dag, vaste letter T, 24-uurs tijd, minuten, seconden en een vaste letter Z).

De end_time -eigenschap is optioneel. Gebruik om alleen de begintijd aan te vragen de indeling: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-. Je haalt bijvoorbeeld rtsp://onbhost:554/vod/3bf3b583-768a-43c7-ae74-38df708c4dbf?clock=20250830T140000Z- een stream op die begint om 14:00 UTC op 30 augustus 2025.

De vaste letter geeft Z de UTC-tijdzone aan. Zelfs als je het weglaat (niet aanbevolen), wordt de tijd nog steeds als UTC beschouwd, tenzij anders gespecificeerd. Gebruik een van de ondersteunde achtervoegsels om een tijdzone in te stellen:

  • Een vaste letter p of + gevolgd door hhmm geeft een positieve UTC offset. De 20250830T140000p0100 betekent bijvoorbeeld UTC+01:00 (Centraal-Europese Tijd).

  • Een vaste letter m gevolgd door hhmm geeft een negatieve UTC offset. De 20250830T140000m0800 betekent bijvoorbeeld UTC-08:00 (Pacific Time).