欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > JT/T 1078 协议基本介绍与解析

JT/T 1078 协议基本介绍与解析

2025/4/9 3:01:40 来源:https://blog.csdn.net/weixin_43025151/article/details/146995279  浏览:    关键词:JT/T 1078 协议基本介绍与解析

文章目录

    • 一、JT/T 1078 协议基本介绍
    • 二、JT/T 1078 与 JT808 的关系
    • 三、JT1078 协议核心功能
    • 四、JT1078 数据结构概览
      • 4.1、消息结构:
      • 4.2、消息类型(部分):
    • 五、Java 中如何解析 JT1078 协议数据?
      • 5.1、JT1078 消息 ID 对照表
      • 5.2、消息分类
      • 5.3、伪代码结构
    • 六、JT1078 常见视频参数
    • 七、和 GB/T 28181 的区别?
    • 八、Java 示例代码( JT1078 协议中的实时视频传输请求)
      • 8.1、解析 0x9101 消息体
      • 8.2、示例原始数据(十六进制)
      • 8.3、使用方式

1078 协议,全称为 《JT/T 1078-2016 道路运输车辆视频通信协议》,是配合 JT808(车辆定位协议) 使用的,用于 道路运输车辆视频监控和传输。它是 中国车载视频传输的国家/行业标准协议。


一、JT/T 1078 协议基本介绍

项目内容
标准名称JT/T 1078-2016 道路运输车辆视频通信协议
发布单位中华人民共和国交通运输部
发布时间2016年12月
实施时间2017年7月1日
主要功能视频传输、音频传输、远程控制、录像回放、抓拍、音视频实时流管理等
应用场景校车、危化品运输、客运车辆、营运车辆监管系统

二、JT/T 1078 与 JT808 的关系

  • JT808 负责基础通信、定位、调度、报警等功能

  • JT1078 负责车载视频音频的传输、控制与回放

  • JT1078 依附于 JT808 协议,通过 JT808 的消息转发机制进行音视频数据的交互

三、JT1078 协议核心功能

功能描述
实时视频预览视频通道(最多4个/8个),实时流拉取
远程录像回放指定时间段、通道、文件类型进行录像回放
抓拍控制远程触发抓拍并上传图片
音频监听开启远程麦克风监听通话
语音对讲远程向车内广播语音
视频流参数设置分辨率、码率、帧率、编码格式
音视频通道管理多路通道(如前后摄像头、行车记录仪)状态管理

四、JT1078 数据结构概览

4.1、消息结构:

| 起始标识 0x7E | 消息头 | 消息体 | 校验码 | 结束标识 0x7E |

4.2、消息类型(部分):

消息 ID (十六进制)名称
0x9101实时音视频传输请求
0x9102音视频实时传输控制
0x9201远程录像回放请求
0x9202文件上传请求
0x9301抓拍指令

五、Java 中如何解析 JT1078 协议数据?

根据《JT/T 1078-2016》的协议文档来写每个消息体的解析规则。

5.1、JT1078 消息 ID 对照表

消息 ID消息方向名称描述
0x9101平台 → 终端实时音视频传输请求
0x9102平台 → 终端实时音视频传输控制指令
0x9103平台 → 终端关闭音视频通道请求
0x9201平台 → 终端音视频回放请求
0x9202平台 → 终端回放控制指令
0x9203平台 → 终端文件上传请求
0x9204平台 → 终端文件上传控制
0x9205平台 → 终端查询音视频资源列表
0x9301平台 → 终端抓拍指令
0x9302平台 → 终端抓拍立即上传命令
0x1003终端 → 平台上传音视频资源目录
0x1005终端 → 平台文件上传完成通知
0x1001终端 → 平台实时音视频数据上报
0x1002终端 → 平台音视频事件通知
0x1004终端 → 平台文件上传数据包
0x1006终端 → 平台音视频数据检索应答
0x1007终端 → 平台终端主动上传抓拍
0x1008 | 终端 → 平台 | 终端上传通道参数(通道列表) 

5.2、消息分类

🟢 控制类(平台下发):0x910x / 0x920x / 0x930x

🔵 数据类(终端上报):0x100x

🟡 文件传输/列表类:0x9203, 0x9205, 0x1003, 0x1004

5.3、伪代码结构

由于 JT1078 与 JT808 格式类似,可以 基于 JT808 的框架结构进行消息类型识别和扩展处理。

伪代码结构如下:

public void handleJT1078Message(byte[] packet) {int msgId = getMessageId(packet); // 解析消息 IDswitch (msgId) {case 0x9101:handleRealTimeVideoRequest(packet);break;case 0x9201:handlePlaybackRequest(packet);break;case 0x9301:handleSnapshotRequest(packet);break;default:System.out.println("未知 JT1078 消息类型");}
}

说明

  • JT1078 基于 JT808 协议扩展,依赖 JT808 的消息头和校验机制。

  • 所有音视频数据采用 UDP/RTP 推流(如实时视频),也可以按文件方式传输(回放/抓拍)。

六、JT1078 常见视频参数

参数示例
分辨率1920x1080、1280x720
视频编码H.264、H.265
音频编码G.711、AAC
码率500~3000 kbps
帧率15~30 fps

七、和 GB/T 28181 的区别?

协议特点
JT/T 1078专为交通运输车辆制定,依托 JT808
GB/T 28181公安视频监控专用协议,基于 SIP 和 RTP,更接近国标平台

八、Java 示例代码( JT1078 协议中的实时视频传输请求)

下面是一份用于解析 JT1078 协议中的实时视频传输请求(消息ID 0x9101) 的 Java 示例代码。此示例假设你已经具备基础的 JT808 数据结构解析能力(如消息头、校验、分包等解析能力)。

8.1、解析 0x9101 消息体

public class Msg9101 {private int logicalChannelNo; // 逻辑通道号private int mediaType;        // 音视频类型private int streamType;       // 码流类型(主/子)private int storageType;      // 存储器类型private int playbackMode;     // 回放方式(实时0/回放1)private int playbackSpeed;    // 播放速度private String serverIp;      // 服务端 IPprivate int serverTcpPort;    // TCP 端口private int serverUdpPort;    // UDP 端口public static Msg9101 parse(byte[] body) throws UnsupportedEncodingException {ByteBuffer buffer = ByteBuffer.wrap(body);Msg9101 msg = new Msg9101();byte ipLength = buffer.get(); // IP地址长度byte[] ipBytes = new byte[ipLength];buffer.get(ipBytes);msg.serverIp = new String(ipBytes, "GBK");msg.serverTcpPort = buffer.getShort() & 0xFFFF;msg.serverUdpPort = buffer.getShort() & 0xFFFF;msg.logicalChannelNo = buffer.get() & 0xFF;msg.mediaType = buffer.get() & 0xFF;msg.streamType = buffer.get() & 0xFF;msg.storageType = buffer.get() & 0xFF;msg.playbackMode = buffer.get() & 0xFF;msg.playbackSpeed = buffer.get() & 0xFF;return msg;}@Overridepublic String toString() {return "Msg9101{" +"serverIp='" + serverIp + '\'' +", serverTcpPort=" + serverTcpPort +", serverUdpPort=" + serverUdpPort +", logicalChannelNo=" + logicalChannelNo +", mediaType=" + mediaType +", streamType=" + streamType +", storageType=" + storageType +", playbackMode=" + playbackMode +", playbackSpeed=" + playbackSpeed +'}';}
}

8.2、示例原始数据(十六进制)

hex

0C3139322E3136382E312E3130 1F90 1F91 01 00 00 01 00 01
字段含义
0CIP长度 12
313932…3130IP地址192.168.1.10
1F90TCP端口8080
1F91UDP端口8081
01逻辑通道号
00媒体类型:视频
00码流类型:主码流
01存储类型:实时
00播放模式:实时
01播放速度:1倍速

8.3、使用方式

byte[] data = ...; // 从JT808协议消息中提取的 9101 消息体部分
Msg9101 msg = Msg9101.parse(data);
System.out.println(msg);

在这里插入图片描述


樱花明白自己终将零落,
依然要盛放得轰轰烈烈。
人与人之间最动人的部分,
有时恰恰存在于期限明确的相遇里——
因为没有来日方长的侥幸,
所以每个瞬间都被赋予钻石般的密度。


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词