拆分redis中device与channel的存储方式
支持分页 接口直接返回播放地址
This commit is contained in:
@@ -2,6 +2,8 @@ package com.genersoft.iot.vmp.vmanager.device;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.genersoft.iot.vmp.common.PageResult;
|
||||
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -53,14 +55,30 @@ public class DeviceController {
|
||||
}
|
||||
|
||||
@GetMapping("/devices")
|
||||
public ResponseEntity<List<Device>> devices(){
|
||||
public PageResult<Device> devices(int page, int count){
|
||||
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("查询所有视频设备API调用");
|
||||
}
|
||||
|
||||
List<Device> deviceList = storager.queryVideoDeviceList(null);
|
||||
return new ResponseEntity<>(deviceList,HttpStatus.OK);
|
||||
return storager.queryVideoDeviceList(null, page, count);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询通道数
|
||||
* @param deviceId 设备id
|
||||
* @param page 当前页
|
||||
* @param count 每页条数
|
||||
* @return 通道列表
|
||||
*/
|
||||
@GetMapping("devices/{deviceId}/channels")
|
||||
public ResponseEntity<PageResult> channels(@PathVariable String deviceId, int page, int count){
|
||||
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("查询所有视频设备API调用");
|
||||
}
|
||||
PageResult pageResult = storager.queryChannelsByDeviceId(deviceId, page, count);
|
||||
return new ResponseEntity<>(pageResult,HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/devices/{deviceId}/sync")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.genersoft.iot.vmp.vmanager.play;
|
||||
|
||||
import com.genersoft.iot.vmp.common.StreamInfo;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -34,16 +35,16 @@ public class PlayController {
|
||||
public ResponseEntity<String> play(@PathVariable String deviceId,@PathVariable String channelId){
|
||||
|
||||
Device device = storager.queryVideoDevice(deviceId);
|
||||
String ssrc = cmder.playStreamCmd(device, channelId);
|
||||
StreamInfo streamInfo = cmder.playStreamCmd(device, channelId);
|
||||
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug(String.format("设备预览 API调用,deviceId:%s ,channelId:%s",deviceId, channelId));
|
||||
logger.debug("设备预览 API调用,ssrc:"+ssrc+",ZLMedia streamId:"+Integer.toHexString(Integer.parseInt(ssrc)));
|
||||
logger.debug("设备预览 API调用,ssrc:"+streamInfo.getSsrc()+",ZLMedia streamId:"+Integer.toHexString(Integer.parseInt(streamInfo.getSsrc())));
|
||||
}
|
||||
|
||||
if(ssrc!=null) {
|
||||
if(streamInfo!=null) {
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("ssrc", ssrc);
|
||||
json.put("ssrc", streamInfo.getSsrc());
|
||||
return new ResponseEntity<String>(json.toString(),HttpStatus.OK);
|
||||
} else {
|
||||
logger.warn("设备预览API调用失败!");
|
||||
|
||||
Reference in New Issue
Block a user