配置协议文档 - xuebaodev/wawaji GitHub Wiki
以下消息均是UTF8格式
来自娃娃机的配置端口心跳消息格式 {"userID":"xuebao","mac":"32CBB519760D","cmd":"heartbeat","name":"可爱小白兔"}
userID:这台娃娃机属于哪个老板。当您有志于整合多家娃娃机的管理于您自己的平台时,您可以用userID来明确率属于某个老板的娃娃机。当然这部分功能您得自己去做。我们只是提供一个可行性参数。 mac:安卓板以太网口的mac name:用于区分这是哪台娃娃机。推荐放哪种娃娃,就配置该台娃娃机名称对应。比如 放皮卡丘 就命名皮卡丘01 。灰太狼 就命名灰太狼05.这样方便快速定位到该机器
局域网:
1.获取设备列表。
发送:{"cmd":"getlist"} 每台机器都各自返回{"mac":"xxxxxx","name":"可爱小白兔"}
2.获取某台机器的当前配置
发送:{"cmd":"getconfig"}--------------注意,请往该机对应的socket发送。
返回:
{
"cmd":"configreply",
"configServer":"192.168.0.116",
"configPort":7776,
"operateServer":"192.168.0.116",
"operatePort":7770,
"fps":20,
"width":640,
"height":480,
"mac":"32CBB519760D",
"encodeHW":false,
"wifiPassword":"",
"wifiSSID":"",
"autoResolutionIndex":1,
"ip":"192.168.0.123",
"userID":"xuebao",
"record":false,
"appVersion":2,
"encodeNum":2,
"name":"可爱小白兔",
"dhcp":true,
"encodeQuality":1,
"pushUrlFront":"rtmp://videoServerNameOrIP:videoServerPort/catalog/pushID",
"pushUrlBack":"rtmp://videoServerNameOrIP:videoServerPort/catalog/pushID",
"videoPushState_1":true,
"videoPushState_2":true,
"enableConfigServer":true,//20180226 add配置服务器现在变成可选项
"swtichToOne":true, //20180313 同时只推一路模式。可以通过发送0X90要求安卓版切换到另一路的视频数据。推流地址不变
"containAudio":true, //20180313 推流的视频中是否包含声音数据
"record":true, //20180313 是否开启录像功能。 开启时,开局会自动录像并存储到插入的U盘,游戏结束则停止录像。
"encoderKpbs":500,//20180426 增加了码率调整参数。之前是里面函数自动调整。现在开放接口让用户调整
}
3.应用配置到该台娃娃机
也就是2步骤cmd中的值改成applyconfig
"cmd":"applyconfig"进去
即
{
"cmd":"applyconfig",
"wifiSSID":"",//自动连接的wifiID。仅插入U盘时配置wifi用。实际并不推荐使用wifi推流。因为wifi带宽有限。而且不稳定
"wifiPassword":"",//wifi密码
"operateServer":"192.168.0.116",//应用服务器IP
"operatePort":7770,//应用服务器端口
"configServer":"192.168.0.116",//配置服务器地址
"configPort":7776, //配置服务器的端口
"fps":20,//推流的帧率
"autoResolutionIndex":1,//预设视频分辨率的控件索引
"width":640,//推流分辨率--宽度。当有autoResolutionIndex时,以此autoResolutionIndex的值为准。
"height":480,//推流分辨率--高度。高度和宽度仅当autoResolutionIndex = -1 ,即不使用预设分辨率时,才会起作用。我们并不推荐您设置自定义的分辨率。因为摄像头不支持时,参数无法起作用。
"mac":"32CBB519760D",//该台机器的MAC
"name":"可爱小白兔",
"encodeHW":false,//是否硬编码
"ip":"192.168.0.123",//本机的局域网IP
"userID":"xuebao",//这台娃娃机所属的用户。
"record":false,//视频录像
"appVersion":2,//当前应用的版本。。当你应用配置时,客户端并不会应用此值
"encodeNum":2,//编码速度。
"dhcp":true,//推荐总是使用dhcp。因为我们尚不支持手动设置IP。而且即使我们支持,手动设置IP也容易引起冲突。你应该使用娃娃机名称来区分娃娃机而不是记住IP地址的方式
"encodeQuality":1,//编码质量 * 1: baseline profile* 2: main profile * 3: high profile
"pushUrlFront":"rtmp://videoServerNameOrIP:videoServerPort/catalog/pushID",//前摄像头的推流地址
"pushUrlBack":"rtmp://videoServerNameOrIP:videoServerPort/catalog/pushID"//后置摄像头的推流地址
"videoPushState_1":true,//前置推流地址是否推流成功 ---add at 20180104
"videoPushState_2":true,//后置推流地址是否推流成功 ---add at 20180104
"enableConfigServer":true,//20180226 add配置服务器现在变成可选项
"swtichToOne":true, //20180313 同时只推一路模式。可以通过发送0X90要求安卓版切换到另一路的视频数据。推流地址不变
"containAudio":true, //20180313 推流的视频中是否包含声音数据
"record":true, //20180313 是否开启录像功能。 开启时,开局会自动录像并存储到插入的U盘,游戏结束则停止录像。
"encoderKpbs":500,//20180426 增加了码率调整参数。之前是里面函数自动调整。现在开放接口让用户调整
}
公网:
1.获取设备列表
发送:{"cmd":"getlist", "userID":"XXX"} //标识你要获取的是哪个设备的列表 simpleServer是忽略这个参数,默认返回所有连接到配置服务器的娃娃机
返回[{"mac":"xxxxxx","name":"可爱小白兔"},{"mac":"xxxxxx1","name":"白兔"},{"mac":"xxxxxx2","name":"可爱"}] 类似这样的一个列表.如果是空则返回[]
2.获取某台机器的当前配置
{"cmd":"getconfig", "mac":"XXX"} XXX为要获取的娃娃机mac