Skip to main content

Milestone Open Network Bridge

Hantera uppspelning av video

Last Updated: 4 minute read
Version2025r3
SpråkSvenska

Uppspelningskontroller följer RTSP-standarder och ONVIF Streaming Specification (https://www.onvif.org/profiles/specifications/).

Inspelningssammanfattning

Du kan få en översikt över all inspelad video tillgänglig på enheten genom att använda GetRecordingSummary kommandot. Detta är inte ett krav, men det ger användbar information innan en sökning genomförs.

Du kan använda GetRecordingSummary och/eller GetMediaAttributes för att få tidsstämpeln för den första och sista inspelningen, men du måste först aktivera inställningen Använd konfigurationer från kameror på Milestone Open Network Bridge-plugin i XProtect Management Client.

Använd konfiguration från kameror, kryssruta i fönstret Open Network Bridge-information.

Skapa en proxy för RecordingSearch tjänsten med tjänstslutpunkten som returnerades av GetServices. Skapa förfrågnings- och svarsobjekt och anropa GetRecordingSummarysedan.

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ök inspelningar

Metoden för tjänstsökning FindRecordings startar en asynkron sökning på kameran. FindRecordings Returnerar en token som refererar till sökresultaten. Även om det bara finns en tillgänglig inspelning är en sökning det korrekta sättet att erhålla en referens för den inspelningen.

Skicka en förfrågan med FindRecordings innehållande följande obligatoriska parametrar:

  • SearchScope > IncludedSources > Token – du måste ange kamerans GUID-token

  • Du får ett svar med en SearchToken, vilken är unik för dessa sökkriterier.

    SearchScope > RecordingInformationFilter – sträng med följande parametrar:

    • timestamp (i UTC-format)

    • maxTimeBefore (tiden före efterfrågad tidsstämpel, i millisekunder)

    • maxCountBefore (maximalt antal spår före efterfrågad tidsstämpel)

    • maxTimeAfter (tiden efter efterfrågad tidsstämpel, i millisekunder)

    • maxCountAfter (maximalt antal spår efter efterfrågad tidsstämpel)

Till exempel:

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

Skicka SearchToken till GetRecordingSearchResults och du får en lista med alla spår som motsvarar dina sökkriterier.

Initiera uppspelning

Vid visning av videouppspelning är standardhastigheten 1 (normal framåtriktad uppspelning)

Uppspelning initieras via metoden RTSP PLAY. Ett intervall kan anges. Om inget intervall angetts spelas strömmen från början till slut. Om strömmen pausas återupptas den vid den punkt den pausades. I detta exempel instruerar Range: npt=3-20 RTSP-servern att starta uppspelning från den tredje sekunden till den tjugonde sekunden.

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

Omvänd uppspelning

ONVIF-enheter kan stödja omvänd uppspelning. Omvänd uppspelning indikeras via rubriksfältet Skala med ett negativt värde. För att till exempel spela baklänges utan dataförlust bör ett värde på -1.0 används.

Milestone Open Network Bridge stödjer värdena [-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

Ändra hastighet

Hastighet kontrolleras av RTSP-Rate-Controlrubriken. Om Rate-Control=yes, så kontrollerar servern uppspelningshastigheten. Strömmen levereras i realtid via RTP standardmekanismer för timing. OmRate-Control=no, så kontrollerar klienten uppspelningshastigheten. Hastighetskontrollerad återuppspelning används vanligtvis endast av klienter som inte är ONVIF-specifika eftersom de inte Rate-Control=noanger.

För att kontrollera uppspelningshastighet i en klient, använd tillgängliga kontroller. Till exempel, med VLC mediaspelare, välj Uppspelning > Hastighet > Snabbare eller Långsammare. Detta ökar eller minskar hastigheten med 0,5.

Faster Fine och Slower Fine ändrar hastigheten med 0.25.

Hantera uppspelningar från VLC mediaspelare med kommandon i kommandoraden

Du kan hantera videouppspelningar i VLC mediaspelare via kommandoraden. Se VLC command line help (https://wiki.videolan.org/VLC_command-line_help/) för detaljer.

Sådana kommandon låter dig till exempel backa uppspelning och ändra starttid för uppspelning.

Ett exempel på en typisk kommandorad:

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

Där:

  • Rate är parameter för skala och hastighet

  • Start-time är sekunder efter databasens start

Följande är uppspelningskontrollerna för VLC mediaspelare:

Kod

Syfte

Värden

Användning

input-repeat=

Indata-upprepningar

<integer [-2147483648 .. 2147483647]>

Antal gånger samma indata kommer att upprepas.

start-time=

Starttid

<float>

Strömmen startar vid denna position (i sekunder).

stop-time=

Stopptid

<float>

Strömmen stannar vid denna position (i sekunder).

run-time=

Körtid

<float>

Strömmen körs under denna varaktighet (i sekunder).

input-fast-seek

no-input-fast-seek

Snabbsökning (som standard inaktiverad)

Väljer hastighet över precision vid sökning.

rate=

Uppspelningshastighet

<float>

Detta anger uppspelningshastigheten (nominell hastighet är 1.0),

input-list=

Indatalista

<string>

Du kan ge en kommaavgränsad lista med indata som sammanfogas efter den normala.

input-slave=

Indataslav (experimentell)

<string>

Detta låter dig spela upp från flera indata samtidigt. Denna funktion är experimentell och stödjer inte alla format. Använd en '#'-separerad lista med indata.

Hämta inspelningar från ett specifikt tidsspann

Du kan begära videouppspelning vid en specifik tidpunkt med den valfria URL-parametern clock i en RTSP-länk.

Formatet är: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-[end_time]Z.

Egenskaperna [start_time] och [end_time] följer vanligtvis formatet yyyyMMddTHHmmssZ (år, månad, dag, fast bokstav T, 24-timmarstid, minuter, sekunder och en fast bokstav Z).

Egenskapen end_time är valfri. För att begära enbart starttid, använd formatet: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-. Till exempel, rtsp://onbhost:554/vod/3bf3b583-768a-43c7-ae74-38df708c4dbf?clock=20250830T140000Z- kommer att hämta en ström som startar kl. 14:00 UTC den 30 augusti 2025.

Den fasta bokstaven Z indikerar UTC-tidszonen. Även om du utelämnar det (rekommenderas inte), räknas tiden fortfarande som UTC om inte annat anges. För att ange en tidszon, använd ett av de suffix som stöds:

  • En fast bokstav p eller + följt av hhmm indikerar en positiv UTC-förskjutning. Till exempel, 20250830T140000p0100 betyder UTC+01:00 (centraleuropeisk tid).

  • En fast bokstav m följd av hhmm indikerar en negativ UTC-förskjutning. Till exempel, 20250830T140000m0800 betyder UTC-08:00 (Pacific Time).