查看: 4112|回复: 18

[经验分享]

分享一个利用vlc实现Android和ios弹出摄像头全屏画面的方法

[复制链接]

mars.z

mars.z

当前离线

积分6032

金钱5457

威望0

贡献0

HASS币10

14

主题561

回帖6032

积分

论坛元老

积分6032

金钱5457

HASS币10

发消息

电梯直达

楼主

发表于 2023-12-7 12:56:28

|

只看该作者

|倒序浏览

|阅读模式

本帖最后由 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+的设备,不太清楚怎么实现,还需要自行探索一下。

评分

参与人数 2金钱 +20

收起

理由

relliky

+ 10

高手,这是高手!

隔壁的王叔叔

+ 10

墙都不扶,就服楼主!

查看全部评分

收藏12

回复

使用道具

举报

Mr.G

Mr.G

当前离线

积分7056

金钱6568

威望0

贡献0

HASS币40

22

主题456

回帖7056

积分

元老级技术达人

略懂一些皮毛而已!

积分7056

金钱6568

HASS币40

发消息

沙发

发表于 2023-12-7 13:34:34

|

只看该作者

大佬,安卓电视能否弹窗显示监控画面,比如电视处于打开状态,可否右上角弹窗显示rtsp监控画面, 必须全屏吗?论坛里有大佬的方法貌似不行,右上角弹出的画面都是空白的https://bbs.hassbian.com/thread-19863-1-1.html

回复

使用道具

举报

Ari

Ari

当前离线

积分2787

金钱2130

威望0

贡献0

HASS币0

0

主题657

回帖2787

积分

金牌会员

金牌会员, 积分 2787, 距离下一级还需 213 积分

金牌会员, 积分 2787, 距离下一级还需 213 积分

积分2787

金钱2130

HASS币0

发消息

板凳

发表于 2023-12-7 13:52:46

|

只看该作者

感谢分享,ios能设置弹出吗

回复

使用道具

举报

mars.z

mars.z

当前离线

积分6032

金钱5457

威望0

贡献0

HASS币10

14

主题561

回帖6032

积分

论坛元老

积分6032

金钱5457

HASS币10

发消息

地板

楼主|

发表于 2023-12-7 16:09:36

|

只看该作者

郭子漳 发表于 2023-12-7 13:34

大佬,安卓电视能否弹窗显示监控画面,比如电视处于打开状态,可否右上角弹窗显示rtsp监控画面, 必须全屏 ...

用vlc的这个方式,暂时只找到弹出全屏的方法,你发这个用pipup,我没试过,之前大概了解好像只能弹出一个快照吧,也能弹出视频流的吗?

回复

使用道具

举报

mars.z

mars.z

当前离线

积分6032

金钱5457

威望0

贡献0

HASS币10

14

主题561

回帖6032

积分

论坛元老

积分6032

金钱5457

HASS币10

发消息

5#

楼主|

发表于 2023-12-7 16:12:34

|

只看该作者

Ari 发表于 2023-12-7 13:52

感谢分享,ios能设置弹出吗

看ios版本了,ios13以下的,只能越狱后,和ha联动实现弹出摄像头。ios13以上可以自己研究下快捷指令。用快捷指令里面的 url 是可以调用vlc的url scheme弹出摄像头全屏画面的,但是如何利用快捷指令里面的自动化联动ha,没有ios13+的设备,不是很清楚,需要自己研究

回复

使用道具

举报

Mr.G

Mr.G

当前离线

积分7056

金钱6568

威望0

贡献0

HASS币40

22

主题456

回帖7056

积分

元老级技术达人

略懂一些皮毛而已!

积分7056

金钱6568

HASS币40

发消息

6#

发表于 2023-12-7 16:13:14

|

只看该作者

mars.z 发表于 2023-12-7 16:09

用vlc的这个方式,暂时只找到弹出全屏的方法,你发这个用pipup,我没试过,之前大概了解好像只能弹出一个 ...

他的帖子里写的可以弹出视频流,但是我没成功,画面是空白的

回复

使用道具

举报

中国兴隆

中国兴隆

当前离线

积分214

金钱193

威望0

贡献0

HASS币0

0

主题21

回帖214

积分

中级会员

中级会员, 积分 214, 距离下一级还需 286 积分

中级会员, 积分 214, 距离下一级还需 286 积分

积分214

金钱193

HASS币0

发消息

7#

发表于 2023-12-7 19:56:48

来自手机

|

只看该作者

大佬能写详细一点吗?

通过Android Debug Bridge集成将设备接入ha

这个怎么操作的?

回复

使用道具

举报

mars.z

mars.z

当前离线

积分6032

金钱5457

威望0

贡献0

HASS币10

14

主题561

回帖6032

积分

论坛元老

积分6032

金钱5457

HASS币10

发消息

8#

楼主|

发表于 2023-12-7 20:21:58

|

只看该作者

中国兴隆 发表于 2023-12-7 19:56

大佬能写详细一点吗?

通过Android Debug Bridge集成将设备接入ha

这个怎么操作的? ...

配置——设备与服务——添加集成——Android Debug Bridge

回复

使用道具

举报

oulianxian

oulianxian

当前离线

积分2128

金钱2050

威望0

贡献0

HASS币0

0

主题78

回帖2128

积分

金牌会员

金牌会员, 积分 2128, 距离下一级还需 872 积分

金牌会员, 积分 2128, 距离下一级还需 872 积分

积分2128

金钱2050

HASS币0

发消息

9#

发表于 2023-12-7 22:51:57

|

只看该作者

感谢,可以了,不过如何让他同时亮屏呢,这样锁屏状态下也可以唤醒,我用了一直不行

回复

使用道具

举报

taioner

taioner

当前在线

积分1425

金钱1272

威望0

贡献0

HASS币0

0

主题153

回帖1425

积分

金牌会员

金牌会员, 积分 1425, 距离下一级还需 1575 积分

金牌会员, 积分 1425, 距离下一级还需 1575 积分

积分1425

金钱1272

HASS币0

发消息

10#

发表于 2023-12-7 23:09:14

|

只看该作者

及时雨啊,最近正在研究在ipad上打开摄像头,试试大佬的

回复

使用道具

举报