Gestionați redarea video
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.

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 |
|---|---|---|---|
| Repetiții intrări |
| De câte ori se va repeta aceeași intrare. |
| Ora de pornire |
| Fluxul va porni din această poziție (în câteva secunde). |
| Ora de sfârșit |
| Fluxul se va opri în această poziție (în câteva secunde). |
| Ora rulării |
| Fluxul va rula această durată (în secunde). |
| Căutare rapidă (dezactivat implicit) | Favorizați viteza în locul preciziei în timpul căutării. | |
| Viteză de redare |
| Aceasta definește viteza de redare (viteza nominală este de 1,0), |
| Listă intrări |
| Puteți da o listă separată prin virgulă de intrări care vor fi concatenate împreună după cea normală. |
| Sclav de intrare (experimental) |
| 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ă
psau o literă+fixăhhmmurmată de o literă indică o deplasare UTC pozitivă. De exemplu,20250830T140000p0100înseamnă UTC+01:00 (Ora Europei Centrale).O literă fixă
murmată dehhmmo literă indică o deplasare UTC negativă. De exemplu,20250830T140000m0800înseamnă UTC-08:00 (Ora Pacificului).