package com.genersoft.iot.vmp.jt1078.proc.response; import com.genersoft.iot.vmp.jt1078.annotation.MsgId; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufUtil; import io.netty.buffer.Unpooled; import io.netty.util.CharsetUtil; /** * 回放请求 * * @author QingtaiJiang * @date 2023/4/28 10:37 * @email qingtaij@163.com */ @MsgId(id = "9201") public class J9201 extends Rs { // 服务器IP地址 private String ip; // 实时视频服务器TCP端口号 private int tcpPort; // 实时视频服务器UDP端口号 private int udpPort; // 逻辑通道号 private int channel; // 音视频资源类型:0.音视频 1.音频 2.视频 3.视频或音视频 private int type; // 码流类型:0.所有码流 1.主码流 2.子码流(如果此通道只传输音频,此字段置0) private int rate; // 存储器类型:0.所有存储器 1.主存储器 2.灾备存储器" private int storageType; // 回放方式:0.正常回放 1.快进回放 2.关键帧快退回放 3.关键帧播放 4.单帧上传 private int playbackType; // 快进或快退倍数:0.无效 1.1倍 2.2倍 3.4倍 4.8倍 5.16倍 (回放控制为1和2时,此字段内容有效,否则置0) private int playbackSpeed; // 开始时间YYMMDDHHMMSS,回放方式为4时,该字段表示单帧上传时间 private String startTime; // 结束时间YYMMDDHHMMSS,回放方式为4时,该字段无效,为0表示一直回放 private String endTime; @Override public ByteBuf encode() { ByteBuf buffer = Unpooled.buffer(); buffer.writeByte(ip.getBytes().length); buffer.writeCharSequence(ip, CharsetUtil.UTF_8); buffer.writeShort(tcpPort); buffer.writeShort(udpPort); buffer.writeByte(channel); buffer.writeByte(type); buffer.writeByte(rate); buffer.writeByte(storageType); buffer.writeByte(playbackType); buffer.writeByte(playbackSpeed); buffer.writeBytes(ByteBufUtil.decodeHexDump(startTime)); buffer.writeBytes(ByteBufUtil.decodeHexDump(endTime)); return buffer; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public int getTcpPort() { return tcpPort; } public void setTcpPort(int tcpPort) { this.tcpPort = tcpPort; } public int getUdpPort() { return udpPort; } public void setUdpPort(int udpPort) { this.udpPort = udpPort; } public int getChannel() { return channel; } public void setChannel(int channel) { this.channel = channel; } public int getType() { return type; } public void setType(int type) { this.type = type; } public int getRate() { return rate; } public void setRate(int rate) { this.rate = rate; } public int getStorageType() { return storageType; } public void setStorageType(int storageType) { this.storageType = storageType; } public int getPlaybackType() { return playbackType; } public void setPlaybackType(int playbackType) { this.playbackType = playbackType; } public int getPlaybackSpeed() { return playbackSpeed; } public void setPlaybackSpeed(int playbackSpeed) { this.playbackSpeed = playbackSpeed; } public String getStartTime() { return startTime; } public void setStartTime(String startTime) { this.startTime = startTime; } public String getEndTime() { return endTime; } public void setEndTime(String endTime) { this.endTime = endTime; } @Override public String toString() { return "J9201{" + "ip='" + ip + '\'' + ", tcpPort=" + tcpPort + ", udpPort=" + udpPort + ", channel=" + channel + ", type=" + type + ", rate=" + rate + ", storageType=" + storageType + ", playbackType=" + playbackType + ", playbackSpeed=" + playbackSpeed + ", startTime='" + startTime + '\'' + ", endTime='" + endTime + '\'' + '}'; } }