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
:(必需)设置在Home应用中显示的相机名称。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
:设置在Home应用中显示的模型。 (默认: Camera FFmpeg
)serialNumber
:将序列号设置为在Home应用中显示。 (默认: 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为单位。如果未设置,将使用任何比特率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进程的调试输出。 (默认: 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代理的主机名或IP,以连接到基于MQTT的自动化。如果未设置,则未启动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 Camera FFMPEG基于Khaos Tian最初编写的代码。