Drift运动相机获取视频流开发教程
- 简介
Drift动动相机支持TCP, RTSP以及RTMP传输协议提供视频流。
其中TCP及RTSP协议,是相机做流服务器端,手机APP端采用拉流的方式获取视频流。
RTMP协议则是相机主动把视频流推送到指到的RTMP服务器。
- 如何设置WiFi信息
Drift运动相机支持两种方式使用WIFI, 一种是相机本身充当AP热点,手机等无线终端设备连接相机的热点来与相机进行无线通讯,另一种方式是相机可以工作在station模式连接外部的无线路由器或4G个人热点组成一个局域网的方式来进行无线通讯,获取视频流。
2.1 相机工作为AP模式
在相机已开机和未开始拍摄时, 短按一次WiFi按键可开启或关闭WiFi。WiFi开启成功后, 手机等终端设备可以搜索到“X1-#####”或”GHOST 4K-#####”这样格式的SSID。
- 针对风云客X1,SSID默认为”X1-#####”, 默认初始密码为”foreamx1”.
- 针对GHOST 4K,SSID默认为“GHOST 4K-####”, 默认密码为”1234567890”;
- 针对GHOST X,SSID默认为”GHOST X-#####”,默认密码为”1234567890”
AP开启成功后,相机的默认IP地址为 “192.168.42.1”
2.2 相机工作为STA模式
相机缺省情况下开启WiFi,默认为AP模式,如果需要相机工作在station模式连接外部的无线路由器(GHOST 4K可支持2.4G,5.8G双模式),可以采用APP蓝牙设置,或脚本设置的方式来指定路由器的信息。
2.2.1 使用蓝牙命令来设置路由器信息
参考[Drift 相机API 接口全集]”以及APP开发文档
2.2.3 使用脚本文件方式来设置路由器信息为例:
- 在SD卡的根目录创建 “fmcam.conf”命名的文本文件,文件内容如下:
其中 “router_ssid”及“router_password”为外部路由器的ssid及password.
“static_ip”设置为相机的静态IP地址,
“static_router”为网关地址,
“static_netmask”为网络的子网掩码。
也可以不指定“static_ip”,“static_router”及“static_netmask”, 则动态为相机分配IP地址。
- 相机开机时,会自动开启WIFI并连接到指定的路由器
- 如何获取实时视频流
3.1 TCP协议
3.1.1 配置
缺省情况下,Drift相机的视频流的默认传输协议为TCP方式, 即相机作为了流服务器提供H264格式的RAW视频数据,客户端采用TCP协议获取一帧一帧的H264视频帧,该种协议只支持获取视频流,没有声音。
3.1.2 获取TCP视频流:
PC安装VLC播放器, 在菜单“媒体/打开网络串流”中输入“tcp://192.168.42.1:8001”,即可获得TCP协议的视频流, 其中“192.168.4.1”为相机的IP地址。
或者使用ffplay播放器:
ffplay -fflags nobuffer -analyzeduration 1000 tcp://192.168.42.1:8001
3.2 RTSP视频流
3.2.1 配置
Drift相机也可以提供标准的RTSP协议的视频流方式,针对X1要想相机提供RTSP视频流, 需要创建“fmcam.conf”并增加如下一行配置即可:
而GHOST X及GHOST 4K默认已经启动了rtsp服务器。
3.2.2 获取RTSP视频流
PC安装VLC播放器, 在菜单“媒体/打开网络串流”中输入“rtsp://192.168.4.1/AmbaTestStream”,即可获得X1相机的RTSP协议的视频流, 其中“192.168.4.1”为相机的IP地址。
如果要获得GHOST X及GHOST 4K的RTSP协议的视频流,则输入“rtsp://192.168.4.1/live”
或者使用ffplay播放器:
ffplay -fflags nobuffer rtsp://192.168.42.1/live
3.2.3 使用staion方式获取RTSP视频流
配置如下脚本文件“fmcam.conf”:
输入“rtsp://192.168.4.148/live”,即可获得RTSP协议的视频流, 其中“192.168.4.148”为相机的IP地址.
3.3 RTMP视频流
3.3.1 如何通过脚本文件实现相机直播
如果要使用相机直播,首先要生成一个有效的直播地址,把这个地址写到脚本文件“fmcam.conf“中,如:
- router_ssid=foream_test
- router_password=foream.test
- stream_resolution=1080P
- stream_bitrate=4000000
- rtmp_url=rtmp://115.231.182.113:1935/livestream/hy9ekxmn
以上的配置直播的视频流为1080P,4Mbps。
- 如何设置视频流参数
缺省情况下,相机视频流的分辨率为WVGA即(848*240),帧率为30fps, 码率为“1.5Mbps”,手机APP可以通过WiFi,采用tcp协议来设置相机的参数,请参考[Drift 相机API 接口全集]文档。