我们正在构建一个需要从相机接收视频流的Android应用程序(点应用程序)(我们计划使用SJcam sj4000系列或sj5000系列)。
可以在Android设备上接收UDP / TCP视频流吗?这些相机是否有可用的API来帮助我们接收视频流?谢谢!
答案 0 :(得分:1)
尝试反编译一些官方apk,我昨天带来了一个SJ5000 +(ambarella芯片)官方应用程序仍处于测试阶段所以...我反编译它并找到:
RTSP://192.168.42.1/live
还发现了一个有用的socket注释命令,也可以通过api获得!
例如,我重新启动套接字并找到一些感兴趣的代码:
CLI启动会话/请求令牌 发送:{“msg_id”:257,“令牌”:0}
接收:{“rval”:0,“msg_id”:257,“param”:1}
在这种情况下,Param包含用于调用的令牌
EG: 拍照 { “MSG_ID”:769, “令牌”:1}
Cam Off { “MSG_ID”:12, “令牌”:1, “参数”: “CAM_OFF”}
答案 1 :(得分:1)
我不能说SJ5000。
但是对于SJ4000 WiFi,从我的实验中,有两种无线从相机获取实时视频的方式:
通过相机的RTSP服务:
连接到相机的WiFi接入点,并在支持RTSP的流媒体库或媒体播放器(如VLC或MPlayer)中输入以下URL:
rtsp://192.168.1.254/sjcam.mov
这样,你应该得到一个没有音频的H.264编码30 FPS实时视频输入,分辨率为640x360(如果摄像机配置为捕获4:3视频,则为320x240分辨率)。
通过相机的取景器服务:
如果您没有H.264解码器或RTSP解复用器,则可以从photoshoot取景器源进行流式传输;通过连接到相机的WiFi接入点,并访问以下URL以更改为拍照模式:
http://192.168.1.254/?custom=1&cmd=3001&par=0
然后,您可以转到以下网址抓取取景器Feed:
http://192.168.1.254:8192/
这样,您就可以获得640x480分辨率的连续JPEG编码取景器视图(如果相机配置为拍摄16:9照片,则为640x360分辨率)。该流包含在HTTP multipart/x-mixed-replace
响应中。
当然,这些流并非远程高清。据我所知,您只能通过有线连接器从SJ4000 WiFi获得高清级别的实时视频:PCCamera模式下的USB(1280x720p,30 FPS)或HDMI(1920x1080i,60 Hz)。