Skip to main content

Milestone Open Network Bridge

Gestionați redarea video

Last Updated: 5 minute read
Versiune2026r1
LimbăRomână

Comenzile de redare în flux sunt în conformitate cu standardele RTSP și cu Specificația de redare în flux ONVIF (https://www.onvif.org/profiles/specifications/).

Rezumat înregistrare

Puteți obține o prezentare generală a tuturor videoclipurilor înregistrate disponibile pe dispozitiv utilizând GetRecordingSummary comanda. Acest lucru nu este necesar, dar oferă informații utile înainte de a efectua o căutare.

Puteți să utilizați GetRecordingSummary și/GetMediaAttributessau să obțineți marcajul temporal al primei și ultimei înregistrări, dar trebuie să activați mai întâi setarea Utilizare configurații de la camere din Milestone Open Network Bridge plug-in-ul din XProtect Management Client.

Utilizați caseta de selecție Configurare de la camere din panoul Informații Open Network Bridge.

Creați un proxy pentru RecordingSearch serviciu utilizând punctul final de serviciu returnat de GetServices. Creați obiecte solicitare și răspuns, apoi apelațiGetRecordingSummary.

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

Căutați înregistrări

Metoda Serviciu de căutare FindRecordings începe o căutare asincronă pe cameră. FindRecordings Returnează un token care face referire la rezultatele căutării. Chiar dacă este disponibilă o singură înregistrare, căutarea este modalitatea adecvată de a obține o referință pentru înregistrarea respectivă.

Trimiterea unei FindRecordings solicitări cu următorii parametri obligatorii:

  • SearchScope > IncludedSources > Token – trebuie să furnizați token-ul GUID cameră

  • Veți primi un răspuns cu un SearchTokencod, care este unic pentru criteriile de căutare.

    SearchScope > RecordingInformationFilter – șir de caractere cu următorii parametri:

    • timestamp (în format UTC)

    • maxTimeBefore (ora de dinaintea marcajului temporal solicitat, în milisecunde)

    • maxCountBefore (numărul maxim de piste înainte de marcajul temporal solicitat)

    • maxTimeAfter (ora de după marcajul temporal solicitat, în milisecunde)

    • maxCountAfter (numărul maxim de piste după marcajul temporal solicitat)

De exemplu:

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

Treceti SearchToken la GetRecordingSearchResults lista si veti obtine o lista cu toate piesele corespunzatoare criteriilor de cautare.

Se inițiază redarea

La vizualizarea redării video, viteza implicită este 1 (redare normală în direcția înainte).

Redarea este inițiată prin metoda RTSP PLAY. Se poate specifica un interval. Dacă nu este specificat niciun interval, fluxul este redat de la început și este redat până la sfârșit sau, dacă fluxul este întrerupt, este reluat în punctul în care a fost întrerupt. În acest exemplu, Range: npt=3-20 instruiește serverul RTSP să înceapă redarea de la a treia secundă până la a 20-a secundă.

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

Inversați redarea

Dispozitivele ONVIF pot accepta redarea înapoi. Redarea înapoi este indicată utilizând câmpul Antet scalare cu valoare negativă. De exemplu, pentru a reda în sens invers, fără pierderi de date, s-ar utiliza o valoare de -1,0.

Valoarea Milestone Open Network Bridge acceptă valorile [-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

Schimbați viteza

Viteza este controlată de Rate-Control antetul RTSP. În Rate-Control=yescaz contrar, serverul deține controlul vitezei de redare. Fluxul este livrat în timp real utilizând mecanismele standard de sincronizare RTP. În Rate-Control=nocaz contrar, clientul deține controlul asupra vitezei de redare. Reluarea controlată cu rată va fi utilizată, de obicei, numai de clienți care nu sunt specificați de ONVIF, deoarece nu vor Rate-Control=nospecifica.

Pentru a controla viteza de redare într-un client, utilizați controlerele furnizate. De exemplu, cu cititorul multimedia VLC, selectați Redare > Viteză > Mai rapid sau mai lent. Aceasta crește sau scade viteza cu 0,5.

Fin mai rapid și mai lent Fin schimba viteza cu 0.25.

Gestionați redarea media a playerului VLC cu intrările în linia de comandă

Puteți să gestionați redarea video în cititorul multimedia VLC utilizând linii de comandă. Consultați ajutorul liniei de comandă VLC (https://wiki.videolan.org/VLC_command-line_help/) pentru detalii.

Astfel de comenzi vă permit, de exemplu, să inversați redarea și să schimbați ora de pornire a redării.

Un exemplu de linie de comandă tipică:

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

Unde:

  • Rata este parametrul de scară și viteză

  • Ora de pornire este la câteva secunde după pornirea bazei de date

Iată comenzile de redare pentru cititorul multimedia VLC:

Cod

Scop

Valori

Utilizare

intrare-repetare=

Repetiții intrări

<întreg [-2147483648 .. 2147483647]>

De câte ori se va repeta aceeași intrare.

Ora de pornire=

Ora de pornire

<flotant>

Fluxul va porni din această poziție (în câteva secunde).

timp de oprire=

Ora de sfârșit

<flotant>

Fluxul se va opri în această poziție (în câteva secunde).

Durata de rulare=

Ora rulării

<flotant>

Fluxul va rula această durată (în secunde).

căutare rapidă pentru intrări

căutare rapidă fără intrări

Căutare rapidă (dezactivat implicit)

Favorizați viteza în locul preciziei în timpul căutării.

Rată=

Viteză de redare

<flotant>

Aceasta definește viteza de redare (viteza nominală este de 1,0),

listă de intrări=

Listă intrări

<șir>

Puteți da o listă separată prin virgulă de intrări care vor fi concatenate împreună după cea normală.

intrare-sclav=

Sclav de intrare (experimental)

<șir>

Acest lucru vă permite să redați mai multe intrări în același timp. Această caracteristică este experimentală, nu toate formatele sunt acceptate. Utilizați o listă separată de intrări "#".

Recuperați înregistrări dintr-un anumit interval de timp

Puteți să solicitați redarea video la un anumit moment de timp utilizând parametrul opțional URL dintr-clockun link RTSP.

Formatul este: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-[end_time]Z.

Caracteristicile [start_time] și [end_time] caracteristicile urmează de obicei formatul yyyyMMddTHHmmssZ (an, lună, zi, literă fixă T, oră 24 de ore, minute, secunde și literă fixă Z).

Proprietatea end_time este opțională. Pentru a solicita doar ora de pornire, utilizați formatul: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-. De exemplu, rtsp://onbhost:554/vod/3bf3b583-768a-43c7-ae74-38df708c4dbf?clock=20250830T140000Z- veți prelua un flux care începe la ora 14:00 UTC pe 30 august 2025.

Litera fixă Z indică fusul orar UTC. Chiar dacă îl omiteți (nu se recomandă), timpul este considerat încă UTC, cu excepția cazului în care se specifică altfel. Pentru a seta un fus orar, utilizați unul dintre sufixele acceptate:

  • O literă p sau o literă + fixă hhmm urmată de o literă indică o deplasare UTC pozitivă. De exemplu, 20250830T140000p0100 înseamnă UTC+01:00 (Ora Europei Centrale).

  • O literă fixă m urmată de hhmm o literă indică o deplasare UTC negativă. De exemplu, 20250830T140000m0800 înseamnă UTC-08:00 (Ora Pacificului).