草庐IT

GB/T28181-2016 SDP定义和音视频传输模式解读

音视频牛哥 2023-04-10 原文

SDP定义

联网系统中SIP消息体中携带的SDP内容应符合IETF RFC 2327的相关要求。应有如下字段:Session description:
v=( protocol version)
o=(owner/creator and session identifier)s=(session name)
u—*(URl of description)
c=* (connection information-not required if included in all media)Time description :
t=(time the session is active)Media description
m= (media name and transport address)
c=*(connection information-optional if included at session-level)b=*(bandwidth information)
a—*( zero or more media attribute lines)y=* (SSRC)
f—*(媒体描述)

说明:
a字段:启用IETF RFC 4566中对a字段的定义a=rtpmap:〈 payload type)〈encoding name)/(clock rate〉[/encoding parameters>]中的(encoding name) ,利用该属性携带编码器厂商名称(如:企业1或企业⒉编码名称DAHUA或HIKVISION)。该属性表明该流为某厂商编码器编码且是不符合本标准规定的媒体流,符合本标准规定的媒体流无需该属性。
例如: a=rtpmap:96 DAHUA/90000;
a=rtpmap:96 HIKVISION/90000。a字段有下列格式:
——a字段可携带倍速参数﹐用于文件下载时控制下载进度。格式如下:
a=downloadspeed:下载倍速(取值为整型)
-a字段可携带文件大小参数,用于下载时的进度计算。格式如下:a=filesize:文件大小(单位:Byte)
—a字段可携带setup,connection作为TCP连接协商参数﹐用于TCP方式传输媒体流服务端、客户端的协商,协商机制参考IETF RFC 4571的定义。格式如下:
a=setup:TCP连接方式(表示本SDP发送者在RTP over TCP连接建立时是主动还是被动发起TCP连接,"active”为主动,"passive”为被动)
a=connection:new(表示采用RTP over TCP传输时新建或重用原来的TCP连接,可固定采用新建TCP连接的方式)
—a字段可携带SVC参数,用于视频传输时的分辨率或帧频控制。格式如下:
a=svcspace:空域编码方式[取值为整型。空域编码方式,取值0:不使用;1:1级增强(1个增强层);2:2级增强(2个增强层);3:3级增强(3个增强层)]
a=svctime:时域编码方式[取值为整型。时域编码方式,取值0:不使用;1:1级增强(1个增强层);2:2级增强(2个增强层);3:3级增强(3个增强层)]
s字段:在向SIP服务器和媒体流接收者/媒体流发送者之间的SIP消息中,使用s字段标识请求媒体流的操作类型。"Play"代表实时点播;"Playback"代表历史回放;"Download"代表文件下载;“Talk”代表语音对讲。
u字段:u行应填写视音频文件的URI。该URI取值有两种方式:简捷方式和普通方式。简捷方式直接采用产生该历史媒体的媒体源(如某个摄像头)的设备ID(应符合6.1.2的规定)以及相关参数,参数用“:”分隔;普通方式采用http://存储设备ID[/文件夹]*/文件名,[/文件夹]*为0-N级文件夹。
m字段:m字段描述媒体的媒体类型、端口﹑传输层协议、负载类型等内容。媒体类型采用“video”标识传输视频或视音频混合内容,采用“audio”标识传输音频内容;传输方式采用“RTP/AVP”标识传输层协议为RTP over UDP,采用“TCP/RTP/AVP”标识传输层协议为RTP over TCP。
例如:
“m=video 6000 RTP/AVP 96”标识媒体类型为视频或视音频,传输端口为6000,采用RTP overUDP传输方式,负载类型为96。
“m=video 6000 TCP/RTP/AVP 96”标识媒体类型为视频或视音频,传输端口为6000,采用RTPover TCP传输方式,负载类型为96。
“m=audio 8000 RTP/AVP 8”标识媒体类型为音频,传输端口为8000,采用RTP over UDP传输方式,负载类型为8。
t字段:当回放或下载时,t行值为开始时间和结束时间,用“”分隔,时间格式见IETF RFC 4566一2006的5.9,采用UNIX时间戳,即从1970年1月1日开始的相对时间。开始时间和结束时间均为要回放或下载的音视频文件录制时间段中的某个时刻。

y字段:为十进制整数字符串,表示SSRC值。格式如下: dddddddddd。其中,第1位为历史或实时媒体流的标识位,0为实时,1为历史;第⒉位至第6位取20位SIP监控域ID之中的4到8位作为域标识,例如“13010000002000000001”中取数字“10000”;第7位至第10位作为域内媒体流标识,是一个与当前域内产生的媒体流SSRC值后4位不重复的四位十进制整数。
f字段:f = v/编码格式/分辨率/帧率/码率类型/码率大小a/编码格式/码率大小/采样率。

音视频传输模式解读

联网系统在进行视音频传输及控制时应建立两个传输通道:会话通道和媒体流通道。会话通道用于在设备之间建立会话并传输系统控制命令;媒体流通道用于传输视音频数据,经过压缩编码的视音频流采用流媒体协议 RTP/RTCP传输。

GB28181平台接入这块,主要有以下三种模式:UDP、TCP被动、TCP主动模式。

  • UDP模式:国标平台端启动UDP端口监听,并通过invite信令交互的方式,通知接入端接收端口,设备接入端主动向国标平台端发起音视频数据推送;
  • TCP被动(passive):国标平台端启动TCP端口监听,并通过invite信令交互的方式,通知接入端接收端口,接入端主动向国标平台端发起音视频数据推送,适用于接入端地址不确定,国标平台端端地址确定的情况下;
  • TCP主动(active):接入端通知国标平台端监听的TCP端口信息,国标平台端主动连接接入端拉流,场景特殊,适用范围很小。

有关GB/T28181-2016 SDP定义和音视频传输模式解读的更多相关文章

  1. 动漫制作技巧如何制作动漫视频 - 2

    动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、

  2. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  3. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

  4. ruby - 如何更改此正则表达式以从未指定 v 参数的 Youtube URL 获取 Youtube 视频 ID? - 2

    目前我正在使用这个正则表达式从YoutubeURL中提取视频ID:url.match(/v=([^&]*)/)[1]我怎样才能改变它,以便它也可以从这个没有v参数的YoutubeURL获取视频ID:http://www.youtube.com/user/SHAYTARDS#p/u/9/Xc81AajGUMU感谢阅读。编辑:我正在使用ruby​​1.8.7 最佳答案 对于Ruby1.8.7,这就可以了。url_1='http://www.youtube.com/watch?v=8WVTOUh53QY&feature=feedf'url

  5. 续集来了丨UI自动化测试(二):带视频,实在RPA高效进行web项目UI自动化测试 - 2

    一、什么是web项目ui自动化测试?通过测试工具模拟人为操控浏览器,使软件按照测试人员的预定计划自动执行测试的一种方式,可以完成许多手工测试无法完成或者不易实现的繁琐工作。正确使用自动化测试,可以更全面的对软件进行测试,从而提高软件质量进而缩短迭代周期。二、构建测试用例的“九部曲”(一)创建流程包划分功能模块日常测试活动中,都会根据功能模块进行拆分,所以在设计器中我们可以通过创建流程包的方式来拆分需要测试的功能模块,如下图中操作创建一个电脑流程包并且取名为对应的功能模块名称,如果有多个功能模块就创建多个对应的流程包,实在RPA设计器有易用的图形可视化界面,方便管理较多的功能模块。(二)在流程包

  6. Java调用ffmpeg处理视频,并记录下遇到的坑 - 2

    目录需求基于JavaCV跨平台执行ffmpeg命令[^1]坑一内存不足坑二多个ffmpeg进程并行导致IO负载大,进而导致ioerror?坑三使用Java操作ffmpeg时,有时会卡死坑四Process的waitFor死锁问题及解决办法需求给透明背景的视频自动叠加一张背景图片基于JavaCV跨平台执行ffmpeg命令1我测试发现的本需求的最小依赖:dependency>groupId>org.bytedecogroupId>artifactId>ffmpeg-platform-gplartifactId>version>5.0-1.5.7version>dependency>核心代码:Stri

  7. 基于python的短视频智能推荐/django的影视网站/视频推荐系统 - 2

    摘要本论文主要论述了如何使用Python技术开发一个短视频智能推荐,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述短视频智能推荐的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。 短视频智能推荐的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管理、热门视频管理、用户上传管理、系统管理,用户:首页、个人中心、用户上传管理、我的收藏管理,前台首页;首页、热门视频、用户上传、公告信息、个人中心、后台管理等功能。由于本网站的功能模块设计比较全面,所以使得整个短视频智能推荐信

  8. 基于ffmpeg的视频处理与MPEG的压缩试验(下载安装使用全流程) - 2

    基于ffmpeg的视频处理与MPEG的压缩试验ffmpeg介绍与基础知识对提取到的图像进行处理RGB并转化为YUV对YUV进行DCT变换对每个8*8的图像块进行进行量化操作ffmpeg介绍与基础知识ffmpeg是视频和图像处理的工具包,它的下载网址是https://ffmpeg.org/download.html。页面都是英文且下载正确的包的路径笔者找的时候还费点劲,这里记录一下也方便读者。选中这个Windows下的下午files,选择第一个这里有essential和full版本的,大家根据需要自行选择版本包下载下载好之后,在官网上下载ffmpeg的full包,一共300+MB解压,然后安装b

  9. 视频融合技术解决方案,三维全景拼接赋能平台 - 2

    近年来,随着信息化时代的到来,三维全景拼接以视频监控领域为代表的智能硬件公司迅速崛起,随后全国各地在视频监控领域进行了大量的建设。但随着摄像头数量的增加,视频监控画面离散、庞杂、关联性差等诸多问题日渐凸显。如何优化现有视频技术,助力管理者或使用者有效、直观、准确地掌控现场实时动态,成为我国信息化前行路上面临的新课题。视频融合技术平台解决方案北京智汇云舟科技有限公司成立于2012年,专注于创新性的“视频孪生(实时实景数字孪生)”技术研发与应用。公司依托自研三维地理信息引擎(3DGIS),融合建筑信息模型(BIM)、视频监控(Video)、人工智能(AI)及物联网(IOT)等多种技术,并在此基础上

  10. 火山引擎 RTC 视频性能降级策略解析 - 2

    动手点关注干货不迷路1. 背景随着RTC使用场景的不断复杂化,新特性不断增多,同时用户对清晰度提升的诉求也越来越强烈,这些都对客户端机器性能提出了越来越高的要求(越来越高的分辨率,越来越复杂的编码器等)。但机器性能差异千差万别,同时用户的操作也不可预知,高级特性的使用和机器性能的矛盾客观存在。当用户机器负载过高时,我们需要适当降级视频特性来减轻系统复杂性,确保重要功能正常使用,提升用户体验。视频性能降级能做什么?一是解决因设备性能不足、突发的性能消耗冲击(如杀毒软件)带来的用户音视频体验问题(如视频卡顿、延时高、设备卡死)等问题;二是提升一些高级功能的渗透率,例如默认情况下开启视频超分,设备性

随机推荐