|  |  | 
 |  |  | package com.genersoft.iot.vmp.gb28181.transmit.cmd;
 | 
 |  |  | 
 | 
 |  |  | import com.genersoft.iot.vmp.common.StreamInfo;
 | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.Device;
 | 
 |  |  | import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
 | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
 | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 | 
 |  |  | import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 | 
 |  |  | 
 | 
 |  |  | /**    
 | 
 |  |  |  * @Description:设备能力接口,用于定义设备的控制、查询能力    | 
 |  |  |  * @description:设备能力接口,用于定义设备的控制、查询能力    | 
 |  |  |  * @author: swwheihei
 | 
 |  |  |  * @date:   2020年5月3日 下午9:16:34     
 | 
 |  |  |  */
 | 
 |  |  | 
 |  |  |    boolean frontEndCmd(Device device, String channelId, int cmdCode, int parameter1, int parameter2, int combineCode2);
 | 
 |  |  |    
 | 
 |  |  |    /**
 | 
 |  |  |     * 前端控制指令(用于转发上级指令)
 | 
 |  |  |     * @param device      控制设备
 | 
 |  |  |     * @param channelId      预览通道
 | 
 |  |  |     * @param cmdString      前端控制指令串
 | 
 |  |  |     */
 | 
 |  |  |    boolean fronEndCmd(Device device, String channelId, String cmdString);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 请求预览视频流
 | 
 |  |  |     *  | 
 |  |  |     * @param device  视频设备
 | 
 |  |  |     * @param channelId  预览通道
 | 
 |  |  |     */
 | 
 |  |  |    void playStreamCmd(Device device, String channelId, ZLMHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent);
 | 
 |  |  |    void playStreamCmd(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo, Device device, String channelId, ZLMHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent);
 | 
 |  |  |    
 | 
 |  |  |    /**
 | 
 |  |  |     * 请求回放视频流
 | 
 |  |  | 
 |  |  |     * @param startTime 开始时间,格式要求:yyyy-MM-dd HH:mm:ss
 | 
 |  |  |     * @param endTime 结束时间,格式要求:yyyy-MM-dd HH:mm:ss
 | 
 |  |  |     */
 | 
 |  |  |    void playbackStreamCmd(Device device, String channelId, String startTime, String endTime, ZLMHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent);
 | 
 |  |  | 	 | 
 |  |  |    void playbackStreamCmd(MediaServerItem mediaServerItem, SSRCInfo ssrcInf, Device device, String channelId, String startTime, String endTime, ZLMHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 请求历史媒体下载
 | 
 |  |  |     *  | 
 |  |  |     * @param device  视频设备
 | 
 |  |  |     * @param channelId  预览通道
 | 
 |  |  |     * @param startTime 开始时间,格式要求:yyyy-MM-dd HH:mm:ss
 | 
 |  |  |     * @param endTime 结束时间,格式要求:yyyy-MM-dd HH:mm:ss
 | 
 |  |  |     * @param downloadSpeed 下载倍速参数
 | 
 |  |  |     */  | 
 |  |  |    void downloadStreamCmd(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo, Device device, String channelId, String startTime, String endTime, String downloadSpeed, ZLMHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 视频流停止
 | 
 |  |  |     *  | 
 |  |  |     * @param ssrc  ssrc
 | 
 |  |  |     */
 | 
 |  |  |    void streamByeCmd(String ssrc, SipSubscribe.Event okEvent);
 | 
 |  |  |    void streamByeCmd(String ssrc);
 | 
 |  |  |    void streamByeCmd(String deviceId, String channelId, String stream, SipSubscribe.Event okEvent);
 | 
 |  |  |    void streamByeCmd(String deviceId, String channelId, String stream);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 回放暂停
 | 
 |  |  |     */
 | 
 |  |  |    void playPauseCmd(Device device, StreamInfo streamInfo);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 回放恢复
 | 
 |  |  |     */
 | 
 |  |  |    void playResumeCmd(Device device, StreamInfo streamInfo);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 回放拖动播放
 | 
 |  |  |     */
 | 
 |  |  |    void playSeekCmd(Device device, StreamInfo streamInfo, long seekTime);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 回放倍速播放
 | 
 |  |  |     */
 | 
 |  |  |    void playSpeedCmd(Device device, StreamInfo streamInfo, Double speed);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 语音广播
 | 
 |  |  | 
 |  |  |     * @param channelId  预览通道
 | 
 |  |  |     */
 | 
 |  |  |    boolean audioBroadcastCmd(Device device,String channelId);
 | 
 |  |  | 	 | 
 |  |  |    /**
 | 
 |  |  |     * 语音广播
 | 
 |  |  |     *  | 
 |  |  |     * @param device  视频设备
 | 
 |  |  |     */
 | 
 |  |  |    void audioBroadcastCmd(Device device, SipSubscribe.Event okEvent);
 | 
 |  |  |    boolean audioBroadcastCmd(Device device);
 | 
 |  |  |    
 | 
 |  |  |    /**
 | 
 |  |  |     * 音视频录像控制
 | 
 |  |  | 
 |  |  |     * @param device 视频设备
 | 
 |  |  |     * @param startTime 开始时间,格式要求:yyyy-MM-dd HH:mm:ss
 | 
 |  |  |     * @param endTime 结束时间,格式要求:yyyy-MM-dd HH:mm:ss
 | 
 |  |  |     * @param sn
 | 
 |  |  |     */
 | 
 |  |  |    boolean recordInfoQuery(Device device, String channelId, String startTime, String endTime);
 | 
 |  |  |    boolean recordInfoQuery(Device device, String channelId, String startTime, String endTime, int sn,  Integer Secrecy, String type, SipSubscribe.Event okEvent, SipSubscribe.Event errorEvent);
 | 
 |  |  |    
 | 
 |  |  |    /**
 | 
 |  |  |     * 查询报警信息
 | 
 |  |  | 
 |  |  |     */
 | 
 |  |  |    boolean alarmSubscribe(Device device, int expires, String startPriority, String endPriority, String alarmMethod, String alarmType, String startTime, String endTime);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 订阅、取消订阅目录信息
 | 
 |  |  |     * @param device      视频设备
 | 
 |  |  |     * @return            true = 命令发送成功
 | 
 |  |  |     */
 | 
 |  |  |    boolean catalogSubscribe(Device device, SipSubscribe.Event okEvent ,SipSubscribe.Event errorEvent);
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 释放rtpserver
 | 
 |  |  |     * @param device
 | 
 |  |  |     * @param channelId
 | 
 |  |  |     * 拉框控制命令
 | 
 |  |  |     *
 | 
 |  |  |     * @param device    控制设备
 | 
 |  |  |     * @param channelId 通道id
 | 
 |  |  |     * @param cmdString 前端控制指令串
 | 
 |  |  |     */
 | 
 |  |  |     void closeRTPServer(Device device, String channelId);
 | 
 |  |  |    boolean dragZoomCmd(Device device, String channelId, String cmdString);
 | 
 |  |  | }
 |