mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-03-17 13:48:21 +03:00
Compare commits
23 Commits
b66fb0c68d
...
ed2d7c9b38
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed2d7c9b38 | ||
|
|
68c547e845 | ||
|
|
8b97c49e66 | ||
|
|
0fa7677c53 | ||
|
|
aead40a65f | ||
|
|
89402a106e | ||
|
|
dffb5b7d8e | ||
|
|
9cebb84b61 | ||
|
|
bd0b9aa4cf | ||
|
|
406d317eda | ||
|
|
09414dc428 | ||
|
|
d8317a48c1 | ||
|
|
8f15a317e4 | ||
|
|
b6471ad877 | ||
|
|
f00cc3eac9 | ||
|
|
3089ebdf12 | ||
|
|
b0401635f5 | ||
|
|
b8a2f052d1 | ||
|
|
00413ff55a | ||
|
|
a2c2b91fb5 | ||
|
|
a766aa6f61 | ||
|
|
3c31ff5a78 | ||
|
|
5f2536dcd8 |
@ -689,3 +689,42 @@ docker run \
|
||||
```
|
||||
|
||||
Log into QNAP, open Container Station. Frigate docker container should be listed under 'Overview' and running. Visit Frigate Web UI by clicking Frigate docker, and then clicking the URL shown at the top of the detail page.
|
||||
|
||||
## macOS - Apple Silicon
|
||||
|
||||
:::warning
|
||||
|
||||
macOS uses port 5000 for its Airplay Receiver service. If you want to expose port 5000 in Frigate for local app and API access the port will need to be mapped to another port on the host e.g. 5001
|
||||
|
||||
Failure to remap port 5000 on the host will result in the WebUI and all API endpoints on port 5000 being unreachable, even if port 5000 is exposed correctly in Docker.
|
||||
|
||||
:::
|
||||
|
||||
Docker containers on macOS can be orchestrated by either [Docker Desktop](https://docs.docker.com/desktop/setup/install/mac-install/) or [OrbStack](https://orbstack.dev) (native swift app). The difference in inference speeds is negligable, however CPU, power consumption and container start times will be lower on OrbStack because it is a native Swift application.
|
||||
|
||||
To allow Frigate to use the Apple Silicon Neural Engine / Processing Unit (NPU) the host must be running [Apple Silicon Detector](../configuration/object_detectors.md#apple-silicon-detector) on the host (outside Docker)
|
||||
|
||||
#### Docker Compose example
|
||||
```yaml
|
||||
services:
|
||||
frigate:
|
||||
container_name: frigate
|
||||
image: ghcr.io/blakeblackshear/frigate:stable-arm64
|
||||
restart: unless-stopped
|
||||
shm_size: "512mb" # update for your cameras based on calculation above
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /path/to/your/config:/config
|
||||
- /path/to/your/recordings:/recordings
|
||||
ports:
|
||||
- "8971:8971"
|
||||
# If exposing on macOS map to a diffent host port like 5001 or any orher port with no conflicts
|
||||
# - "5001:5000" # Internal unauthenticated access. Expose carefully.
|
||||
- "8554:8554" # RTSP feeds
|
||||
extra_hosts:
|
||||
# This is very important
|
||||
# It allows frigate access to the NPU on Apple Silicon via Apple Silicon Detector
|
||||
- "host.docker.internal:host-gateway" # Required to talk to the NPU detector
|
||||
environment:
|
||||
- FRIGATE_RTSP_PASSWORD: "password"
|
||||
```
|
||||
@ -75,7 +75,8 @@
|
||||
"formattedTimestampMonthDay": "MMM d",
|
||||
"inProgress": "Folyamatban",
|
||||
"invalidStartTime": "Érvénytelen kezdeti idő",
|
||||
"never": "Soha"
|
||||
"never": "Soha",
|
||||
"invalidEndTime": "Érvénytelen befejezési idő"
|
||||
},
|
||||
"menu": {
|
||||
"darkMode": {
|
||||
@ -106,7 +107,7 @@
|
||||
"logout": "Kijelentkezés",
|
||||
"title": "Felhasználó",
|
||||
"account": "Fiók",
|
||||
"current": "Jelenlegi Felhazsnáló: {{user}}",
|
||||
"current": "Jelenlegi Felhasználó: {{user}}",
|
||||
"anonymous": "anoním",
|
||||
"setPassword": "Jelszó Beállítása"
|
||||
},
|
||||
@ -153,7 +154,8 @@
|
||||
"bg": "Български (Bolgár)",
|
||||
"gl": "Galego (Galíciai)",
|
||||
"id": "Bahasa Indonesia (Indonéz)",
|
||||
"ur": "اردو (Urdu)"
|
||||
"ur": "اردو (Urdu)",
|
||||
"hr": "Horvát"
|
||||
},
|
||||
"uiPlayground": "UI játszótér",
|
||||
"faceLibrary": "Arc Könyvtár",
|
||||
@ -175,7 +177,8 @@
|
||||
"system": "Rendszer",
|
||||
"configuration": "Konfiguráció",
|
||||
"systemLogs": "Rendszer naplók",
|
||||
"settings": "Beállítások"
|
||||
"settings": "Beállítások",
|
||||
"classification": "Osztályozás"
|
||||
},
|
||||
"role": {
|
||||
"viewer": "Néző",
|
||||
@ -215,7 +218,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"selectItem": "KIválasztani {{item}}-et",
|
||||
"selectItem": "Kiválasztani {{item}}-et",
|
||||
"unit": {
|
||||
"speed": {
|
||||
"mph": "mph",
|
||||
@ -269,14 +272,29 @@
|
||||
"unselect": "Kijelölés megszüntetése",
|
||||
"export": "Exportálás",
|
||||
"deleteNow": "Törlés Most",
|
||||
"next": "Következő"
|
||||
"next": "Következő",
|
||||
"continue": "Tovább"
|
||||
},
|
||||
"label": {
|
||||
"back": "Vissza",
|
||||
"all": "Mind"
|
||||
"all": "Mind",
|
||||
"hide": "Elrejt {{item}}",
|
||||
"show": "Mutat {{item}}",
|
||||
"ID": "ID",
|
||||
"none": "Nincs",
|
||||
"other": "Egyéb"
|
||||
},
|
||||
"readTheDocumentation": "Olvassa el a dokumentációt",
|
||||
"information": {
|
||||
"pixels": "{{area}}px"
|
||||
},
|
||||
"list": {
|
||||
"two": "{{0}} és {{1}}",
|
||||
"many": "{{items}}, és {{last}}",
|
||||
"separatorWithSpace": ", "
|
||||
},
|
||||
"field": {
|
||||
"optional": "Opcionális",
|
||||
"internalID": "A belső ID, amelyet a Frigate használ a konfigurációban és az adatbázisban"
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,7 +6,8 @@
|
||||
"title": "A Frigate újraindul",
|
||||
"content": "Az oldal újratölt {{countdown}} másodperc múlva.",
|
||||
"button": "Erőltetett újraindítás azonnal"
|
||||
}
|
||||
},
|
||||
"description": "Ez rövid időre leállítja a Frigate programot, amíg újraindul."
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
@ -57,7 +58,8 @@
|
||||
"failed": "Nem sikerült elkezdeni az exportálást: {{error}}",
|
||||
"endTimeMustAfterStartTime": "A végső időpontnak a kezdeti időpont után kell következnie",
|
||||
"noVaildTimeSelected": "Nincs érvényes idő intervallum kiválasztva"
|
||||
}
|
||||
},
|
||||
"view": "Megtekint"
|
||||
},
|
||||
"fromTimeline": {
|
||||
"saveExport": "Exportálás mentése",
|
||||
|
||||
@ -13,8 +13,8 @@
|
||||
"toast": {
|
||||
"success": {
|
||||
"deletedImage": "Törölt képek",
|
||||
"deletedModel_one": "Sikeresen törölt {{count}} modellt",
|
||||
"deletedModel_other": "",
|
||||
"deletedModel_one": "Sikeresen törölve {{count}} modell",
|
||||
"deletedModel_other": "Sikeresen törölve {{count}} modell",
|
||||
"categorizedImage": "A kép sikeresen osztályozva",
|
||||
"deletedCategory": "Osztály törlése",
|
||||
"trainedModel": "Sikeresen betanított modell.",
|
||||
@ -24,7 +24,13 @@
|
||||
},
|
||||
"error": {
|
||||
"deleteImageFailed": "Törlés sikertelen: {{errorMessage}}",
|
||||
"deleteCategoryFailed": "Nem sikerült törölni az osztályt: {{errorMessage}}"
|
||||
"deleteCategoryFailed": "Nem sikerült törölni az osztályt: {{errorMessage}}",
|
||||
"deleteModelFailed": "Modell törlése nem sikerült: {{errorMessage}}",
|
||||
"categorizeFailed": "A kép kategorizálása sikertelen: {{errorMessage}}",
|
||||
"trainingFailed": "A modell képzése sikertelen volt. A részletek a Frigate naplóiban találhatók.",
|
||||
"trainingFailedToStart": "A modell képzésének elindítása sikertelen: {{errorMessage}}",
|
||||
"updateModelFailed": "A modell frissítése sikertelen: {{errorMessage}}",
|
||||
"renameCategoryFailed": "Az osztály átnevezése sikertelen: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"details": {
|
||||
@ -54,5 +60,16 @@
|
||||
},
|
||||
"train": {
|
||||
"titleShort": "Friss"
|
||||
},
|
||||
"deleteCategory": {
|
||||
"title": "Osztály törlése",
|
||||
"desc": "Biztosan törölni szeretné a {{name}} osztályt? Ezzel véglegesen törli az összes kapcsolódó képet, és a modell újratanítására lesz szükség.",
|
||||
"minClassesTitle": "Osztály törlése nem lehetséges"
|
||||
},
|
||||
"deleteModel": {
|
||||
"title": "Osztályozási modell törlése",
|
||||
"single": "Biztosan törölni szeretné a(z) {{name}}-t? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan.",
|
||||
"desc_one": "Biztosan törölni szeretné a(z) {{count}} modellt? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan.",
|
||||
"desc_other": "Biztosan törölni szeretné a(z) {{count}} modelleket? Ezzel véglegesen törli az összes kapcsolódó adatot, beleértve a képeket és a tanítási adatokat is. Ez a művelet visszafordíthatatlan."
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,5 +54,12 @@
|
||||
"alwaysExpandActive": {
|
||||
"title": "Mindig kibontja az aktív részt"
|
||||
}
|
||||
}
|
||||
},
|
||||
"objectTrack": {
|
||||
"trackedPoint": "Nyomon követett pont",
|
||||
"clickToSeek": "Kattintson, az időponthoz ugráshoz"
|
||||
},
|
||||
"select_all": "Összes",
|
||||
"needsReview": "Felülvizsgálatra szorul",
|
||||
"securityConcern": "Biztonsági aggályok"
|
||||
}
|
||||
|
||||
@ -235,10 +235,19 @@
|
||||
"header": {
|
||||
"zones": "Zónák",
|
||||
"ratio": "Arány",
|
||||
"area": "Terület"
|
||||
}
|
||||
"area": "Terület",
|
||||
"score": "Pontszám"
|
||||
},
|
||||
"visible": "{{label}} észlelve",
|
||||
"entered_zone": "{{label}} belépett {{zones}}",
|
||||
"gone": "{{label}} maradt"
|
||||
},
|
||||
"title": "Követési adatok",
|
||||
"noImageFound": "Nem található kép ehhez az időbélyeghez."
|
||||
"noImageFound": "Nem található kép ehhez az időbélyeghez.",
|
||||
"createObjectMask": "Objektum maszk létrehozása",
|
||||
"scrollViewTips": "Kattintson ide, hogy megtekintse az objektum életciklusának fontosabb pillanatait.",
|
||||
"autoTrackingTips": "Az automatikus követésű kamerák esetében a keret pozíciói pontatlanok lesznek.",
|
||||
"count": "{{first}} a {{second}} közül",
|
||||
"trackedPoint": "Nyomon követett pont"
|
||||
}
|
||||
}
|
||||
|
||||
@ -47,7 +47,8 @@
|
||||
"description": {
|
||||
"placeholder": "Adj nevet ennek a gyűjteménynek",
|
||||
"invalidName": "Nem megfelelő név. A nevek csak betűket, számokat, szóközöket, aposztrófokat, alulhúzásokat és kötőjeleket tartalmazhatnak.",
|
||||
"addFace": "Adj hozzá egy új gyűjteményt az Arcképtárhoz az első képed feltöltésével."
|
||||
"addFace": "Adj hozzá egy új gyűjteményt az Arcképtárhoz az első képed feltöltésével.",
|
||||
"nameCannotContainHash": "A név nem tartalmazhat # karaktert."
|
||||
},
|
||||
"selectFace": "Arc kiválasztása",
|
||||
"deleteFaceLibrary": {
|
||||
@ -71,7 +72,7 @@
|
||||
"deletedName_one": "{{count}} arc sikeresen törölve.",
|
||||
"deletedName_other": "{{count}} arc sikeresen törölve.",
|
||||
"renamedFace": "Arc sikeresen átnvezezve {{name}}-ra/-re",
|
||||
"updatedFaceScore": "Arc pontszáma sikeresen frissítve.",
|
||||
"updatedFaceScore": "Arc pontszáma sikeresen frissítve a következőhöz {{name}} ({{score}}).",
|
||||
"trainedFace": "Arc sikeresen betanítva.",
|
||||
"deletedFace_one": "{{count}} arc sikeresen törölve.",
|
||||
"deletedFace_other": "{{count}} arc sikeresen törölve."
|
||||
|
||||
@ -50,6 +50,12 @@
|
||||
"playAlertVideos": {
|
||||
"label": "Riasztási Videók Lejátszása",
|
||||
"desc": "Alapértelmezetten az Élő irányítópulton a legutóbbi riasztások kis, ismétlődő videóként jelennek meg. Kapcsolja ki ezt az opciót, ha csak állóképet szeretne megjeleníteni a legutóbbi riasztásokról ezen az eszközön/böngészőben."
|
||||
},
|
||||
"displayCameraNames": {
|
||||
"label": "Mindig mutatja a kamera nevét"
|
||||
},
|
||||
"liveFallbackTimeout": {
|
||||
"desc": "Ha a kamera kiváló minőségű élő közvetítése nem elérhető, ennyi másodperc elteltével váltson alacsony sávszélességű módra. Alapértelmezett: 3."
|
||||
}
|
||||
},
|
||||
"title": "Alapbeállítások",
|
||||
@ -806,7 +812,7 @@
|
||||
"updateCameras": "Kamerák frissítve a szerepkörhöz: {{role}}",
|
||||
"deleteRole": "Szerepkör sikeresen törölve: {{role}}",
|
||||
"userRolesUpdated_one": "{{count}} felhasználó, akit ehhez a szerepkörhöz rendeltünk, frissült „néző”-re, amely hozzáféréssel rendelkezik az összes kamerához.",
|
||||
"userRolesUpdated_other": ""
|
||||
"userRolesUpdated_other": "{{count}} felhasználó, akit ehhez a szerepkörhöz rendeltünk, frissült „néző”-re, amely hozzáféréssel rendelkezik az összes kamerához."
|
||||
},
|
||||
"error": {
|
||||
"createRoleFailed": "Nem sikerült létrehozni a szerepkört: {{errorMessage}}",
|
||||
|
||||
@ -66,7 +66,7 @@
|
||||
"type": {
|
||||
"label": "Típus",
|
||||
"timestamp": "Időbélyeg",
|
||||
"tag": "Cédula",
|
||||
"tag": "Címke",
|
||||
"message": "Üzenet"
|
||||
},
|
||||
"toast": {
|
||||
|
||||
@ -6,7 +6,8 @@
|
||||
"title": "Sedang Merestart Frigate",
|
||||
"content": "Halaman ini akan memulai ulang dalam {{countdown}} detik.",
|
||||
"button": "Muat Ulang Sekarang"
|
||||
}
|
||||
},
|
||||
"description": "Layanan Frigate akan terhenti sejenak saat proses restart."
|
||||
},
|
||||
"explore": {
|
||||
"plus": {
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
{
|
||||
"documentTitle": "Klasifikasi Model - Frigate",
|
||||
"details": {
|
||||
"scoreInfo": "Skor tersebut mewakili rata-rata kepercayaan klasifikasi di seluruh deteksi objek ini."
|
||||
"scoreInfo": "Skor tersebut mewakili rata-rata kepercayaan klasifikasi di seluruh deteksi objek ini.",
|
||||
"none": "Tidak ada",
|
||||
"unknown": "Tidak diketahui"
|
||||
},
|
||||
"button": {
|
||||
"deleteClassificationAttempts": "Hapus Gambar Klasifikasi",
|
||||
"renameCategory": "Ubah Nama Kelas",
|
||||
"deleteCategory": "Hapus Kelas",
|
||||
"renameCategory": "Ganti Nama Class",
|
||||
"deleteCategory": "Hapus Class",
|
||||
"deleteImages": "Hapus Gambar",
|
||||
"trainModel": "Latih Model",
|
||||
"addClassification": "Tambah Klasifikasi",
|
||||
@ -14,14 +16,14 @@
|
||||
"editModel": "Ubah Model"
|
||||
},
|
||||
"tooltip": {
|
||||
"trainingInProgress": "Model dalam training",
|
||||
"noNewImages": "Tidak ada gambar untuk dilatih. Klasifikasikan gambar terlebih dahulu di dataset.",
|
||||
"trainingInProgress": "Model sedang training",
|
||||
"noNewImages": "Tidak ada gambar baru untuk training. Klasifikasi lebih banyak gambar di dataset terlebih dahulu.",
|
||||
"noChanges": "Tidak ada perubahan dataset sejak latihan terakhir.",
|
||||
"modelNotReady": "Model tidak siap untuk dilatih"
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
"deletedCategory": "Kelas dihapus",
|
||||
"deletedCategory": "Class Dihapus",
|
||||
"deletedImage": "Image dihapus",
|
||||
"deletedModel_other": "Berhasil menghapus {{count}} model",
|
||||
"categorizedImage": "Berhasil Mengklasifikasikan Gambar",
|
||||
@ -31,17 +33,61 @@
|
||||
"renamedCategory": "Berhasil mengganti nama class ke {{name}}"
|
||||
},
|
||||
"error": {
|
||||
"updateModelFailed": "Gagal melakukan perubahan pada model: {{errorMessage}}",
|
||||
"updateModelFailed": "Gagal update model: {{errorMessage}}",
|
||||
"renameCategoryFailed": "Gagal merubah penamaan kelas: {{errorMessage}}",
|
||||
"deleteImageFailed": "Gagal menghapus: {{errorMessage}}",
|
||||
"deleteCategoryFailed": "Gagal menghapus kelas: {{errorMessage}}"
|
||||
"deleteCategoryFailed": "Gagal menghapus kelas: {{errorMessage}}",
|
||||
"deleteModelFailed": "Gagal menghapus model: {{errorMessage}}",
|
||||
"categorizeFailed": "Gagal mengkategorikan gambar: {{errorMessage}}",
|
||||
"trainingFailed": "Gagal melakukan training model. Cek log Frigate untuk rinciannya.",
|
||||
"trainingFailedToStart": "Gagal memulai training model: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"deleteCategory": {
|
||||
"title": "Kelas dihapus",
|
||||
"minClassesTitle": "Dilarang menghapus Kelas"
|
||||
"minClassesTitle": "Dilarang menghapus Kelas",
|
||||
"desc": "Apakah Anda yakin ingin menghapus class {{name}}? Ini akan menghapus semua gambar terkait secara permanen dan memerlukan re-training model.",
|
||||
"minClassesDesc": "Model klasifikasi harus memiliki setidaknya 2 class. Tambahkan class lain sebelum menghapus yang ini."
|
||||
},
|
||||
"train": {
|
||||
"titleShort": "Terkini"
|
||||
},
|
||||
"wizard": {
|
||||
"title": "Buat Klasifikasi Baru",
|
||||
"steps": {
|
||||
"nameAndDefine": "Nama & Definisi",
|
||||
"stateArea": "Pilih Area",
|
||||
"chooseExamples": "Pilih Contoh"
|
||||
},
|
||||
"step1": {
|
||||
"description": "State model memantau area kamera yang tetap untuk setiap perubahan (contoh: pintu terbuka/tertutup). Object model menambahkan klasifikasi pada objek yang terdeteksi (contoh: hewan tertentu, kurir, dll.).",
|
||||
"name": "Nama",
|
||||
"namePlaceholder": "Masukkan nama model...",
|
||||
"type": "Tipe",
|
||||
"typeState": "Status",
|
||||
"typeObject": "Objek",
|
||||
"objectLabel": "Label Objek",
|
||||
"objectLabelPlaceholder": "Pilih tipe objek...",
|
||||
"classificationType": "Pilih Klasifikasi",
|
||||
"classificationTypeTip": "Pelajari tentang tipe klasifikasi",
|
||||
"classificationTypeDesc": "Sub Label menambahkan teks tambahan pada label objek (contoh: 'Orang: UPS'). Atribut adalah metadata yang dapat dicari dan disimpan secara terpisah di dalam metadata objek.",
|
||||
"classificationSubLabel": "Sub Label",
|
||||
"classificationAttribute": "Atribut",
|
||||
"classes": "Class",
|
||||
"classesTip": "Pelajari tentang class",
|
||||
"classesStateDesc": "Tentukan berbagai status (state) pada area kamera Anda. Contoh: 'terbuka' dan 'tertutup' untuk pintu garasi.",
|
||||
"classesObjectDesc": "Tentukan kategori berbeda untuk mengklasifikasikan objek yang terdeteksi. Contoh: 'kurir', 'penghuni', 'orang_asing' untuk klasifikasi orang.",
|
||||
"classPlaceholder": "Masukkan nama class...",
|
||||
"errors": {
|
||||
"nameRequired": "Nama model wajib diisi",
|
||||
"nameLength": "Nama model maksimal 64 karakter",
|
||||
"nameOnlyNumbers": "Nama model tidak boleh hanya berisi angka",
|
||||
"classRequired": "Setidaknya harus ada 1 class yang diisi",
|
||||
"classesUnique": "Nama class harus unik",
|
||||
"stateRequiresTwoClasses": "State model memerlukan minimal 2 class",
|
||||
"objectLabelRequired": "Silakan pilih label objek",
|
||||
"objectTypeRequired": "Silakan pilih tipe klasifikasi"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user