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()}";
}
}
}