
zoneminder v1.38.4
ZoneMinder एक मुफ्त, ओपन सोर्स क्लोज्ड-सर्किट टेलीविजन सॉफ्टवेयर एप्लिकेशन है जिसे Linux के लिए विकसित किया गया है, जो IP, USB और Analog कैमरों का समर्थन करता है।
ZoneMinder
ZoneMinder के सभी दस्तावेज़ अब ऑनलाइन उपलब्ध हैं: https://zoneminder.readthedocs.org
अवलोकन
ZoneMinder एकीकृत अनुप्रयोगों का एक समूह है जो एक संपूर्ण निगरानी समाधान प्रदान करता है, जो Linux आधारित मशीन से जुड़े किसी भी CCTV या सुरक्षा कैमरे के कैप्चर, विश्लेषण, रिकॉर्डिंग और निगरानी की अनुमति देता है। इसे उन डिस्ट्रीब्यूशन पर चलाने के लिए डिज़ाइन किया गया है जो Video For Linux (V4L) इंटरफ़ेस का समर्थन करते हैं, और इसे BTTV कार्ड से जुड़े वीडियो कैमरों, विभिन्न USB कैमरों के साथ परीक्षण किया गया है, साथ ही यह अधिकांश IP नेटवर्क कैमरों का भी समर्थन करता है।
विकास टीम से संपर्क करना
हमारे GitHub फोरम में issue बनाने से पहले, कृपया हमारे पोस्टिंग नियम पढ़ें: https://github.com/ZoneMinder/ZoneMinder/wiki/Github-Posting-Rules
हमारा Dockerfile स्थानांतरित हो गया है
कृपया ZoneMinder Dockerfile से संबंधित issues यहाँ दर्ज करें: https://github.com/ZoneMinder/zmdockerfiles
इंस्टॉलेशन विधियाँ
पैकेज रिपॉजिटरी से इंस्टॉल करना
अपने सिस्टम पर ZoneMinder इंस्टॉल करने का यह अनुशंसित तरीका है। ZoneMinder पैकेज निम्नलिखित डिस्ट्रो के लिए अनुरक्षित हैं:
- Ubuntu — Isaac Connor's PPA के माध्यम से
- Debian — उनके डिफ़ॉल्ट रिपॉजिटरी से
- RHEL/CentOS और क्लोन — RPM Fusion के माध्यम से
- Fedora — RPM Fusion के माध्यम से
- OpenSuse — तृतीय पक्ष रिपॉजिटरी के माध्यम से
- Mageia — उनके डिफ़ॉल्ट रिपॉजिटरी से
- Arch — AUR के माध्यम से
- Gentoo — Portage Overlays के माध्यम से
यदि आपके डिस्ट्रो के लिए ZoneMinder पैकेज होस्ट करने वाला कोई रिपॉजिटरी उपलब्ध नहीं है, तो स्रोत से बिल्ड करने के बजाय आपको अपना स्वयं का पैकेज बनाने के लिए प्रोत्साहित किया जाता है। हालाँकि प्रत्येक डिस्ट्रो कुछ मायनों में दूसरों से अलग होता है, फिर भी वे अक्सर इतने समान होते हैं कि आप किसी अन्य डिस्ट्रो के पैकेज निर्माण निर्देशों को अपने डिस्ट्रो के अनुकूल बना सकते हैं।
स्रोत से बिल्ड करना हतोत्साहित किया जाता है
ऐतिहासिक रूप से, अपने सिस्टम पर ZoneMinder इंस्टॉल करने के लिए पारंपरिक configure, make, make install कमांड जारी करके स्रोत कोड से बिल्ड करना आवश्यक था। ZoneMinder को बिल्ड करने के लिए, उसकी सभी निर्भरताओं को पहले से निर्धारित और इंस्टॉल करना पड़ता था। बिल्ड के बाद init और logrotate स्क्रिप्ट को मैन्युअल रूप से सही स्थान पर कॉपी करना पड़ता था। jscalendar और Cambozola जैसे वैकल्पिक पैकेजों को मैन्युअल रूप से इंस्टॉल करना पड़ता था। अनइंस्टॉल करने पर पुरानी फ़ाइलें पीछे छूट सकती थीं, जो अपग्रेड के दौरान समस्याएँ पैदा कर सकती थीं। अपग्रेड की बात करें तो, जब अपग्रेड करने का समय आता था, तो इन सभी मैन्युअल चरणों को दोबारा दोहराना पड़ता था।
आज बेहतर तरीके मौजूद हैं जो आपके लिए इनमें से बहुत कुछ कर देते हैं। वर्तमान विकास टीम ने, अन्य स्वयंसेवकों के साथ मिलकर, स्रोत से बिल्ड करने से बचने के लिए आवश्यक संसाधन उपलब्ध कराने में महत्वपूर्ण प्रगति की है।
ZoneMinder पैकेज बनाना
ZoneMinder को पैकेज में बनाना स्रोत से बिल्ड करने से अधिक कठिन नहीं है। वास्तव में, यदि आपने अतीत में ZoneMinder को स्रोत से सफलतापूर्वक बिल्ड किया है, तो आप इन चरणों को और भी आसान पा सकते हैं।
पैकेज बनाते समय, यह कार्य एक अलग वातावरण में करना सबसे अच्छा होता है जो विकास उद्देश्यों के लिए समर्पित हो। यह एक वर्चुअल मशीन बनाने, Docker का उपयोग करने या mock का उपयोग करने जितना सरल हो सकता है। अपने प्रोडक्शन सर्वर पर यह कार्य करने पर पछताने के लिए बस एक “Oops” ही काफी है।
अंत में, यदि आप master ब्रांच से एक डेवलपमेंट स्नैपशॉट बिल्ड करना चाहते हैं, तो अनुशंसा की जाती है कि आप पहले ZoneMinder के आधिकारिक रिलीज़ का उपयोग करके अपना पैकेज बनाएँ। इससे यह पहचानने में मदद मिलेगी कि आपके सामने आने वाली समस्याएँ बिल्ड प्रक्रिया के कारण हैं या master ब्रांच में कोई नई समस्या है।
कृपया डिस्ट्रो-विशिष्ट निर्देशों के लिए हमारी ReadtheDocs साइट देखें।
पैकेज अनुरक्षक
ZoneMinder कॉन्फ़िगरेशन वेरिएबल के कई डिफ़ॉल्ट मान autotools या cmake के माध्यम से बिल्ड समय पर कॉन्फ़िगर करने योग्य नहीं होते हैं। zmeditconfigdata.sh नामक एक नया टूल जोड़ा गया है, जो पैकेज अनुरक्षकों को स्रोत को पैच किए बिना ConfigData.pm में संग्रहीत किसी भी वेरिएबल में हेरफेर करने की अनुमति देता है।
उदाहरण के लिए, मान लें कि मैंने एक नया ZoneMinder पैकेज बनाया है जिसमें cambozola जावास्क्रिप्ट फ़ाइल शामिल है। लेकिन डिफ़ॉल्ट रूप से cambozola समर्थन बंद है। इसे ठीक करने के लिए, पैकेजिंग स्क्रिप्ट में यह जोड़ें:
./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes
ध्यान दें कि zmeditconfigdata.sh को रूट बिल्ड फ़ोल्डर से, cmake या configure चलाने से पहले, कॉल किया जाना चाहिए।
Docker
Docker एक ऐसी प्रणाली है जो अनुप्रयोगों को पृथक कंटेनरों के अंदर चलाती है। ZoneMinder और ZM वेबसर्वर, इस रिपॉजिटरी में मौजूद Dockerfile का उपयोग करके चलेंगे। हालाँकि, यह सुनिश्चित करने के लिए अभी भी काम करने की आवश्यकता है कि मुख्य ZM सुविधाएँ ठीक से काम करें और प्रलेखित हों।
योगदान मॉडल और विकास
- स्रोत GitHub पर होस्ट है
- issues की रिपोर्ट GitHub Issues पर करें
- प्रश्न/फ़ीचर अनुरोध Slack या फोरम पर
पुल रिक्वेस्ट का स्वागत है! यदि आप योगदान देना चाहते हैं, तो कृपया निम्नलिखित चरणों का पालन करें। हालाँकि चरण 3 वैकल्पिक है, फिर भी इसे प्राथमिकता दी जाती है।
- रिपॉजिटरी को फोर्क करें
- हमारे GitHub Issues Tracker पर एक issue खोलें। आपके द्वारा पाए गए बग या सुरक्षा समस्या का वर्णन करने के लिए issue टेम्पलेट का पालन करें। कृपया ध्यान दें कि फ़ीचर अनुरोध या प्रश्न हमारे उपयोगकर्ता फोरम या Slack चैनल पर पोस्ट किए जाने चाहिए।
- अपनी फ़ीचर ब्रांच बनाएं (
git checkout -b 456-my-new-feature) - अपने परिवर्तन कमिट करें (
git commit -am 'Added some feature') यह प्राथमिकता दी जाती है कि आप सभी परिवर्तनों को एक ही कमिट में इकट्ठा करने के बजाय 'बार-बार और नियमित रूप से कमिट' करें। - अपनी ब्रांच को github पर अपने फोर्क में पुश करें (
git push origin 456-my-new-feature) - नया पुल रिक्वेस्ट बनाएं
- फिर टीम आपके परिवर्तनों की समीक्षा करेगी, चर्चा करेगी और उम्मीद है कि उन्हें मर्ज कर देगी।

