{ "display": { "fullscreen": true, "window_title": "Hologram Player - Dog", "rotation": 0, "flip_horizontal": true, "flip_vertical": true, "offset_x": 0, "offset_y": 0, "prevent_screen_lock": true, "render_width": 1920, "render_height": 1080, "output_width": 1920, "output_height": 1080, "scale_mode": "stretch", "allow_upscale": true, "perspective_correction": { "enabled": false, "points": [ [ 0, 0 ], [ 1920, 0 ], [ 1920, 1080 ], [ 0, 1080 ] ] }, "chroma_key": { "enabled": false, "hsv_min": [ 0, 0, 200 ], "hsv_max": [ 180, 30, 255 ], "invert": false, "feather": 3 }, "brightness_adjust": { "enabled": true, "subject_boost": 2, "background_suppress": 0.3, "threshold": 30 } }, "playlist": [ { "id": "anim_0", "path": "../../宠物嵌入式开发视频2/1.动画0.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_1", "path": "../../宠物嵌入式开发视频2/2.趴着休息/动画1.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_2", "path": "../../宠物嵌入式开发视频2/2.趴着休息/动画2.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_3", "path": "../../宠物嵌入式开发视频2/2.趴着休息/动画3.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_4", "path": "../../宠物嵌入式开发视频2/3.站起来活动/动画4.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_5", "path": "../../宠物嵌入式开发视频2/3.站起来活动/动画5.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_6", "path": "../../宠物嵌入式开发视频2/3.站起来活动/动画6.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_7", "path": "../../宠物嵌入式开发视频2/4.趴下睡觉/动画7.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_8", "path": "../../宠物嵌入式开发视频2/4.趴下睡觉/动画8.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_9", "path": "../../宠物嵌入式开发视频2/4.趴下睡觉/动画9.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_10", "path": "../../宠物嵌入式开发视频2/5.狗舔爪子 动画10.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_11", "path": "../../宠物嵌入式开发视频2/6.口渴动画/动画11.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_12", "path": "../../宠物嵌入式开发视频2/6.口渴动画/动画12.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_13", "path": "../../宠物嵌入式开发视频2/6.口渴动画/动画13.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_14", "path": "../../宠物嵌入式开发视频2/7.被叫名字1/动画14.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_15", "path": "../../宠物嵌入式开发视频2/7.被叫名字1/动画15.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_16", "path": "../../宠物嵌入式开发视频2/7.被叫名字1/动画16.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_17", "path": "../../宠物嵌入式开发视频2/8.握手/动画17.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_18", "path": "../../宠物嵌入式开发视频2/9.喂食动画/动画18.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_19", "path": "../../宠物嵌入式开发视频2/10.喂水动画/动画19.mp4", "duration": null, "loop_count": 1, "random_loop_range": null }, { "id": "anim_20", "path": "../../宠物嵌入式开发视频2/11.摸狗狗头/动画22.mp4", "duration": null, "loop_count": 1, "random_loop_range": null } ], "transition": { "enabled": true, "type": "fade", "duration": 0.5 }, "playback": { "loop_playlist": true, "auto_start": true }, "scenes": { "rest": [], "active": [], "sleep": [], "interact": [], "state_machine": { "initial_state": "default", "states": { "stand_active": { "name": "站起来活动", "mode": "free_mode", "sequence": [ { "video_id": "anim_4", "loop_count": 1, "random_loop_range": null }, { "video_id": "anim_5", "loop_count": null, "random_loop_range": [ 2, 10 ] }, { "video_id": "anim_6", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "rest_lying", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [ { "trigger": { "voice": { "keyword": "name" } }, "target_state": "called_name", "priority": 10 }, { "trigger": { "button": { "name": "button1" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "voice": { "keyword": "握手" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "button": { "name": "button2" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "voice": { "keyword": "吃饭" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "button": { "name": "button3" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "voice": { "keyword": "喝水" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "sensor": { "name": "touch" } }, "target_state": "pet_head", "priority": 10 } ], "weight": 1, "defer_triggers": true, "ignore_triggers": false }, "sleep": { "name": "趴下睡觉", "mode": "free_mode", "sequence": [ { "video_id": "anim_7", "loop_count": 1, "random_loop_range": null }, { "video_id": "anim_8", "loop_count": null, "random_loop_range": [ 25, 100 ] }, { "video_id": "anim_9", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "rest_lying", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 0.5 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [ { "trigger": { "voice": { "keyword": "name" } }, "target_state": "called_name", "priority": 10 }, { "trigger": { "button": { "name": "button1" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "voice": { "keyword": "握手" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "button": { "name": "button2" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "voice": { "keyword": "吃饭" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "button": { "name": "button3" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "voice": { "keyword": "喝水" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "sensor": { "name": "touch" } }, "target_state": "pet_head", "priority": 10 } ], "weight": 1, "defer_triggers": true, "ignore_triggers": false }, "drinking": { "name": "喂水", "mode": "interactive_mode", "sequence": [ { "video_id": "anim_19", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "rest_lying", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [], "weight": 1, "defer_triggers": false, "ignore_triggers": true }, "shake_hand": { "name": "握手", "mode": "interactive_mode", "sequence": [ { "video_id": "anim_17", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "rest_lying", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [], "weight": 1, "defer_triggers": false, "ignore_triggers": true }, "called_name": { "name": "被叫名字", "mode": "interactive_mode", "sequence": [ { "video_id": "anim_14", "loop_count": 1, "random_loop_range": null }, { "video_id": "anim_15", "loop_count": 1, "random_loop_range": null }, { "video_id": "anim_16", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "rest_lying", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [], "weight": 1, "defer_triggers": false, "ignore_triggers": true }, "rest_lying": { "name": "趴着休息", "mode": "free_mode", "sequence": [ { "video_id": "anim_1", "loop_count": 1, "random_loop_range": null }, { "video_id": "anim_2", "loop_count": null, "random_loop_range": [ 2, 15 ] }, { "video_id": "anim_3", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [ { "trigger": { "voice": { "keyword": "name" } }, "target_state": "called_name", "priority": 10 }, { "trigger": { "button": { "name": "button1" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "voice": { "keyword": "握手" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "button": { "name": "button2" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "voice": { "keyword": "吃饭" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "button": { "name": "button3" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "voice": { "keyword": "喝水" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "sensor": { "name": "touch" } }, "target_state": "pet_head", "priority": 10 } ], "weight": 1, "defer_triggers": true, "ignore_triggers": false }, "thirsty": { "name": "口渴", "mode": "free_mode", "sequence": [ { "video_id": "anim_11", "loop_count": 1, "random_loop_range": null }, { "video_id": "anim_12", "loop_count": null, "random_loop_range": [ 2, 30 ] }, { "video_id": "anim_13", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 } ], "transitions": [ { "trigger": { "voice": { "keyword": "name" } }, "target_state": "called_name", "priority": 10 }, { "trigger": { "button": { "name": "button1" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "voice": { "keyword": "握手" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "button": { "name": "button2" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "voice": { "keyword": "吃饭" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "button": { "name": "button3" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "voice": { "keyword": "喝水" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "sensor": { "name": "touch" } }, "target_state": "pet_head", "priority": 10 } ], "weight": 1, "defer_triggers": true, "ignore_triggers": false }, "feeding": { "name": "喂食", "mode": "interactive_mode", "sequence": [ { "video_id": "anim_18", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "rest_lying", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [], "weight": 1, "defer_triggers": false, "ignore_triggers": true }, "default": { "name": "默认状态", "mode": "free_mode", "sequence": [ { "video_id": "anim_0", "loop_count": null, "random_loop_range": [ 2, 15 ] } ], "next_state": null, "next_states": [ { "state": "rest_lying", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [ { "trigger": { "voice": { "keyword": "name" } }, "target_state": "called_name", "priority": 10 }, { "trigger": { "button": { "name": "button1" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "voice": { "keyword": "握手" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "button": { "name": "button2" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "voice": { "keyword": "吃饭" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "button": { "name": "button3" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "voice": { "keyword": "喝水" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "sensor": { "name": "touch" } }, "target_state": "pet_head", "priority": 10 } ], "weight": 1, "defer_triggers": true, "ignore_triggers": false }, "pet_head": { "name": "摸头", "mode": "interactive_mode", "sequence": [ { "video_id": "anim_20", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "rest_lying", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "lick_paw", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [], "weight": 1, "defer_triggers": false, "ignore_triggers": true }, "lick_paw": { "name": "狗舔爪子", "mode": "free_mode", "sequence": [ { "video_id": "anim_10", "loop_count": 1, "random_loop_range": null } ], "next_state": null, "next_states": [ { "state": "default", "weight": 1 }, { "state": "rest_lying", "weight": 1 }, { "state": "stand_active", "weight": 1 }, { "state": "sleep", "weight": 1 }, { "state": "thirsty", "weight": 1 } ], "transitions": [ { "trigger": { "voice": { "keyword": "name" } }, "target_state": "called_name", "priority": 10 }, { "trigger": { "button": { "name": "button1" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "voice": { "keyword": "握手" } }, "target_state": "shake_hand", "priority": 10 }, { "trigger": { "button": { "name": "button2" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "voice": { "keyword": "吃饭" } }, "target_state": "feeding", "priority": 10 }, { "trigger": { "button": { "name": "button3" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "voice": { "keyword": "喝水" } }, "target_state": "drinking", "priority": 10 }, { "trigger": { "sensor": { "name": "touch" } }, "target_state": "pet_head", "priority": 10 } ], "weight": 1, "defer_triggers": true, "ignore_triggers": false } } } }, "remote_control": { "enabled": true, "host": "0.0.0.0", "port": 5000 } }