对接亚马逊aws通过echo音箱监视摄像头

目前条件:

1、echo音箱

2、摄像头设备,可以对外输出rtsp视频流

目标:

1、通过音箱可以直接查看摄像头的视频流。

对接alexa的流程可以参考:https://github.com/alexa-samples/skill-sample-java-smarthome-switch/tree/master

  • 碰到问题:

1、rtsp需要端口在443,并且支持TLS1.2。

解决方案:

1、使用FFmpeg+mediamtx ,先走通流程。

步骤:

1、下载FFmpeg和mediamtx

2、使用ffmpeg产生视频流

ffmpeg -re -i test.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream

3、启动mediamtx

4、mediamtx配置证书,一开始使用的是自生成的证书。

参考链接:https://blog.yeahlowflicker.com/article/setting-up-a-rtsp-server

  • #####碰到问题:

1、alexa所有接口都已经正确响应,但是输入show me the door station(设备名称)的时候,给出的rtsp视频流链接是:rtsps://100.111.222.193:443/stream,但是音箱一直返回" I'm having trouble reaching the door station"

后续经过google和alexa 网站的技术支持,发现是以下原因:

1、证书不能是自己创建的,要用申请的。

2、不支持rtsps,只支持rtsp的

解决方法:

1、阿里云申请域名,然后申请了临时证书。

2、使用stunnel用于做tls代理。配置内容如下。(这个配置有点坑,下载最新版本,里面竟然直接说明TLS1.2不支持。。。然后我最后下载的是5.44版本)

cert = E:\download\123.pem

key = E:\download\123.key

sslVersion = all

socket = l:TCP_NODELAY=1

socket = r:TCP_NODELAY=1

output = E://stunnel.log

rtsp

accept = 443

connect = 8554

TIMEOUTclose = 0

最后我通过FFmpeg做rtsp视频的转发,完成设备视频流转成支持tls的视频流(尝试过改connect的方式,但是一直无法成功。不懂为什么)

ffmpeg -hwaccel -i rtsp://admin:123456@100.111.222.104:8554/ch01 -c copy -f rtsp rtsp://admin:admin@127.0.0.1:8554/stream

经过以上尝试之后音箱成功能够使用。

国内对接aws echo音箱的文章太少了。。都只能靠谷歌。

提醒:

1、从apkcombo.com下载下来的alexa应用,打开的时候可能会提示异常,需要把手机的语言切换成英文再打开就可以了。。

2、alexa 那边支持输入语音。如果是当前是中文的话,命令不能文字输入的切换到英文就可以。

3、如果rtsp视频源是局域网的话,也需要使用保证视频源和echo音箱是在同一个网络哦。

接下去计划:

1、走通音箱对接的全部流程,包括账户授权流程等。

相关推荐
风象南1 小时前
Token太贵?我用这个数据格式把上下文窗口扩大2倍
人工智能·后端
NAGNIP10 小时前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试
moshuying11 小时前
别让AI焦虑,偷走你本该有的底气
前端·人工智能
董董灿是个攻城狮12 小时前
零基础带你用 AI 搞定命令行
人工智能
喝拿铁写前端14 小时前
Dify 构建 FE 工作流:前端团队可复用 AI 工作流实战
前端·人工智能
阿里云大数据AI技术15 小时前
阿里云 EMR Serverless Spark + DataWorks 技术实践:引领企业 Data+AI 一体化转型
人工智能
billhan201615 小时前
MCP 深入理解:协议原理与自定义开发
人工智能
Jahzo15 小时前
openclaw桌面端体验--ClawX
人工智能·github
billhan201615 小时前
Agent 开发全流程:从概念到生产
人工智能