请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居第一站

 找回密码
 立即注册
查看: 797|回复: 18

[经验分享] 让你的小方/大方摄像头在HA里不那么卡

[复制链接]

3

主题

27

帖子

358

积分

论坛技术达人

积分
358
金钱
326
HASS币
0
发表于 2019-3-6 14:48:51 | 显示全部楼层 |阅读模式
最近买了个小方摄像头,按照 https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks 以及论坛里的方式破解后,终于可以rtsp了。
于是,按照ffmpeg摄像头的接入方法,加了下面的配置:
[Plain Text] 纯文本查看 复制代码
- platform: ffmpeg
  name: DaFang3
  input: -rtsp_transport tcp -i rtsp://yourip:8554/unicast

打开HA界面一看,卡到不成人形,平均好几秒才能有一帧画面,根本没法用。
看了下小方的Web管理界面,首页的监控还是比较流畅的,这是怎么实现的呢?打开html源代码,发现一个获取静态图片的网址:
https://yourip/cgi-bin/currentpic.cgi,页面通过每秒刷新实现了相对流畅的画面。
HA里是否也可以用类似的原理,跳过ffmpeg的解码,实现相对流畅的画面呢?研究了下HA的camera组件,发现如下:
[Plain Text] 纯文本查看 复制代码
camera:
  - platform: generic
    still_image_url: https://yourip/cgi-bin/currentpic.cgi
    name: 小方
    username: root
    password: yourpasswordtocamera
    verify_ssl: false
    framerate: 1

即每秒获取1张图实现连续画面。当然,想更流畅就把framerate加大,不过网络压力和摄像头压力就更大。

PS:小方的rtsp设置建议换成MJPEG,个人感觉对摄像头CPU压力小一些。开h.264平均负载在3左右,开mjpeg则降到2.5。

评分

参与人数 1金钱 +20 收起 理由
Jones + 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

4

主题

429

帖子

1306

积分

金牌会员

Rank: 6Rank: 6

积分
1306
金钱
877
HASS币
20
发表于 2019-3-6 16:01:17 | 显示全部楼层
官方是有这个方式接入的  framerate参数我加到多少 实际也就1秒1帧的样子
回复

使用道具 举报

4

主题

429

帖子

1306

积分

金牌会员

Rank: 6Rank: 6

积分
1306
金钱
877
HASS币
20
发表于 2019-3-6 16:07:44 | 显示全部楼层
本帖最后由 ghostist 于 2019-3-6 16:11 编辑

这个办法gayhub上有说明  实际最多1秒1~2帧吧
回复

使用道具 举报

6

主题

572

帖子

1943

积分

金牌会员

Rank: 6Rank: 6

积分
1943
金钱
1371
HASS币
0
发表于 2019-3-6 17:17:55 | 显示全部楼层
学习学习,谢谢分享
回复

使用道具 举报

35

主题

1477

帖子

5447

积分

超级版主

Nero

Rank: 8Rank: 8

积分
5447
金钱
3925
HASS币
341
发表于 2019-3-6 17:18:25 | 显示全部楼层
HA界面看是因为你设备h.264取流后,ha又要将h.264转回 MJPEG,然后再从前端显示,当然卡。
Nero
回复

使用道具 举报

4

主题

429

帖子

1306

积分

金牌会员

Rank: 6Rank: 6

积分
1306
金钱
877
HASS币
20
发表于 2019-3-6 18:57:22 | 显示全部楼层
本帖最后由 ghostist 于 2019-3-6 18:59 编辑
neroxps 发表于 2019-3-6 17:18
HA界面看是因为你设备h.264取流后,ha又要将h.264转回 MJPEG,然后再从前端显示,当然卡。 ...

大佬,我在你关于大方的一个帖子下咨询了下,借地再问下:大方的各种传感器(mqtt进来的),如果不用自动发现,用你的配置即可
还有两个cover传感器不知道怎么手动配置,求教

或者怎么获取到这些mqtt节点的配置?原作者好像只说了自动发现...
回复

使用道具 举报

35

主题

1477

帖子

5447

积分

超级版主

Nero

Rank: 8Rank: 8

积分
5447
金钱
3925
HASS币
341
发表于 2019-3-6 19:38:59 | 显示全部楼层
ghostist 发表于 2019-3-6 18:57
大佬,我在你关于大方的一个帖子下咨询了下,借地再问下:大方的各种传感器(mqtt进来的),如果不用自动 ...

你看他的手机mqtt 脚本啊,他是用mqtt命令来发布的。
Nero
回复

使用道具 举报

1

主题

81

帖子

546

积分

高级会员

Rank: 4

积分
546
金钱
465
HASS币
0
发表于 2019-3-7 08:15:24 | 显示全部楼层
这个破解固件能直接输出http的mjpeg就好了
回复

使用道具 举报

4

主题

429

帖子

1306

积分

金牌会员

Rank: 6Rank: 6

积分
1306
金钱
877
HASS币
20
发表于 2019-3-7 10:39:59 | 显示全部楼层
neroxps 发表于 2019-3-6 19:38
你看他的手机mqtt 脚本啊,他是用mqtt命令来发布的。

在\scripts\mqtt-autodiscovery.sh下找到这个

[AppleScript] 纯文本查看 复制代码
# Motor up/down/left/right

/system/sdcard/bin/mosquitto_pub.bin -h "$HOST" -p "$PORT" -u "$USER" -P "$PASS" -t "$AUTODISCOVERY_PREFIX/cover/$DEVICE_NAME/motor_up_down/config" ${MOSQUITTOPUBOPTS} ${MOSQUITTOOPTS} -r -m "{\"name\": \"$DEVICE_NAME move up/down\", \"unique_id\": \"$MAC_SIMPLE-move-up-down\", \"device\": {\"identifiers\": \"$MAC_SIMPLE\", \"connections\": [[\"mac\", \"$MAC\"]], \"manufacturer\": \"$MANUFACTURER\", \"model\": \"$MODEL\", \"name\": \"$MANUFACTURER $MODEL\", \"sw_version\": \"$VER\"}, \"set_position_topic\": \"$TOPIC/motors/vertical/set\", \"position_topic\": \"$TOPIC/motors/vertical\", \"command_topic\": \"$TOPIC/motors/vertical/set\", \"payload_close\": \"down\", \"payload_open\": \"up\", \"optimistic\": \"false\", \"value_template\": \"{{ ((value|int)/($MAX_Y/$STEP))|round }}\", \"set_position_template\": \"{{ ((position|int)*($MAX_Y/$STEP))|round }}\"}"

/system/sdcard/bin/mosquitto_pub.bin -h "$HOST" -p "$PORT" -u "$USER" -P "$PASS" -t "$AUTODISCOVERY_PREFIX/cover/$DEVICE_NAME/motor_left_right/config" ${MOSQUITTOPUBOPTS} ${MOSQUITTOOPTS} -r -m "{\"name\": \"$DEVICE_NAME move left/right\", \"unique_id\": \"$MAC_SIMPLE-move-left-right\", \"device\": {\"identifiers\": \"$MAC_SIMPLE\", \"connections\": [[\"mac\", \"$MAC\"]], \"manufacturer\": \"$MANUFACTURER\", \"model\": \"$MODEL\", \"name\": \"$MANUFACTURER $MODEL\", \"sw_version\": \"$VER\"}, \"set_position_topic\": \"$TOPIC/motors/horizontal/set\", \"position_topic\": \"$TOPIC/motors/horizontal\", \"command_topic\": \"$TOPIC/motors/horizontal/set\", \"payload_close\": \"right\", \"payload_open\": \"left\", \"optimistic\": \"false\", \"value_template\": \"{{ ((value|int)/($MAX_X/$STEP))|round }}\", \"set_position_template\": \"{{ ((position|int)*($MAX_X/$STEP))|round }}\"}"



结合google 到的资料,配置如下:
[AppleScript] 纯文本查看 复制代码
cover:
  - platform: mqtt
    name: "dafang move up/down"
    set_position_topic: "myhome/dafang/motors/vertical/set"
    position_topic: "myhome/dafang/motors/vertical"
#    state_topic: "myhome/dafang/motors/vertical"
    command_topic: "myhome/dafang/motors/vertical/set"
#    qos: 1
    payload_close: "down"
    payload_open: "up"
#    state_open: "up_endstop"
#    state_close: "down_endstop"
    optimistic: false
    value_template: "{{ ((value|int)/7.3)|round }}"
    set_position_template: "{{ ((value|int)/7.3)|round }}"

  - platform: mqtt
    name: "dafang move left/right"
    set_position_topic: "myhome/dafang/motors//horizontal/set"
    position_topic: "myhome/dafang/motors//horizontal"
#    state_topic: "myhome/dafang/motors/horizontal"
    command_topic: "myhome/dafang/motors/horizontal/set"
#    qos: 1
    payload_close: "right"
    payload_open: "left"
#    state_open: "left_endstop"
#    state_close: "right_endstop"
    optimistic: false
    value_template: "{{ ((value|int)/27)|round }}"
    set_position_template: "{{ ((position|int)/27)|round }}"


其中的value_template和set_position_template下的参数是google到的(貌似记得是启动日志里的)
然后关闭自动发现,重启HA,水平不能控,垂直能控但是有问题...

回复

使用道具 举报

35

主题

1477

帖子

5447

积分

超级版主

Nero

Rank: 8Rank: 8

积分
5447
金钱
3925
HASS币
341
发表于 2019-3-7 11:00:19 | 显示全部楼层
ghostist 发表于 2019-3-7 10:39
在\scripts\mqtt-autodiscovery.sh下找到这个


哦 你要控制电机???

[AppleScript] 纯文本查看 复制代码
/cgi-bin/action.cgi?cmd=motor_PTZ'&x_axis=100&y_axis=400


直接get 这个连接就好了。
Nero
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2019-5-20 14:36 , Processed in 0.481626 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表