在Android应用程序中使用SJcam sj4000或sj5000系列相机的问题

时间:2015-12-01 11:08:23

标签: java android udp rtsp android-camera-intent

我们正在构建一个需要从相机接收视频流的Android应用程序(点应用程序)(我们计划使用SJcam sj4000系列或sj5000系列)。

可以在Android设备上接收UDP / TCP视频流吗?这些相机是否有可用的API来帮助我们接收视频流?谢谢!

2 个答案:

答案 0 :(得分:1)

尝试反编译一些官方apk,我昨天带来了一个SJ5000 +(ambarella芯片)官方应用程序仍处于测试阶段所以...我反编译它并找到:

RTSP://192.168.42.1/live

还发现了一个有用的socket注释命令,也可以通过api获得!

enter image description here

例如,我重新启动套接字并找到一些感兴趣的代码:

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)。

我已经写过关于此主题的herehere,以防有人想阅读详细信息。