本帖最后由 mars.z 于 2023-12-8 12:05 编辑
安卓方法: (参考于github上面的一个分享https://gist.github.com/mcfrojd/9e6875e1db5c089b1e3ddeb7dba0f304)
一、确认设备可以使用adb命令
二、在设备上安装vlc,官方下载地址https://get.videolan.org/vlc-android/last/
三、通过Android Debug Bridge集成将设备接入ha
调用的命令
am start -a android.intent.action.VIEW -d
rtsp://替换成自己的地址 -n org.videolan.vlc/.gui.video.VideoPlayerActivity
通过调用这个命令,设备上会直接弹出摄像头全屏画面。
如果需要通过ha来关闭设备上的摄像头画面,可以使用以下的adb命令来关闭vlc app
am force-stop org.videolan.vlc
ios的方法: (因为我的ipad mini2 ios最终版本比较老12.5.7,只能安装2.2.2版本的快捷指令,这个版本的快捷指令不支持自动化,只能越狱实现,ios13+的设备可以参考,思路差不多,可以自由发挥一下)
一、App Store中搜索下载VLC
二、利用VLC的url scheme弹出摄像头画面
由于我的ipad不支持快捷指令自动化,只能通过越狱的方式了。越狱后ipad开启ssh,利用ha中的Shell Command集成实现(因为是利用ssh,所以需要提前在homeassistant中生成好ssh公钥,然后添加到ipad里的authorized_keys文件中,这样每次通过homeassistant执行ssh就可以实现免密码,ipad越狱后一般的root默认密码为"alpine")
相关命令,是利用uiopen这个命令调用vlc的url scheme rtsp://
shell_command:
ipad_luanch_camera: ssh root@改成ipad的ip "uiopen rtsp://你的流地址"
通过这个集成,会在ha中产生一个服务shell_command.ipad_luanch_camera,在ha中直接调用这个服务,ipad中就会弹出摄像头的画面。
额外分享一下我使用的一个越狱后的插件activator,感觉挺好用,论坛里之前也有人分享过ipad做中控展示的“人来亮屏”自动解锁
以下是调用activator命令实现的一些ipad上的操作,可以作为一些参考
shell_command:
ipad_luanch_homeassistant_app: ssh root@改成ipad的ip "uiopen homeassistant://" #打开homeassistant app
ipad_unlockscreen: ssh root@改成ipad的ip "activator send libactivator.lockscreen.dismiss" #解锁屏幕
ipad_lockscreen: ssh root@改成ipad的ip "activator send libactivator.lockscreen.show" #锁定屏幕
ipad_previous_app: ssh root@改成ipad的ip "activator send libactivator.system.previous-app" #返回上一个app
ipad_siri: ssh root@改成ipad的ip "activator send libactivator.system.virtual-assistant" #唤醒siri
ipad_homepage: ssh root@改成ipad的ip "activator send libactivator.system.first-springboard-page" #返回主页
ipad_ringtone_doorbell: ssh root@改成ipad的ip "activator send libactivator.ringtone.system:Doorbell" #播放铃声Doorbell
ipad_system_back: ssh root@改成ipad的ip "activator send libactivator.system.back" #执行一次返回键
ipad_sleep: ssh root@改成ipad的ip "activator send libactivator.system.sleepbutton" #锁屏后息屏
ipad_volume_up: ssh root@改成ipad的ip "activator send libactivator.audio.increase-volume" #音量增加
ipad_volume_down: ssh root@改成ipad的ip "activator send libactivator.audio.decrease-volume" #音量减小
ipad_kill_vlc: ssh root@改成ipad的ip "killall -9 'VLC for iOS'" #关闭VLC
当然如果你的设备是ios13+,同样的先从App Store中安装vlc,然后可以使用快捷指令中的 “打开URL”弹出摄像头,url的地址同样的填写rtsp://你的流地址。至于通过ha调用这个快捷指令,因为我没有ios13+的设备,不太清楚怎么实现,还需要自行探索一下。
|