GB28181 SDP协议学习笔记

news2024/9/21 4:29:15

GB28181 SDP协议学习笔记 (GB/T28181-2016 附录F 100页)

定义
在这里插入图片描述

示例

v=0
o=34000000002000000001 0 0 IN IP4 192.168.100.100
s=Download
u=34020000001310000001:3
c=IN IP4 192.168.100.100
t=1498173736 1498174066
m=video 10122 TCP/RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
a=setup:passive
a=connection:new
a=downloadspeed:8
y=1000000025

关键字段

  • v字段(Protocol Version)[必须]

    v=0
    

    "v="字段表示会话描述协议的版本。本文定义的版本为0,没有次版本号。

  • o字段(Origin)[必须]

    o=< username > < sess-id > < sess-version > < nettype > < addrtype > < unicast-address >
    o=< INVITE请求者ID/INVITE响应者ID > 0 0 IN IP4 < INVITE请求者IP/INVITE响应者IP >
    
  • s字段(Session Name)[必须]

    s=< session name >
    s=< Play | Playback | Download | Talk >
    

    "Play"代表实时点播
    "Playback"代表历史回放
    "Download"代表文件下载
    "Talk"代表语音对讲。

  • u字段(Uri)[仅回放和下载的INVITE请求中有]

    u=< uri >
    u=< 请求设备ID >:3
    
    • 简捷方式: 直接采用产生该历史媒体的媒体源(如某个摄像头)的设备ID(应符合6.1.2的规定)以及相关参数,参数用":"分隔。
    • 普通方式:普通方式采用 http://存储设备ID[/文件夹]*/文件名[/文件夹]* 为0-N级文件夹。
  • c字段(Connection Data)[必须]

    c=< nettype > < addrtype > < connection-address >
    c=IN IP4 < 接收RTP数据流媒体服务IP/发送RTP数据的流媒体服务IP >
    
  • t字段(Timing)

    t=< start-time > < stop-time >
    t=0 0  = > Play | Talk
    t=< 开始时间 秒级unix时间戳 > < 结束时间 秒级unix时间戳 >  = > Playback | Download
    

    当回放或者下载时,t行值为开始时间,结束时间,采样" "分隔。

  • m字段(Media Descriptions)

    m=< media > < port > < proto > < fmt > ...
    m=video < 接收RTP端口号 | 发送RTP的端口号 > < RTP/AVP | TCP/RTP/AVP | UDP/RTP/AVP > ...
    

    rtpmap列表的所有payload type值。

  • a字段(Attributes)

    • RTP流描述(a=rtpmap:)[必须]

      a=rtpmap:< payload type > < encoding name >/< clock rate > [/< encoding parameters >]
      a=rtpmap:96 PS/90000
      a=rtpmap:98 H264/90000
      a=rtpmap:97 MPEG4/90000
      
    • 传输方向(a=sendonly/recvonly)[必须]

      a=< sendonly | recvonly >
      
    • TCP链接方式(a=setup)[仅TCP传输模式]

      a=setup:< active | passive >
      
    • 链接方式(a=connection)[仅TCP传输模式]

      a=connection:< new >
      
    • 下载速率(a=downloadspeed)[仅下载]

      a=downloadspeed:< 1 | 2 | 4 | 8 >
      
    • 文件大小(a=filesize)[仅下载时可选]

      a=filesize:文件大小(单位:Byte)
      
  • f字段(GB28181独有,媒体描述,无效)

    f字段: f= v/编码格式/分辨率/帧率/码率类型/码率大小 a/编码格式/码率大小/采样率
    
  • y字段(GB28181独有 SSRC)[非跨域INVITE请求必选]

    y=< 10位十进制整数字符串 >
    

    y字段:十进制整数字符串,标识SSRC值。其中第一位为历史或者实时媒体流的标识位,0为实时,1为历史;第2位到第6位取20位SIP监控域ID之中的4-8位作为域标识;第7-10位作为域内媒体流标识,是一个与当前域内产生的媒体流SSRC值后4位不重复的四位十进制整数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2079835.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL索引详解:原理、数据结构与分析和优化

在数据库管理系统中&#xff0c;索引是提高查询性能、优化数据存储结构的重要工具。MySQL作为广泛使用的开源关系型数据库管理系统&#xff0c;其索引机制对于提升数据库操作效率具有至关重要的作用。本文将围绕“MySQL索引详解&#xff1a;原理、数据结构与分析和优化”这一主…

仓颉语言:静态类型与垃圾收集,让编程更安全高效

在编程的世界里&#xff0c;安全与效率是永恒的追求。仓颉语言以其静态类型系统和先进的垃圾收集机制&#xff0c;为开发者提供了一个既安全又高效的编程环境。 静态类型系统&#xff1a;编译期的严格把关 类型安全&#xff1a;所有变量和表达式的类型在编译期确定&#xff0c;…

IS-IS路由原理详解

目录 一. 协议介绍: 优点: 二. 1) 协议基本概念: 2) 协议网络类型与网络链路关系 3) IS-IS的报文类型 4) P2P链路邻居关系的建立 ​编辑三. 综上所述 一. 协议介绍: IS-IS最初是国际标准化组织ISO&#xff08;the International Organization for Standardization&am…

2024年适合初创企业的10款项目管理软件

身为初创企业的掌舵人或联合创始人&#xff0c;您深深了解兼顾多项事务的艰辛。适合初创企业的项目管理软件能够对团队运营效率产生明显影响。 您需要精准把握产品研发、营销推广以及团队协作&#xff0c;同时要严格控制预算和时间。项目管理的失策极易导致延期、超支&#xff…

Spring不是引入了三级缓存,解决了循环依赖的问题吗?

上面是典型的循环依赖问题&#xff0c;在很多人认识中spring引入了三级缓存&#xff0c;不会发生循环依赖报错&#xff0c;但是结果是会启动报错&#xff1a; 其实&#xff0c;在 Spring 2.6 开始&#xff0c;默认已经不开启对循环依赖的支持了&#xff0c;如果想要开启对循环依…

【学术会议征稿】第三届地理信息与遥感技术国际学术会议(GIRST 2024)

第三届地理信息与遥感技术国际学术会议&#xff08;GIRST 2024&#xff09; 2024 3rd International Conference on Geographic Information and Remote Sensing Technology 第三届地理信息与遥感技术国际学术会议&#xff08;GIRST 2024&#xff09;将在2024年11月29日-12…

IO进程线程 0827作业

作业 作业一&#xff1a;创建3个线程&#xff0c;一个子线程拷贝文件的前一半&#xff0c;一个子线程拷贝后一半文件&#xff0c;主线程回收子线程资源。 将1.txt内容拷贝到2.txt中 #include <myhead.h> /* 创建3个线程&#xff0c;一个子线程拷贝文件的前一半&#xf…

[数据集][目标检测]直肠息肉病变检测数据集VOC+YOLO格式10725张6类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;10725 标注数量(xml文件个数)&#xff1a;10725 标注数量(txt文件个数)&#xff1a;10725 标…

IDEA 编译项目时卡在Parsing java,最终报out of memory

今天在项目运行的时候莫名其妙报错&#xff1a; 报错内容&#xff1a; java.lang.OutOfMemoryError: GC overhead limit exceeded原因&#xff1a; 通常是因为堆内存太小&#xff0c;无法有效管理正在创建和销毁的对象。 解决方法&#xff1a; 在 IDEA 的安装目录下找到 bi…

Git下载安装配置

Git的下载与安装 Git是一种分布式版本控制系统&#xff0c;用于跟踪文件和文件夹的变化。它最初由Linus Torvalds开发&#xff0c;用于管理Linux内核的源代码。Git的设计目标是&#xff1a;速度快、开发效率高、数据完整性和可靠性强。 Git通过创建一个存储库&#xff08;rep…

FineBI制作可视化大屏-气泡图(7)

本篇会继续使用FineBI根据景点热度筛选出热度最高的20个景点&#xff0c;并绘制气泡图。 新建组件&#xff0c;选择气泡图。 将景点名字段直接拖动到绘图区域或细粒度处&#xff0c;将热度字段拖动到大小。 选择过滤&#xff0c;只保留热度前20的景点。 添加且条件。 将景点名…

线上剧本杀小程序,线上游戏新体验

剧本杀作为当下热门的社交型游戏方式&#xff0c;成为了大众社交娱乐的选择&#xff0c;为大众带来新的游戏体验。在数字化发展时期&#xff0c;线上剧本杀为大众带来了新鲜的游戏体验&#xff0c;它打破了时间空间限制&#xff0c;让玩家在手机上体验虚拟游戏&#xff0c;通过…

面试常问! transformer中dk的大小,以及为什么设成这样,维度,原文分析。

目录&#xff1a; 原文 &#xff1a;翻译&#xff1a;流程&#xff1a;原因&#xff1a; 原文(多头注意力部分) &#xff1a; 李沐b站论文精读 论文网盘下载&#xff1a;链接 提取码: vm3d 翻译&#xff1a; 在这项工作中&#xff0c;我们采用了 h8 个并行注意力层&#xff…

【数组分三段快排】分而治之的快排算法

目录 1.前言2.题目简介3.求解思路4.示例代码 1.前言 算法中的快排 2.题目简介 题目链接&#xff1a;LINK 3.求解思路 这个题很简单写一个快排就行。 数组分三段(分而治之)&#xff1a;但是相对于我们之前写的霍尔版、挖坑法、交换法快排&#xff0c;这个题目可能有很多重…

VastBase——全局性能调优

目录 一、系统资源调优 1.内存和CPU 2.网络 3.I/O 二、查询最耗性能的SQL 三、分析作业是否被阻塞 背景&#xff1a;影响性能的因素 系统资源 数据库性能在很大程度上依赖于磁盘的I/O和内存使用情况。为了准确设置性能指标&#xff0c;用户需要了解Vastbase部署硬件的基本…

玉米病害-目标检测数据集(包括VOC格式、YOLO格式)

玉米病害-目标检测数据集&#xff08;包括VOC格式、YOLO格式&#xff09; 数据集&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1gNanETxflJwb1SaKut_rQw?pwddio2 提取码&#xff1a;dio2 数据集信息介绍&#xff1a; 共有 5046 张图像和一一对应的标注文件 标注文…

年轻人喝不起蜜雪冰城了

文&#xff5c;琥珀食酒社 作者 | 璇子 告诉你一个残酷的消息 年轻人连卖1块钱冰杯的雪王 都快喝不起了 最近3个月 蜜雪冰城关店3808家 差不多每天要关店43家 Coco奶茶呢 90天关店的数量 比开店的数量多2倍还不止 表面看这是行业太卷 奶茶品牌们在垂死挣扎 但其实…

二、编辑器拓展

一、实现Scene窗口弹出菜单 一、InitializeOnLoadMethod 完成事件监听 设置自定义菜单

嵌入式Qt移植之编译Qt项目-思维导图-学习笔记-基于正点原子阿尔法开发板

嵌入式Qt移植之编译Qt项目 交叉编译器的安装可以参考 http://t.csdnimg.cn/UeHtq 使用交叉编译好的qmake编译Qt项目 将交叉编译工具链的路径添加到环境变量PATH中 !export 交叉编译器位置 查找qmake位置 find -name qmake 进入一个Qt项目&#xff0c;使用qmake生成Make…

反射机制简单基础

前序 在我们没有学习框架之前我们都是通给new来创建对象&#xff0c;如&#xff1a;创建一个我们已知的对象 Car carnew Car(); 调用类中的成员变量和成员方法都是对象直接调用。 在学习了mybatis框架后&#xff0c;我们了解到可以通过类名&#xff0c;能动态得到类中定义的…