İşler
Cordatus'ta model ve pipeline dağıtımı, sadece birkaç tıklamayla tamamlanan hızlı ve kolay bir süreçtir. Her dağıtım, bağımsız bir Job örneği olarak yönetilir. Inference analitiği ve alarmlar her iş için ayrı ayrı takip edilir ve saklanır.
Cordatus, Intelligent Video Analytics için NVIDIA DeepStream SDK kullanır. DeepStream sürümü cihazlar arasında farklılık gösterebilir ve bu durum Cordatus'un yeteneklerinde küçük farklılıklar oluşturabilir.
Yeni Bir Job Başlatma
Dağıtım süreci, Cordatus'taki kullanıma hazır modeller, özel modeller ve pipeline'lar için tamamen aynıdır.
Önemli Notlar
- Bir modelden veya pipeline'dan birden fazla iş örneği oluşturabilirsiniz
- Bir iş, cihazınızın lisans kapasitesi dahilinde birden fazla kamera stream'i üzerinde inference gerçekleştirebilir
NOTE: Bir modeli dağıtmadan önce, Cordatus'a en az bir aktif kamera ve client cihazı eklediğinizden emin olun. Ayrıntılı talimatlar için Camera ve Device bağlantı bölümlerine bakın.
Job Başlatma Adımları
- Web App'in sol kenar çubuğundan AI Platform → AI Workflow sayfasına gidin.
- Tek bir modelle bir iş başlatmak isterseniz, bir model seçebilir veya yanındaki oynat butonuyla başlatma ekranına gidebilirsiniz.
- Select a Device ekranıyla karşılaşacaksınız. Bu ekran üzerinden işi başlatmak istediğiniz cihazı seçin, ardından Select Device butonuna tıklayın.
- İş gereksinimlerini girin:
Gereksinimler
| Alan | Açıklama |
|---|---|
| Job Name | İşinize bir isim verin. İş, analitik ekranlarında bu isimle tanımlanacaktır. |
| Camera Selection | İşinizi başlatmak istediğiniz kamera(lar)ı seçin. Kamera eklemek için Cameras sayfasını ziyaret edebilirsiniz. |
| Model Assignment Matrix | Bu matris, hangi modelin hangi kamerada çalışacağını seçmenizi sağlar. Bu ekran yalnızca birden fazla model seçtiğinizde görünür. Tek bir model seçerseniz bu ekran görünmez. |
| Computing Device | Seçilen cihazınız hazırsa, sağda Device Ready mesajını göreceksiniz. |
| GPU Configuration | Birden fazla GPU'nuz olduğunda, burada listelenecektir. Bu işi hangi GPU üzerinde başlatmak istediğinizi seçebilirsiniz. |
| Add Alarm (Optional) | İşinizi başlatırken Model-Based Alarms ekleyebilirsiniz. Bu alarmların önceden tanımlanmış olması gerekir. Bunun için Alarms sayfasını takip edebilirsiniz. |
| Schedule Job (Optional) | İşin belirli zamanlarda çalışmasını ve durmasını istiyorsanız, işinizi zamanlayabilirsiniz. |
- Ardından işi başlatmak için Start Job butonuna tıklayın.
İlk Dağıtım
INFO: Bir cihazda ilk kez bir iş dağıtırken, süreç cihaza ve internet hızına bağlı olarak zaman alabilir. İlk dağıtım sırasında, client 35GB'lık inference motorunu cihaza indirip yükleyecektir. Kullanıcılar, Client arayüzünün sağ üst köşesindeki indirme simgesine tıklayarak indirme ilerlemesini takip edebilir. Tamamlandığında, iş otomatik olarak başlayacaktır.
Model daha önce indirilmemişse, Cordatus modeli indirecek, oluşturacak, kameraları bağlayacak ve inference sürecini başlatacaktır. Bir iş ilk kez başlatıldığında, model oluşturma ve indirme bölümleri cihaza ve internet hızına bağlı olarak biraz zaman alabilir. Bundan sonra, oluşturulmuş ve indirilmiş bir model tekrar oluşturulmayacaktır.
NOTE: Yeni bir iş yalnızca Web App üzerinden başlatılabilir. Ancak, bir işi Client üzerinden yeniden başlatabilir, durdurabilir veya silebilirsiniz.
Stream Sayfası
Stream sayfasında, inference edilmiş video görünümlerinizi gerçek zamanlı olarak izleyebilirsiniz. Bu sayfada gerçekleştirebileceğiniz işlemler:
- Metrics Icon (sağ üst): Inference işi için cihaz metriklerini görüntüleyin
- Detection Results Toggle (Orta): Inference sonuçlarının görüntülenmesini açın/kapatın
- View Mode (sağ alt): Picture-in-picture ve tam ekran modu arasında geçiş yapın
- Pause/Play Icon (sol alt): Videoyu durdurun veya devam ettirin
- All Detections (alt çubuk): Cordatus'un nesne tespit ettiği zaman periyotlarını görüntüleyin
Viewing a Job
Stream Ayrıntıları
Ekranın sağ üst köşesindeki grafik simgesine tıklayarak stream hakkında daha fazla ayrıntı görebilirsiniz. Açılan panelde şunları kontrol edebilirsiniz:
- Kare hızı (FPS)
- Bit hızı (bitrate)
- Bant genişliği
- Çözünürlük
Stream Details
Bir Job'ı Durdurma
Web App'te Actions sütunu altındaki Stop butonuna tıklayarak bir işi durdurabilirsiniz. Cordatus işi durduracak ancak işi ve ilgili verileri silmeyecektir. Bu şekilde, işi daha sonra yeniden başlatabilirsiniz.
Stopping a Job
Client'ten stop butonuna basarak da bir işi durdurabilirsiniz.
Stopping a Job on Client
Bir Job'ı Yeniden Başlatma
Stopped veya Error durumundaki bir işi başlatabilirsiniz. İş durum kodları hakkında daha fazla bilgi için Job Status Codes bölümüne bakın.
Web App'te Bir Job'ı Yeniden Başlatma
Actions sütunu altındaki Run butonuna tıklayın.
Restarting a Job
Client'te Bir Job'ı Yeniden Başlatma
Actions sütunu altındaki Run butonuna tıklayın.
Restarting a Job on Client
Bir Job'ı Silme
Actions sütunu altındaki Delete butonuna tıklayarak bir işi silebilirsiniz.
Deleting a Job
İş satırındaki Actions sütunu altındaki Delete butonuna tıklayarak işi Client üzerinden de silebilirsiniz.
Deleting a Job on Client
WARNING: Bu işlem, işi ve client cihazından ilgili tüm inference analitik verilerini kalıcı olarak siler. Silindikten sonra bu işlem geri alınamaz. İşi silmek, dağıtılan model veya pipeline üzerinde herhangi bir etkiye sahip değildir.
Job Durum Kodları
Cordatus, yaşam döngüleri boyunca işlere çeşitli durumlar atar. Bu durum kodları, işin beklendiği gibi çalışıp çalışmadığı hakkında bilgi sağlar. Durum kodları, iş satırının "Status" olarak etiketlenen ilk sütununda görüntülenir.
| Durum | Açıklama |
|---|---|
| Downloading Model | Model cihaza indiriliyor. İlk dağıtım sırasında gerçekle şir. |
| Building | Yalnızca modelin ilk başlatılması sırasında gerçekleşir. Inference motoru modeli veya pipeline'ı oluşturuyor. |
| Preparing Engine | Pipeline kuruluyor ve motor başlatılıyor. |
| Warming Up | Motor hazır, pipeline hazırlanıyor ve kameralara bağlanıyor. |
| Running | İş beklendiği gibi çalışıyor. |
| Stopped | Kullanıcı işi manuel olarak durdurdu. |
| Error | İş yürütülürken bir hata oluştu. Olası sorunlar için troubleshooting bölümüne bakın. |
Status Codes
Pipeline Profiler
Çalışan her iş, DeepStream pipeline'ının sağlığını ve performansını sürekli olarak ölçen yerleşik bir Pipeline Profiler ile birlikte gelir. Pipeline'ın her kilit aşamasına (batch oluşturma, inference, tracker, OSD, kare yakalama, sink, …) hafif problar iliştirir ve aşama başına gecikme, batch kullanımı, kaynak başına verim, kare kaybı oranı ve aktif kamera durumunu raporlar.
Profiler varsayılan olarak etkindir ve metriklerini her 2 saniyede bir yeniler; bu sayede işi yeniden başlatmaya gerek kalmadan canlı sorun giderme için kullanılabilir.
NOTE: Profiler kasıtlı olarak hafif tutulmuştur ve yalnızca mevcut GStreamer pad'leri üzerinde duvar saati zamanlamasını ölçer — ek GPU işi getirmez ve inference verimi üzerinde ölçülebilir bir etkisi yoktur.
Profiler'a Erişim
Profiler, inference motoru tarafından işin yerel API'si üzerinden sunulur. Çalışan bir işi incelemenin önerilen yolu interaktif dashboard'dur.
| Endpoint | Tür | Açıklama |
|---|---|---|
/dashboard | HTML | KPI'lar, grafikler, kaynak başına kutucuklar ve bir kamera zaman çizelgesi içeren interaktif web dashboard'u. |
/profiler/json | JSON | Yapılandırılmış profiler anlık görüntüsü (dashboard tarafından kullanılır, scripting için de faydalıdır). |
/profiler | Düz metin | İnsan tarafından okunabilir metin raporu — hızlı curl incelemesi veya log yakalama için kullanışlıdır. |
Dashboard'u, işi çalıştıran cihazdaki motorun /dashboard URL'sine doğrudan giderek veya Client'teki işin sağ tık menüsünden açarak görüntüleyebilirsiniz.
PLACEHOLDER (image): Çalışan bir iş için profiler dashboard'unu açmak amacıyla kullanılan Client menüsü/butonunun ekran görüntüsü (örn.
dashboard_menu.pnggirdisi).
Dashboard Genel Bakış
Dashboard dört alana ayrılmıştır: bir iş bilgi çubuğu, KPI kartları, zaman serisi grafikleri ve ayrıntılı tablolar.

Job Bilgi Çubuğu
Üst çubuk, profilerin şu anda hangi işi izlediğini belirtir. Job Name, Child Job ID, Parent Job ID, Device Label, Platform ve kullanılan DeepStream sürümünü içerir. Özellikle aynı cihazda birden fazla iş çalışırken doğru işe baktığınızı doğrulamak için bunu kullanın.
KPI Kartları
KPI satırı, pipeline'ın mevcut sağlığına dair hızlı bir özet sunar:
| KPI | Açıklama |
|---|---|
| FPS In | Inference batch'ine ulaşan saniye başına kare sayısı (tüm kaynakların toplamı). |
| FPS Out | Pipeline'ın son yakalama aşamasından ayrılan saniye başına kare sayısı. |
| Frame Drop | Pipeline'ın giriş ve çıkış aşamaları arasında düşen karelerin yüzdesi. |
| Active Sources | Mevcut ölçüm penceresinde en az bir kare ileten kaynak sayısı. |
| Window | Mevcut ölçüm penceresinin uzunluğu (saniye cinsinden). Sayaçlar her pencerenin sonunda sıfırlanır. |

Verim Geçmişi
Canlı bir grafik, FPS In ve FPS Out değerlerini zaman içinde çizer. İki çizgi arasındaki kalıcı bir boşluk, pipeline içinde bir yerde karelerin düştüğünü gösterir — bu genellikle aşırı yüklenmiş bir GPU veya yavaş bir downstream aşamanın işaretidir.

Kamera Durum Zaman Çizelgesi
Kayıtlı her kamera, zaman çizelgesinde kendi satırında durumuna göre renk kodlanmış olarak (PLAYING, PENDING, FAILED, DEAD, …) gösterilir; böylece aralıklı bağlantı kesintilerini, yeniden deneme fırtınalarını veya hiç çevrimiçi olmayan kaynakları hemen fark edebilirsiniz. Panel, çok sayıda kameraya sahip işleri barındırmak için kaydırılabilir ve yeniden boyutlandırılabilir.

Ayrıntılı Tablolar
Grafiklerin altında dashboard, temel ham metrikleri sunar:
Aşama Gecikmeleri
Pipeline'ın problanmış her aşaması için (örn. mux_infer_src, infer_chain_out, gie_*_out, tracker_out, osd_probe, frame_capture, …) profiler şunları raporlar:
- Milisaniye cinsinden Mean / Std / Min / Max buffer'lar arası varış süresi
- İşlenen batch ve kare sayısı
- Ortalama batch boyutu
Genel gecikmeye en yavaş katkıda bulunan aşamayı tespit etmek için bu tabloyu kullanın. Örneğin, gie_*_out ortalama gecikmesindeki bir sıçrama inference motorunun kendisine işaret ederken, frame_capture'daki bir sıçrama genellikle encoder/sink'e işaret eder.

Kaynak Başına Verim
Her kaynak, kare sayısı, mevcut FPS'i ve milisaniye cinsinden ortalama / min / max kareler arası varış süresi ile ayrı ayrı listelenir. Bu görünüm, belirli bir kameranın genel pipeline'ı yavaşlattığı durumlarda özellikle kullanışlıdır.
Prob Yürütme Ek Yükü
Cordatus, kendi pad problarını (metadata çıkarma, alarm değerlendirmesi, OSD çizimi, kare yakalama, …) sararak profilerin her callback'in ne kadar CPU zamanı tükettiğini ölçebilmesini sağlar. Tablo, çağrı başına ortalama / std / min / max yürütme süresini, toplam çağrı sayısını ve callback içinde geçirilen toplam duvar saati süresini gösterir. Özel bir prob pipeline'ı zorluyorsa, burada ortaya çıkacaktır.

Aktif Kameralar
Kayıtlı her kaynağın ayrıntılı görünümü: kaynak ID'si, adı, GStreamer durumu, timeout / max-timeout sayacı, drop / max-retry sayacı, yeniden deneme aralığı ve kaynak URL'si. Mevcut pencerede bir kare alan kameralar aktif olarak işaretlenir. Bu, düşen veya yeniden bağlanan kameraları teşhis ederken en kullanışlı tek tablodur.

Dashboard Kontrolleri
Dashboard başlığı iki kontrol sunar:
- Refresh interval selector — polling aralığını 1 sn, 2 sn, 5 sn ve 10 sn arasında değiştirin. Daha düşük değerler, biraz daha fazla ağ trafiği pahasına daha duyarlı bir dashboard sağlar.
- Pause / Resume button — dashboard'u geçici olarak dondurur, böylece bir sonraki polling tarafından üzerine yazılmadan bir anlık görüntüyü ayrıntılı olarak inceleyebilirsiniz.
Sorun Giderme İçin Profiler Kullanımı
Profiler, bir işte bir şeylerin yanlış göründüğü durumlarda en yararlı olanıdır. Bazı yaygın kalıplar:
- Çıkış FPS'i giriş FPS'inden düşük, Frame Drop % artıyor — pipeline yetişemiyor. En yavaş aşamayı bulmak için Stage Latencies tablosunu kontrol edin, ardından yükün kameralar arasında eşit dağılıp dağılmadığını görmek için Per-Source Throughput'a geçin.
- Bir kamera düşmüş veya artan bir yeniden deneme sayacıyla işaretlenmiş — etkilenen kaynak ID'si için Active Cameras tablosunu kontrol edin. Burada gösterilen yeniden deneme aralığı ve drop max-retry değerleri, motorun yeniden bağlanma mantığı tarafından kullanılan değerlerle aynıdır.
- Bir probda yüksek ortalama yürütme süresi — genellikle özel bir alarm veya analitik callback'ine işaret eder. Probe Execution Overhead tablosu hangisi olduğunu gösterecektir.
- Kaynak başına kareler arası ms beklenenden çok daha yüksek — kameranın kendisi kareleri yavaş iletiyor (ağ veya codec sorunu), inference pipeline'ı değil.
Arayüzü Kullanma
Jobs sayfası, genel deneyimi iyileştirmek için kullanıcı dostu özellikler sunar.
Job Bilgisi
Bu sayfada, işleriniz hakkında ayrıntılı bilgilere erişebilirsiniz: Sütunları açıp kapatmak için sağ üstteki düzenleme butonunu kullanabilirsiniz.
- Status: İşin mevcut durumu
- Job Name: İşin adı
- Applications: Kullanılan model(ler)
- Cameras: Bağlı kameralar
- Device: İşi çalıştıran cihaz
- Container Name: Kullanılan inference motoru
- Initialized At: Başlangıç zamanı
- Last Updated: Güncelleme zamanı
Jobs Page
Client'te aynı özellikleri kullanabilirsiniz (cihaz adı hariç, çünkü zaten o cihazın işlerini görüntülüyorsunuz).
Jobs Page on Client
Arama Özelliği
Ekranın sağ üst köşesindeki arama kutusuna iş adını girerek belirli işleri kolayca bulabilirsiniz.

Aynı arama kutusu Client'te de mevcuttur.

Sıralama
Sütun başlıklarına tıklayarak işlerinizi ilgili sütun verilerine göre sıralayabilirsiniz. Bu özellik hem Client hem de Web App'te mevcuttur.
Alt Job'lar
Web App'te bir işe tıkladığınızda, sayfanın alt kısmında seçilen işle ilişkili child job'ları görüntüleyen yeni bir modal açılır. Bu modalda:
- İş geçmişini inceleyebilirsiniz (işin kaç kez başlatıldığı)
- Child job'lar hakkında bilgi alabilirsiniz (durumları, başlangıç ve bitiş zamanları)
- Actions sütunu altındaki silme simgesine tıklayarak child job'ları silebilirsiniz
Child Jobs on Web App
Client'te bir işe tıkladığınızda, aynı işlevlere sahip aynı modal ekranın ortasında açılır.
Child Jobs on Client
Sürüm Desteği
| Platform | OS / L4T | JetPack | AGX Thor | AGX Orin Industrial | AGX Orin | Orin NX | Orin Nano | Xavier Series | TX2 Series |
|---|---|---|---|---|---|---|---|---|---|
| ARM64 (Jetson) | L4T 38.2 | JetPack 7.0 | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ARM64 (Jetson) | L4T 36.5.2 | JetPack 6.2.3 | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
| ARM64 (Jetson) | L4T 36.4.4 | JetPack 6.2.1 | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
| ARM64 (Jetson) | L4T 36.2 | JetPack 6.0 | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
| ARM64 (Jetson) | L4T 35.6.2 | JetPack 5.1.5 | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
| ARM64 (Jetson) | L4T 35.4.1 | JetPack 5.1.2 | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
| ARM64 (Jetson) | L4T 35.3.1 | JetPack 5.1.1 | ❌ | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
| ARM64 (Jetson) | L4T 35.2.1 | JetPack 5.1 | ❌ | ✔️ (32GB) | ❌ | ✔️ (16GB) | ❌ | ✔️ | ❌ |
| ARM64 (Jetson) | L4T 35.1 | JetPack 5.0.2 | ❌ | ✔️ (32GB) | ❌ | ❌ | ❌ | ✔️ | ❌ |
| ARM64 (Jetson) | L4T 32.7.6 | JetPack 4.6.6 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| ARM64 (Jetson) | L4T 32.7.1 | JetPack 4.6.1 | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| x86_64 | Ubuntu 22.04 | — | — | — | — | — | — | — | — |
| x86_64 | Ubuntu 24.04 | — | — | — | — | — | — | — | — |
Cihazınızda yüklü olan DeepStream sürümü hakkında ayrıntılı bilgi için NVIDIA DeepStream SDK sayfasını ziyaret edebilirsiniz.
Copyright © 2025 Cordatus.