using JT1078.Protocol.Enums; using System; using System.Collections.Generic; using System.Text; namespace JT1078.Protocol.H264 { public class H264NALU { public readonly static byte[] Start1 = new byte[3] { 0, 0, 1 }; public readonly static byte[] Start2 = new byte[4] { 0, 0, 0, 1 }; public byte[] StartCodePrefix { get; set; } public NALUHeader NALUHeader { get; set; } /// /// 终端设备SIM卡号 /// BCD[6] /// public string SIM { get; set; } /// /// 逻辑通道号 /// public byte LogicChannelNumber { get; set; } /// /// 数据类型 /// public JT1078DataType DataType { get; set; } /// /// 该帧与上一个关键帧之间的时间间隔,单位毫秒(ms), /// 当数据类型为非视频帧时,则没有该字段 /// public ushort LastIFrameInterval { get; set; } /// /// 该帧与上一个帧之间的时间间隔,单位毫秒(ms), /// 当数据类型为非视频帧时,则没有该字段 /// public ushort LastFrameInterval { get; set; } /// /// 时间戳 /// 标识此RTP数据包当前帧的相对时间,单位毫秒(ms)。 /// 当数据类型为01000时,则没有该字段 /// public ulong Timestamp { get; set; } /// /// 数据体 /// public byte[] RawData { get; set; } public string GetKey() { return $"{SIM}_{LogicChannelNumber.ToString()}"; } } }