# stroage_server **Repository Path**: ihavec/stroage_server ## Basic Information - **Project Name**: stroage_server - **Description**: 一种视频存储平台 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-01-22 - **Last Updated**: 2023-01-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # stroage_server 接口URL #define AV_UPLOAD_URL "/download/setUp" #define TINY_LOGIN "/login" #define TINY_LOGOUT "/logout" #define TINY_USER_ALIVE "/useralive" #define AV_DOWNLOAD "/file/download" #define AV_PLAY "/file/avplay" #define AV_PLAY_SPEED_CTL "/file/speedctl" #define AV_PLAY_PAUSE "/file/play/pause" #define AV_PLAY_RESUME "/file/play/resume" #define AV_PLAY_STOP "/file/play/stop" #define AV_DL_RATE "/file/rate" #define AV_QUERY_IPCLIST "/query/ipclist" #define AV_QUERY_FLIELIST "/query/filelist" #define AV_DELETE_DEVICE "/delete/device" ------------------------------------------------------------------------ 一 用户登录管理 1.1 登录 #define TINY_LOGIN "/login" "{\"reqType\":\"POST\",\"userName\":\"admin\",\"userTextPWD\":\"111111\"}" reqType=POST userName=admin userTextPWD=96e79218965eb72c92a549dd5a330112 1.2 退出 #define TINY_LOGOUT "/logout" "{\"reqType\":\"POST\",\"userID\":\"%d\"}" 1.3 用户保活 #define TINY_USER_ALIVE "/useralive" "{\"reqType\":\"POST\",\"userID\":\"%d\"}" reqType=POST userID=1898657766 回复: 成功 [{ "result": "SUCCESS" }] 失败 [{ "result": "FAIL", "method": "DELETE", "data": [{ "reason": "没有此用户" }] }] ------------------------------------------------------------------------ 一 录像上传 注意:filesize为json格式时,应当为字符串格式,表示字节数,不接收数字变量 ----请求: POST /HISOMEAPI /download/setUp reqType=POST mode=PASSIVE SN=IPC0001 MAC=12:23:34:45:56:78 startTime=2020-05-21 12:00:00 endTime=2020-05-21 13:00:00 filesize=104857600 mode=PASSIVE SID=123 {"MAC":"12:23:34:45:56:78","SN":"IPC000001","endTime":"1970-01-01 22:06:49","reqType":"POST","startTime":"1970-01-01 22:06:39","mode":"PASSIVE","filesize":"10485760"} ----回应: [{ "method": "POST", "SID": "123", "SN": "IPC0001", "data": [{ "port": 17001, "offset": 0 }], "result": "SUCCESS" }] 二 下载和回放 当前下载和回放都按照时间方式,暂时没有文件方式,文件方式通过查询文件的时间来实现 2.1 下载 ----请求: POST /HISOMEAPI /file/download http/1.1 reqType=POST SID=123 SN=IPC0001 opt_type=download opt_mode=time startTime=2020-05-11 11:06:30 endTime=2020-05-11 15:07:40 mode=PASSIVE userID=1906640610 ----回应: [{ "method": "POST", "SID": "1595229351", "SN": "DS-2DE4223IW-D-GLT20200529CCCH244216917W", "data": [{ "port": 19001, "sessionid": 1899094960 }], "result": "SUCCESS" }] 2.2 回放 ----请求: POST /HISOMEAPI /file/avplay http/1.1 reqType=POST SID=123 SN=DS-2DE4223IW-D_GLT20200312CCCH243488030W opt_type=avplay opt_mode=time startTime=2020-07-08 02:00:00 endTime=2020-07-08 15:00:00 mode=PASSIVE userID=1906640610 ----回应: [{ "method": "POST", "SID": "1595229351", "SN": "DS-2DE4223IW-D-GLT20200529CCCH244216917W", "data": [{ "port": 19001, "sessionid": 1899094960 }], "result": "SUCCESS" }] 2.3 三 设备列表获取 ----请求: QUERY /HISOMEAPI /query/ipclist http/1.1 reqType=QUERY opt_type=ipclist SID=12334 userID=20192020 GTS_SN=sfsaf //非必须,指定采集器时需赋值 ----回应: [{ "method": "QUERY", "SID": "12334", "data": [{ "sn": "IPC0001", "starttime": "2020-05-21 12:00:00", "endtime": "2020-05-21 15:08:00" }, { "sn": "IPC0005", "starttime": "1970-01-01 08:00:00", "endtime": "1970-01-01 08:00:00" }], "result": "SUCCESS" }] 2.4 播放和下载的控制 "{\"reqType\":\"POST\",\"userID\":\"%d\",\"sessionid\":\"%d\","\ "\"opttype\":\"%d\",\"speed\":\"%f\"}" #define AV_PLAY_SPEED_CTL "/file/speedctl" 速度控制,如0.5,1.0,2.0 #define AV_PLAY_PAUSE "/file/play/pause" 暂停播放 #define AV_PLAY_RESUME "/file/play/resume" 回复播放 #define AV_PLAY_STOP "/file/play/stop" 停止播放 #define AV_DL_RATE "/file/rate" 获取下载或者回放进度 reqType=POST userID=1202204258 sessionid=1202244332 opttype=6 speed=1.0 opttype: HTTP_REQ_SPEED_CTRL =5, HTTP_REQ_AVPLAY_PAUSE =6, HTTP_REQ_AVPLAY_RESUME =7, HTTP_REQ_AVPLAY_STOP =8, HTTP_REQ_AV_DL_RATE =9, 当获取下载进度时。返回下载或者播放的百分比 [{ "method": "POST", "data": [{ "rate": 2, "sessionid": 1899094960 }], "result": "SUCCESS" }] 四 文件列表获取 ----请求: QUERY /HISOMEAPI /query/filelist http/1.1 reqType=QUERY opt_type=filelist SID=12334 SN=IPC0001 startTime=2020-05-20 11:06:30 endTime=2020-05-30 15:07:40 userID= ----回应: [{ "method": "QUERY", "SID": "12334", "data": [{ "filename": "1590033600.mp4", "starttime": "2020-05-21 12:00:00", "endtime": "2020-05-21 13:00:00" }, { "filename": "1590040800.mp4", "starttime": "2020-05-21 14:00:00", "endtime": "2020-05-21 15:00:00" }, { "filename": "1590044400.mp4", "starttime": "2020-05-21 15:00:00", "endtime": "2020-05-21 15:08:00" }], "result": "SUCCESS", "SN": "IPC0001" }] 五 设备删除 ----请求: DELETE /HISOMEAPI /delete/device http/1.1 reqType=DELETE SID=12334 SN=DS-2DE4220IW-D-GLT20171201CCCH144879493W startTime=2020-07-28 18:00:02 endTime=2020-07-28 18:08:02 del_type=all/segment userID=20192020 type为segment时指定录像段 startTime=2020-07-28 18:00:02 endTime=2020-07-28 18:08:02 ----回应: 六 区域管理和相机管理 enum req_type{ // avplay HTTP_REQ_SPEED_CTRL =5, HTTP_REQ_AVPLAY_PAUSE =6, HTTP_REQ_AVPLAY_RESUME =7, HTTP_REQ_AVPLAY_STOP =8, HTTP_REQ_AV_DL_RATE =9, // region mgnt HTTP_REQ_REGION_NEW = 20, HTTP_REQ_REGION_DELETE =21, HTTP_REQ_REGION_MODIFY = 22, HTTP_REQ_REGION_QUERY = 23, HTTP_REQ_REGION_QUERY_ALL = 24, }; ----请求: POST /HISOMEAPI /regionmgnt http/1.1 (1)增加一个区域 isnecessary reqType=POST opttype=20 SID=12334 parent_indexcode=-1 region_name=主控中心 GTS_SN=绑定的采集器序列号 //非必须,可以后续修改 ----回应: [{ "method": "POST", "SID": "12334", "data": [{ "name": "区域名称", "indexcode": "12321321321", }], "result": "SUCCESS/FIALED", }] (2)删除一个区域 reqType=POST SID=12334 opttype=21 indexcode=1111 [{ "method": "POST", "result": "SUCCESS/FIALED", }] (3)修改一个区域的名称或者绑定的采集器的序列号 reqType=POST SID=12334 opttype=22 indexcode=11111 region_name=区域名称 //必须指定 GTS_SN=绑定的采集器序列号 //必须指定 (4)查询一个区域对应的所有子区域 reqType=POST SID=12334 opttype=23 parent_indexcode=-1 回应: [{ "method": "POST", "data": [{ "region_name": "中国共产党1", "indexcode": "1B717531-1F7F-4610-8EFE-1BD6C35AF830", "GTS_SN": "" }, { "region_name": "root1", "indexcode": "328BD67C-6A2A-4200-8029-82850FD48D20", "GTS_SN": "" }, { "region_name": "root2", "indexcode": "A5652133-D28F-4730-8A06-D65B1D801F60", "GTS_SN": "" }], "result": "SUCCESS" }] (5) 查询所有区域 POST /HISOMEAPI /region_query_all http/1.1 reqType=POST SID=12334 opttype=24 parent_indexcode=-1 [{ "method": "POST", "data": [{ "region_name": "中国共产党1", "indexcode": "1B717531-1F7F-4610-8EFE-1BD6C35AF830", "GTS_SN": "", "childlist": [] }, { "region_name": "root1", "indexcode": "328BD67C-6A2A-4200-8029-82850FD48D20", "GTS_SN": "", "childlist": [] }, { "region_name": "root2", "indexcode": "A5652133-D28F-4730-8A06-D65B1D801F60", "GTS_SN": "", "childlist": [] }, { "region_name": "root3", "indexcode": "E434D703-27A3-4420-86F2-9EC50E08B830", "GTS_SN": "", "childlist": [] }, { "region_name": "level1_001", "indexcode": "375B4585-0356-4000-8C0A-62EB07D90D00", "GTS_SN": "", "childlist": [{ "region_name": "level2_001", "indexcode": "FE9C81BE-FAB3-4730-8DE5-E1A2C8B74860", "GTS_SN": "", "childlist": [{ "region_name": "level3_001", "indexcode": "864E96D7-A56B-4D20-83DF-DD14311A7140", "GTS_SN": "", "childlist": [] }, { "region_name": "level3_002", "indexcode": "09548E42-59DB-4520-86A3-019C8A6CE160", "GTS_SN": "", "childlist": [] }, { "region_name": "level3_003", "indexcode": "AE9FBE7A-32EA-4F10-8556-1BA1A0E86E50", "GTS_SN": "", "childlist": [] }] }, { "region_name": "level2_002", "indexcode": "8A38680A-5980-4800-8E21-D41A46E45410", "GTS_SN": "", "childlist": [] }, { "region_name": "level2_003", "indexcode": "FC17F09A-B413-4F10-8485-FA3DC2185130", "GTS_SN": "", "childlist": [] }, { "region_name": "level2_004", "indexcode": "A555D4B7-9CAB-4920-8DA2-A643FE8C3960", "GTS_SN": "", "childlist": [] }, { "region_name": "level2_005", "indexcode": "87E8861D-713B-4830-8B59-45B54F74BA40", "GTS_SN": "", "childlist": [] }] }, { "region_name": "level1_002", "indexcode": "65EAFF8A-269D-4000-82EF-723EA68A5210", "GTS_SN": "", "childlist": [] }, { "region_name": "level1_003", "indexcode": "8B5ECE70-A762-4A10-81D7-AF35C1531A50", "GTS_SN": "", "childlist": [] }], "result": "SUCCESS" }]