homebridge camera ffmpeg
Version 3.1.4
FFMPEG 기반 카메라 지원을 제공하는 HomeBridge 플러그인
이 플러그인은 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
: 모션 센서를 재설정하기 위해 트리거 후 초 수. MQTT 또는 HTTP의 모션 트리거 재설정을 비활성화하려면 0으로 설정하십시오. (기본값 : 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으로 설정하면 소스의 해상도가 사용됩니다. 설정되지 않은 경우 크기의 홈 키트 요청을 사용합니다.maxHeight
: HomeKit으로 스트리밍 된 비디오에 사용되는 최대 높이. 0으로 설정하면 소스의 해상도가 사용됩니다. 설정되지 않은 경우 크기의 홈 키트 요청을 사용합니다.maxFPS
: HomeKit으로 스트리밍 된 비디오에 사용되는 최대 프레임 속도. 0으로 설정하면 소스의 프레임 속도가 사용됩니다. 설정되지 않은 경우 홈 키트 요청을 프레임 속도로 사용합니다.maxBitrate
: KBIT/S에서 HomeKit으로 스트리밍 된 비디오에 사용되는 최대 비트 전송률. 설정되지 않은 경우 Bitrate HomeKit 요청을 사용합니다.forceMax
: 설정하면 HomeKit에서 요청한 설정은이 구성에 정의 된 '최대'값으로 재정의됩니다. (기본값 : false
)vcodec
: HomeKit으로 전송되는 비디오 인코딩에 사용되는 코덱을 설정하려면 H.264 기반이어야합니다. 사용 가능한 경우이 옵션을 사용하여 하드웨어 가속화 된 비디오 코덱으로 변경할 수 있습니다. (기본값 : libx264
)audio
: 카메라에서 오디오 스트리밍을 활성화합니다. (기본값 : false
)packetSize
: 오디오 나 비디오가 고르지 않으면 더 작은 값을 시도하고 188의 배수로 설정해야합니다. (기본값 : 1316
)mapvideo
: 비디오에 사용되는 스트림을 선택합니다. (기본값 : FFMPEG는 비디오 스트림을 자동으로 선택합니다)mapaudio
: 오디오에 사용되는 스트림을 선택합니다. (기본값 : FFMPEG는 오디오 스트림을 자동으로 선택합니다)videoFilter
: 비디오에서 FFMPEG를 실행할 수있는 추가 비디오 필터 목록. 'None'이 포함되어 있으면 기본 비디오 필터가 비활성화됩니다.encoderOptions
: 비디오 인코더로 전달할 옵션. (기본값 : -preset ultrafast -tune zerolatency
사용하는 경우)debug
: HomeBridge 로그의 기본 FFMPEG 프로세스의 디버깅 출력이 포함됩니다. (기본값 : false
)debugReturn
: HomeBridge 로그에서 반환 오디오에 사용되는 FFMPEG의 디버깅 출력이 포함됩니다. (기본값 : 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
: MQTT 기반 자동화를 위해 연결하려면 MQTT 브로커의 호스트 이름 또는 IP를 정의합니다. 설정하지 않으면 MQTT 지원이 시작되지 않습니다. MQTT 사용에 대한 자세한 내용은 프로젝트 사이트를 참조하십시오.portmqtt
: MQTT 브로커의 포트. (기본값 : 1883
)tlsmqtt
: TLS를 사용하여 MQTT 브로커에 연결하십시오. (기본값 : false
)usermqtt
: MQTT 브로커에 연결하는 데 사용되는 사용자 이름입니다. 설정하지 않으면 인증이 사용되지 않습니다.passmqtt
: MQTT 브로커에 연결하는 데 사용되는 비밀번호입니다. 설정하지 않으면 인증이 사용되지 않습니다.porthttp
: HTTP 기반 자동화를 위해들을 수있는 포트. 설정하지 않으면 HTTP 지원이 시작되지 않습니다. HTTP 사용에 대한 자세한 내용은 프로젝트 사이트를 참조하십시오.localhttp
: LocalHost에서 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는 원래 Khaos Tian이 작성한 코드를 기반으로합니다.