homebridge camera ffmpeg
Version 3.1.4
ปลั๊กอิน Homebridge ที่ให้การรองรับกล้องที่ใช้ FFMPEG
ปลั๊กอินนี้รองรับทั้ง Homebridge และ Hoobs ขอแนะนำอย่างยิ่งให้คุณใช้ Homebridge Config UI X หรือ HOOBS UI เพื่อติดตั้งและกำหนดค่าปลั๊กอินนี้
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 TV (ค่าเริ่มต้น: false
)manufacturer
: ตั้งค่าชื่อผู้ผลิตสำหรับแสดงในแอพหน้าแรก (ค่าเริ่มต้น: Homebridge
)model
: ตั้งค่าโมเดลสำหรับการแสดงผลในแอพหน้าแรก (ค่าเริ่มต้น: Camera FFmpeg
)serialNumber
: ตั้งค่าหมายเลขซีเรียลสำหรับการแสดงผลในแอพหน้าแรก (ค่าเริ่มต้น: SerialNumber
)firmwareRevision
: ตั้งค่าการแก้ไขเฟิร์มแวร์สำหรับการแสดงผลในแอพหน้าแรก (ค่าเริ่มต้น: เวอร์ชันปลั๊กอินปัจจุบัน)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
: ข้อความที่จะดูเพื่อทริกเกอร์รีเซ็ตการเคลื่อนไหว จะใช้ชื่อกล้องถ้าว่าง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 จะไม่เริ่มต้นขึ้น ดูเว็บไซต์โครงการสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ MQTTportmqtt
: พอร์ตของนายหน้า MQTT (ค่าเริ่มต้น: 1883
)tlsmqtt
: ใช้ TLS เพื่อเชื่อมต่อกับนายหน้า MQTT (ค่าเริ่มต้น: false
)usermqtt
: ชื่อผู้ใช้ที่ใช้เชื่อมต่อกับนายหน้า MQTT ของคุณ หากไม่ได้ตั้งค่าจะไม่มีการใช้การรับรองความถูกต้องpassmqtt
: รหัสผ่านที่ใช้ในการเชื่อมต่อกับนายหน้า MQTT ของคุณ หากไม่ได้ตั้งค่าจะไม่มีการใช้การรับรองความถูกต้องporthttp
: พอร์ตที่จะฟังระบบอัตโนมัติที่ใช้ HTTP หากไม่ได้ตั้งค่าการสนับสนุน HTTP จะไม่เริ่มต้นขึ้น ดูเว็บไซต์โครงการสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ HTTPlocalhttp
: อนุญาตเฉพาะการโทร http จาก localhost มีประโยชน์หากใช้ปลั๊กอินผู้ช่วยที่แปลเป็น 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 Camera FFMPEG ขึ้นอยู่กับรหัสเดิมที่เขียนโดย Khaos Tian