Skip to main content

Milestone Open Network Bridge

Video oynatımını yönet

Last Updated: 4 minute read
Sürüm2025r3
DilTürkçe

Oynatma kontrolleri RTSP standartlarına ve ONVIF Akış Spesifikasyonuna (https://www.onvif.org/profiles/specifications/) uygundur.

Kayıt özeti

Bu GetRecordingSummary komutu kullanarak, aygıtta mevcut olan tüm kayıtlı videoların genel bir görünümünü alabilirsiniz. Bu zorunlu değildir, ancak bir arama yapmadan önce yararlı bilgiler sağlar.

İlk GetRecordingSummary ve son kaydın zaman damgasını almak için kullanabilir ve/veya GetMediaAttributes alabilirsiniz, ancak önce Milestone Open Network Bridge eklentideki XProtect Management Clienteklentiyi ayarlayan kameralardan Yapılandırmaları kullan'ı etkinleştirmelisiniz.

Open Network Bridge Bilgileri bölmesindeki kameralardan yapılandırmayı kullan onay kutusu.

'i tarafından döndürülen hizmet uç noktasını kullanarak RecordingSearch hizmet için bir proxy oluşturun. GetServices. İstek ve yanıt nesneleri oluşturun, sonra 'i arayınGetRecordingSummary.

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

Kayıtları ara

Arama hizmeti yöntemi kamerada zaman uyumsuz bir arama FindRecordings başlatır. FindRecordings Arama sonuçlarına başvuran bir belirteç döndürür. Sadece bir kayıt mevcut olsa bile, bir arama, bu kayıt için bir referans elde etmenin uygun yoludur.

Aşağıdaki zorunlu parametrelerle bir FindRecordings istek gönderin:

  • SearchScope > IncludedSources > Token - kamera GUID belirtecini sağlamalısınız

  • Arama kriterleri için benzersiz olan bir SearchToken, ile bir yanıt alacaksınız.

    SearchScope > RecordingInformationFilter - aşağıdaki parametreleri içeren dize:

    • timestamp (UTC formatında)

    • maxTimeBefore (istenen zaman damgasından önceki süre, milisaniye cinsinden)

    • maxCountBefore (zaman damgasından önce istenen maksimum parça sayısı)

    • maxTimeAfter (istenen zaman damgasından sonraki süre, milisaniye olarak)

    • maxCountAfter (zaman damgasından sonra istenen maksimum parça sayısı)

Örneğin:

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

Arama kriterlerine karşılık gelen SearchToken tüm takiplerin bir listesini GetRecordingSearchResults alacaksınız.

Oynatma başlatılıyor

Video oynatımını görüntülerken varsayılan hız 1'dir (ileri yönde normal oynatma).

Oynatma RTSP PLAY yöntemi ile başlatılır. Bir aralık belirtilebilir. Hiçbir aralık belirlenmezse, akış baştan oynatılır ve sonuna kadar oynatılır veya akış duraklatılırsa, duraklatıldığı noktada devam ettirilir. Bu örnekte, RTSP sunucusuna oynatmayı üçüncü saniyeden 20. saniyeye kadar başlatması talimatını Range: npt=3-20 verir.

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

Ters oynatma

ONVIF cihazlar ters oynatmayı destekleyebilir. Ters oynatma, negatif bir değere sahip Ölçek başlık alanı kullanılarak gösterilir. Örneğin veri kaybı olmadan ters yönde oynatmak için -1.0 değeri kullanılacaktır.

Bu Milestone Open Network Bridge değerler [-32 : 32] değerlerini destekler.

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

Hızı değiştir

Hız, RTSP Rate-Control başlığı tarafından kontrol edilir. Aksi Rate-Control=yestakdirde, sunucu oynatma hızını kontrol edecektir. Akış, standart RTP zamanlama mekanizmaları kullanılarak gerçek zamanlı olarak teslim edilir. Aksi Rate-Control=notakdirde, oynatma hızı istemci tarafından kontrol edilir. Hız kontrollü tekrar oynatma genellikle yalnızca ONVIF olmayan özel istemciler tarafından kullanılır, çünkü Rate-Control=nobelirtmezler.

Bir istemcide oynatma hızını kontrol etmek için, verilen kontrol birimini kullanın. Örneğin, VLC medya oynatıcısında Oynatma > Hız > Daha Hızlı veya Daha Yavaş öğesini seçin . Bu, hızı 0,5 artırır veya azaltır.

Daha Hızlı Hassas ve Daha Yavaş Hassas, hızı 0,25 oranında değiştirir.

Komut satırı girişleriyle VLC medya oynatıcısını yönetin

VLC medya oynatıcısında video oynatımını komut satırlarını kullanarak yönetebilirsiniz. Ayrıntılar için VLC komut satırı yardımına (https://wiki.videolan.org/VLC_command-line_help/) bakın.

Bu tür komutlar, örneğin oynatımı tersine çevirmenize ve oynatmanın başlangıç zamanını değiştirmenize izin verir.

Tipik bir komut satırı örneği:

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

Nerede:

  • Hız, ölçek ve hız parametresidir

  • Başlangıç zamanı, veritabanı başladıktan saniyeler sonra

Aşağıda, VLC medya oynatıcı için oynatma kontrolleri verilmiştir:

Kod

Amaç

Değerler

Kullanım

giriş-tekrarla=

Giriş tekrarları

<tamsayı [-2147483648 ... 2147483647]>

Aynı girişin kaç kez tekrarlanacağı.

başlangıç zamanı=

Başlangıç zamanı

<şamandıra>

Akış bu konumda başlayacak (saniye olarak).

durdurma zamanı=

Durdurma zamanı

<şamandıra>

Akış bu konumda duracaktır (saniye olarak).

çalışma zamanı=

Çalıştırma zamanı

<şamandıra>

Akış bu süreyi (saniye olarak) çalıştıracak.

giriş-hızlı-arama

giriş yok-hızlı-arama

Hızlı arama (varsayılan devre dışı)

Ararken hızı hassasiyete tercih edin.

oran=

Oynatma hızı

<şamandıra>

Bu, oynatma hızını tanımlar (nominal hız 1.0),

giriş-listesi=

Giriş listesi

<dize>

Normal olandan sonra birbirine bağlanacak girişlerin virgülle ayrılmış bir listesini verebilirsiniz.

giriş-yedek=

Giriş slave (deneysel)

<dize>

Bu aynı anda birkaç girişten oynamanıza izin verir. Bu özellik deneysel, tüm biçimler desteklenmiyor. Girişlerin '#' ayrılmış bir listesini kullanın.

Belirli bir zaman aralığındaki kayıtları geri alın

Bir RTSP bağlantısında isteğe bağlı URL parametresini kullanarak, belirli bir zaman noktasında video oynatımını talep clock edebilirsiniz.

Biçim: rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-[end_time]Z.

Özellikler [start_time] ve [end_time] özellikler genellikle biçimi takip eder yyyyMMddTHHmmssZ (yıl, ay, gün, sabit harf T, 24 saatlik zaman, dakika, saniye ve sabit harf Z).

Özellik end_time isteğe bağlıdır. Sadece başlangıç zamanını talep etmek için, şu biçimi kullanın: 'rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-. Örneğin, rtsp://onbhost:554/vod/3bf3b583-768a-43c7-ae74-38df708c4dbf?clock=20250830T140000Z- 30 Ağustos 2025'te 14:00 UTC'de başlayan bir akışı geri alacaksınız.

Sabit harf UTC zaman dilimini Z belirtir. Atlasanız bile (önerilmez), aksi belirtilmediği sürece zaman UTC olarak kabul edilir. Bir zaman dilimi ayarlamak için, desteklenen eklerden birini kullanın:

  • Sabit bir harf p veya + ardından pozitif bir UTC ofseti hhmm gösterir. Örneğin, UTC+01:00 (Orta Avrupa Saati) anlamına 20250830T140000p0100 gelir.

  • Sabit bir harf m ve ardından negatif bir UTC ofseti hhmm gösterir. Örneğin, UTC-08:00 (Pasifik Saati) anlamına 20250830T140000m0800 gelir.