homebridge camera ffmpeg
Version 3.1.4
Plugin Homebridge يوفر دعم الكاميرا المستندة إلى FFMPEG
يتم دعم هذا البرنامج المساعد تحت كل من Homebridge و Hoobs. يوصى بشدة أن تستخدم إما Homebridge Config UI X أو واجهة المستخدم HOOBS لتثبيت هذا البرنامج المساعد وتكوينه.
sudo npm install -g homebridge-camera-ffmpeg --unsafe-perm
.config.json
يدويًا لإضافة الكاميرات الخاصة بك. انظر أدناه للحصول على التعليمات حول ذلك. يقوم المستخدمون الآخرون بمشاركة التكوينات التي تعمل معهم على موقع GitHub الخاص بنا. قد ترغب في التحقق من ذلك لمعرفة ما إذا كان أي شخص آخر قد حصل على طراز الكاميرا الخاص بك يعمل بالفعل ، أو مشاركة إعداد التكوين الذي يناسبك.
platform
: (مطلوب) يجب أن يتم ضبطه دائمًا على Camera-ffmpeg
.name
: (مطلوب) اضبط اسم الكاميرا للعرض في التطبيق المنزلي.source
: (مطلوب) خيارات FFMPEG حول مكان العثور وكيفية فك تشفير دفق الفيديو الخاص بكاميرا. النموذج الأساسي هو -i
متبوع بعنوان URL للكاميرا.stillImageSource
: إذا توفر الكاميرا أيضًا عنوان URL لصورة ثابتة ، يمكن تعريفها هنا بنفس بناء الجملة مثل source
. إذا لم يتم تعيينه ، فسيحصل المكون الإضافي على إطار واحد من source
. {
"platform" : " Camera-ffmpeg " ,
"cameras" : [
{
"name" : " Camera Name " ,
"videoConfig" : {
"source" : " -i rtsp://username:[email protected]:554 " ,
"stillImageSource" : " -i http://example.com/still_image.jpg " ,
"maxStreams" : 2 ,
"maxWidth" : 1280 ,
"maxHeight" : 720 ,
"maxFPS" : 30
}
}
]
}
motion
: يعرض مستشعر الحركة لهذه الكاميرا. يمكن تشغيل ذلك بمفاتيح وهمية ، أو رسائل MQTT ، أو عبر HTTP ، اعتمادًا على الميزات التي يتم تمكينها في التكوين. (افتراضي: false
)doorbell
: يعرض جهاز جرس الباب لهذه الكاميرا. يمكن تشغيل ذلك بمفاتيح وهمية ، أو رسائل MQTT ، أو عبر HTTP ، اعتمادًا على الميزات التي يتم تمكينها في التكوين. (افتراضي: false
)switches
: يتيح المفاتيح الوهمية للتشغيل حركة و/أو جرس الباب ، إذا تم تمكين أي منهما. عند التمكين ، سيكون هناك مفتاح إضافي يؤدي إلى حدوث حركة أو جرس الباب. انظر موقع المشروع للحصول على المزيد من التعليمات التفصيلية. (افتراضي: false
)motionTimeout
: عدد الثواني بعد التشغيل لإعادة تعيين مستشعر الحركة. ضبط على 0 لتعطيل إعادة تعيين مشغل الحركة لـ MQTT أو HTTP. (افتراضي: 1
)motionDoorbell
: يرن جرس الباب عند تنشيط الحركة. هذا يسمح بتنبيهات الحركة للظهور على أجهزة تلفزيون Apple. (افتراضي: false
)manufacturer
: اضبط اسم الشركة المصنعة للعرض في التطبيق المنزلي. (افتراضي: Homebridge
)model
: اضبط النموذج للعرض في تطبيق Home. (افتراضي: Camera FFmpeg
)serialNumber
: اضبط الرقم التسلسلي للعرض في تطبيق Home. (الافتراضي: SerialNumber
)firmwareRevision
: قم بتعيين مراجعة البرامج الثابتة للعرض في تطبيق Home. (افتراضي: إصدار البرنامج المساعد الحالي)unbridge
: يمكن أن تتسبب الكاميرات المجسمة في تباطؤ مثيل Homebridge بأكمله. إذا كانت غير مؤهلة ، ستحتاج الكاميرا إلى إضافتها إلى HomeKit يدويًا. (افتراضي: false
) {
"platform" : " Camera-ffmpeg " ,
"cameras" : [
{
"name" : " Camera Name " ,
"manufacturer" : " ACME, Inc. " ,
"model" : " ABC-123 " ,
"serialNumber" : " 1234567890 " ,
"firmwareRevision" : " 1.0 " ,
"videoConfig" : {
"source" : " -i rtsp://username:[email protected]:554 " ,
"stillImageSource" : " -i http://example.com/still_image.jpg " ,
"maxStreams" : 2 ,
"maxWidth" : 1280 ,
"maxHeight" : 720 ,
"maxFPS" : 30
}
}
]
}
returnAudioTarget
: (تجريبي - WIP) أمر إخراج FFMPEG لتوجيه الصوت مرة أخرى إلى كاميرا ذات اتجاهين. لا تزال هذه الميزة قيد التطوير وقد لا يعمل التكوين الذي يعمل اليوم في المستقبل.maxStreams
: الحد الأقصى لعدد التدفقات التي سيتم السماح بها مرة واحدة لهذه الكاميرا. (افتراضي: 2
)maxWidth
: أقصى عرض يستخدم للفيديو الذي تم بثه إلى HomeKit. إذا تم ضبطه على 0 ، يتم استخدام دقة المصدر. إذا لم يتم تعيينه ، فسيستخدم أي طلبات من HomeKit.maxHeight
: الحد الأقصى للارتفاع المستخدم للفيديو الذي تم بثه إلى HomeKit. إذا تم ضبطه على 0 ، يتم استخدام دقة المصدر. إذا لم يتم تعيينه ، فسيستخدم أي طلبات من HomeKit.maxFPS
: الحد الأقصى لمعدل الإطار المستخدم للفيديو الذي تم بثه إلى HomeKit. إذا تم ضبطه على 0 ، يتم استخدام إطار المصدر. إذا لم يتم تعيينه ، فسيستخدم أي طلبات HomeKit لمعدل الإطارات.maxBitrate
: الحد الأقصى البت المستخدم للفيديو الذي تم بثه إلى HomeKit ، في Kbit/s. إذا لم يتم تعيينه ، فسيستخدم أي طلبات Bitrate HomeKit.forceMax
: إذا تم تعيينها ، فسيتم تجاوز الإعدادات المطلوبة من قبل HomeKit مع أي قيم "الحد الأقصى" المحددة في هذا التكوين. (افتراضي: false
)vcodec
: تعيين الترميز المستخدم لترميز الفيديو المرسلة إلى HomeKit ، يجب أن يكون H.264. يمكنك التغيير إلى برنامج ترميز الفيديو المتسارع للأجهزة مع هذا الخيار ، إذا كان متاحًا. (افتراضي: libx264
)audio
: يتيح دفق الصوت من الكاميرا. (افتراضي: false
)packetSize
: إذا كان الصوت أو الفيديو متقطعًا ، فيجب أن يتم ضبط قيمة أصغر ، على مضاعف 188 (افتراضي: 1316
)mapvideo
: يحدد الدفق المستخدم للفيديو. (افتراضي: تحدد FFMPEG تلقائيًا دفق فيديو)mapaudio
: يحدد الدفق المستخدم للصوت. (افتراضي: تحدد FFMPEG تلقائيًا دفق صوتي)videoFilter
: قائمة مفوضية من مرشحات الفيديو الإضافية لـ FFMPEG لتشغيلها على الفيديو. إذا تم تضمين "لا شيء" ، يتم تعطيل مرشحات الفيديو الافتراضية.encoderOptions
: خيارات يتم نقلها إلى تشفير الفيديو. (افتراضي: -preset ultrafast -tune zerolatency
إذا كان يستخدم libx264)debug
: يتضمن تصحيح الأخطاء من عملية FFMPEG الرئيسية في سجل Homebridge. (افتراضي: false
)debugReturn
: يتضمن تصحيح الأخطاء من FFMPEG المستخدمة في الصوت المرتجع في سجل Homebridge. (افتراضي: false
) {
"platform" : " Camera-ffmpeg " ,
"cameras" : [
{
"name" : " Camera Name " ,
"videoConfig" : {
"source" : " -i rtsp://myfancy_rtsp_stream " ,
"stillImageSource" : " -i http://faster_still_image_grab_url/this_is_optional.jpg " ,
"maxStreams" : 2 ,
"maxWidth" : 1280 ,
"maxHeight" : 720 ,
"maxFPS" : 30 ,
"maxBitrate" : 200 ,
"vcodec" : " h264_omx " ,
"audio" : false ,
"packetSize" : 188 ,
"hflip" : true ,
"additionalCommandline" : " -x264-params intra-refresh=1:bframes=0 " ,
"debug" : true
}
}
]
}
motionTopic
: موضوع MQTT لمشاهدة تنبيهات الحركة.motionMessage
: رسالة لمراقبة تنبيهات الحركة. سوف تستخدم اسم الكاميرا إذا فارغة.motionResetTopic
: موضوع MQTT لمشاهدة إعادة تعيين الحركة.motionResetMessage
: الرسالة التي يجب مراقبتها لإعادة تشغيل Motion. سوف تستخدم اسم الكاميرا إذا فارغة.doorbellTopic
: موضوع MQTT لمشاهدة تنبيهات جرس الباب.doorbellMessage
: الرسالة التي يجب مراقبتها لتشغيل تنبيهات جرس الباب. سوف تستخدم اسم الكاميرا إذا فارغة. {
"platform" : " Camera-ffmpeg " ,
"cameras" : [
{
"name" : " Camera Name " ,
"videoConfig" : {
"source" : " -i rtsp://myfancy_rtsp_stream "
},
"mqtt" : {
"motionTopic" : " home/camera " ,
"motionMessage" : " ON " ,
"motionResetTopic" : " home/camera " ,
"motionResetMessage" : " OFF " ,
"doorbellTopic" : " home/doobell " ,
"doorbellMessage" : " ON "
}
}
]
}
mqtt
: يحدد اسم المضيف أو IP لسيط MQTT للاتصال بالأتمتة المستندة إلى MQTT. إذا لم يتم تعيينه ، لم يتم بدء دعم MQTT. راجع موقع المشروع لمزيد من المعلومات حول استخدام MQTT.portmqtt
: منفذ وسيط MQTT. (افتراضي: 1883
)tlsmqtt
: استخدم TLS للاتصال بوسيط MQTT. (افتراضي: false
)usermqtt
: اسم المستخدم المستخدم للاتصال بوسيط MQTT الخاص بك. إذا لم يتم تعيينه ، لا يتم استخدام مصادقة.passmqtt
: كلمة المرور المستخدمة للاتصال بوسيط MQTT الخاص بك. إذا لم يتم تعيينه ، لا يتم استخدام مصادقة.porthttp
: المنفذ للاستماع إلى الأتمتة المستندة إلى HTTP. إذا لم يتم تعيينه ، لم يتم بدء دعم HTTP. راجع موقع المشروع لمزيد من المعلومات حول استخدام HTTP.localhttp
: فقط السماح لمكالمات HTTP من المضيف المحلي. مفيد إذا كان استخدام المكونات الإضافية المساعد التي تترجم إلى HTTP. (افتراضي: false
) {
"platform" : " Camera-ffmpeg " ,
"mqtt" : " 127.0.0.1 " ,
"porthttp" : " 8080 " ,
"cameras" : []
}
videoProcessor
: يحدد معالج الفيديو الذي يستخدم لفك تشفير ومقاطع الفيديو ، يجب أن يأخذ نفس المعلمات مثل FFMPEG. الاستخدامات الشائعة ستكون avconv
أو المسار إلى نسخة مخصصة من FFMPEG. إذا لم يتم تعيينه ، فسيستخدم الإصدار المضمون من FFMPEG ، أو إصدار FFMPEG المثبت على النظام في حالة عدم توفر إصدار مضمن. {
"platform" : " Camera-ffmpeg " ,
"videoProcessor" : " /usr/bin/ffmpeg " ,
"cameras" : []
}
تعتمد كاميرا Homebridge FFMPEG على الكود الذي كتبه خوس تيان في الأصل.