如何从Android应用获取EZVIZ TY1及小米安防摄像头的流媒体URL?
获取EZVIZ TY1 1080p 360°摄像头与小米米家智能摄像机360°1080P的流媒体URL用于网页播放
EZVIZ TY1 1080p 360°摄像头
官方API方案(生产环境推荐)
萤石开放平台提供正规的流媒体地址获取接口,步骤如下:
- 注册萤石开发者账号,创建应用并完成设备绑定。
- 调用
getLiveUrl接口,传入设备的deviceSerial和channelNo参数,同时携带有效的访问token鉴权。 - 接口会返回RTMP、HTTP-FLV或HLS格式的流地址,这些格式均可通过主流网页播放器(如video.js)实现播放。
抓包临时获取(仅用于测试)
如果只是临时测试,可通过抓包APP请求获取短期有效地址:
- 使用Charles或Fiddler代理Android设备的网络流量,过滤包含
live或stream关键词的请求。 - 找到返回流媒体URL的HTTPS请求,地址通常带有临时签名参数,有效期从数分钟到数小时不等。
- 将获取到的URL嵌入网页
<video>标签或播放器,注意HLS格式需指定type="application/x-mpegURL"。
小米米家智能摄像机360°1080P
官方API方案(生产环境推荐)
通过小米开放平台的米家设备API获取流地址:
- 申请小米开发者权限,完成账号与设备的绑定。
- 调用实时流获取接口,通过米家账号token完成鉴权,可获取RTSP或HLS格式的流地址。
- 部分型号需区分局域网流与云端中转流,按需选择对应的地址类型。
局域网RTSP流(部分型号支持)
若设备处于同一局域网,可开启本地RTSP功能:
- 在米家APP中进入设备设置,找到「高级设置」-「开启RTSP」选项。
- 设置流的用户名和密码,获取的RTSP地址格式一般为:
rtsp://[用户名]:[密码]@[设备IP]:554/stream1。 - 网页原生不支持RTSP播放,需通过ffmpeg将其转码为HTTP-FLV或HLS格式,或使用支持webRTC的第三方播放器。
抓包获取云端临时流
抓包米家APP的网络请求,找到获取实时流的接口,返回的地址多为带临时签名的HLS或FLV格式,可直接用于网页播放,但有效期较短,需定期重新获取。
通用注意事项
- 抓包获取的URL仅为临时地址,生产环境必须使用官方API以保证地址的稳定性和合法性。
- 若流地址存在跨域限制,需搭建代理服务器转发流媒体请求,避免网页播放时出现跨域错误。
- 不同流媒体格式需搭配对应的播放器:HLS使用
video.js+hls.js插件,FLV使用flv.js,RTSP需转码或使用webRTC播放器。
内容的提问来源于stack exchange,提问作者Mahmoud Essam
相关产品推荐
相关产品推荐

