sip (gb28181)信令交互-视频点播与回播
客户端发起的实时点播消息示范:(请求视频信令与断开视频信息 和 回播基本无差别)
、请求视频流
INVITE sip:@192.168.40.66: SIP/2.0
Via: SIP/2.0/UDP 192.168.40.55:;rport;branch=z9hG4bK2480933505
From: <sip:@192.168.40.55:>;tag=
To: <sip:@192.168.40.66:>
Call-ID: // Call-ID:使用该字段标识一路视频
CSeq: INVITE
Contact: <sip:@192.168.40.55:>
Content-Type: Application/SDP
Max-Forwards:
User-Agent: NCG V2.6.0.
Subject: :,:
Content-Length: v=
o= IN IP4 192.168.40.55
s=Play //Play标识为点播请求 Playback标识回播请求
c=IN IP4 192.168.40.55 //192.168.40.55:音视频流目的地址
t= //t行第一参数为视频开始时间 第二个参数为结束时间 t = 0 0表示实时视音频点播
m=video RTP/AVP //video:表示请求音视频流 audio:表示请求音频流 5522:音视频流目的端口 RTP/AVP:视频流使用协议 96 97 98:客户端支持码流格式
a=rtpmap: PS/
a=rtpmap: MPEG4/
a=rtpmap: H264/
a=recvonly
a=streamMode:MAIN
y= SIP/2.0 Trying
Via: SIP/2.0/UDP 192.168.40.55:;rport=;branch=z9hG4bK2480933505
From: <sip:@192.168.40.55:>;tag=
To: <sip:@192.168.40.66:>
Call-ID:
CSeq: INVITE
User-Agent: NCG V2.6.0.
Content-Length: SIP/2.0 OK
Via: SIP/2.0/UDP 192.168.40.55:;rport=;branch=z9hG4bK2480933505
From: <sip:@192.168.40.55:>;tag=
To: <sip:@192.168.40.66:>;tag=
Call-ID:
CSeq: INVITE
Contact: <sip:@192.168.40.66:>
Content-Type: Application/SDP
User-Agent: NCG V2.6.0.
Content-Length: v=
o= IN IP4 192.168.40.55
s=Play
c=IN IP4 192.168.40.66 //192.168.40.66:音视频流源地址 注:视音频源与目的地址不局限于级联服务器本身
t=
m=video RTP/AVP // video:表示请求视频流 audio:表示请求音频流 5268:音视频流源端口 RTP/AVP:视频流使用协议 96:服务端所选择的码流格式 音视频所使用端口统一使用偶数端口 port+1为rtcp端口
a=rtpmap: PS/
a=sendonly
y= SDP字段说明: v字段:协议版本
o字段:-
a字段:a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>] 中的<encoding name>,利用该属性携带编码器厂商名称。该属性表明该流为某厂商编码器编码且是不符合gb28181规定的媒体流,符合国标的媒体流不需要该属性。
例如:a=rtpmap: DAHUA/
a=rtpmap: HIKVISION/
a字段有下列格式:
a字段可携带倍数参数,用于文件下载时控制下载速度。格式: a=downloadspeed:下载倍数(整型)
a字段可携带文件大小参数,用于文件下载时的进度计算。格式: a=filesize:文件大小 (单位:Byte)
a字段可携带setup、connection作为TCP连接协商参数。 a=setup:TCP连接方式(表示本SDP发送者在建立RTP over TCP连接时是主动还是被动发起TCP连接,“active”为主动,“passive”为被动)
a字段可携带SVC参数,用于视频传输时的分辨率或者帧频控制。a=svcspace:空域编码方式 【取值整型。 :不使用 :1级增强 :2级增强 :3级增强 】 a = svctime:时域编码方式 s字段:表示请求媒体流的操作类型,“Play”标识为点播请求 “Playback”标识回播请求 “Download”表示文件下载 “Talk”表示语音对讲;
u字段:u行应填写视音频文件的URL。该URL的取值有两种:简捷方式和普通方式。简捷方式直接采用产生该历史媒体的媒体源(如某个摄像头)的设备ID以及相关参数,参数用“:”分隔;普通方式采样http://储存设备ID[/文件夹]*/文件名;
m字段:描述媒体的媒体类型、端口、传输层协议、负载类型等内容。媒体类型采样“video”标识视频或者视音频混合内容,采样“audio”标识传输音频内容;传输方式采用“RTP/AVP”标识传输层协议为 RTP over UDP,采用“TCP/RTP/AVP”标识传输层协议为RTP over TCP;
t字段:当回放或者下载时,t行值为开始时间,结束时间,采样“ ”分隔;
y字段:十进制整数字符串,标识SSRC值。其中第一位为历史或者实时媒体流的标识位,0为实时,1为历史;第2位到第6位取20位SIP监控域ID之中的4-8位作为域标识;第7-10位作为域内媒体流标识,是一个与当前域内产生的媒体流SSRC值后4位不充分的四位十进制整数;
f字段:f=v/编码格式/分辨率/帧率/码率类型/码率大小 a/编码格式/码率大小/采样率 其中v表示video a表示audio
2、断开视频流
BYE sip:@192.168.40.66: SIP/2.0
Via: SIP/2.0/UDP 192.168.40.55:;rport;branch=z9hG4bK1981844232
From: <sip:@192.168.40.55:>;tag=
To: <sip:@192.168.40.66:>;tag=
Call-ID: // Call-ID:该字段判断请求端口哪一路视频
CSeq: BYE
Contact: <sip:@192.168.40.55:>
Max-Forwards:
User-Agent: NCG V2.6.0.
Content-Length: SIP/2.0 OK
Via: SIP/2.0/UDP 192.168.40.55:;rport=;branch=z9hG4bK1981844232
From: <sip:@192.168.40.55:>;tag=
To: <sip:@192.168.40.66:>;tag=
Call-ID:
CSeq: BYE
User-Agent: NCG V2.6.0.
Content-Length:
客户端发起的回播控制消息示范:(请求视频信令与断开视频信息 和 回播基本无差别 Play/Playback)
Gb28181标准中,明确说明历史视音频的回复控制命令应采用监控报警联网系统实时流协议(MANSRTSP),并采用SIP消息INFO消息体携带传输。(GBT - 4.3.)
INFO sip:@192.168.40.66: SIP/2.0
Via: SIP/2.0/UDP 192.168.40.55:;rport;branch=z9hG4bK1764044774
From: <sip:@192.168.40.55:>;tag=
To: <sip:@192.168.40.66:>;tag=
Call-ID:
CSeq: INFO
Contact: <sip:@192.168.40.55:>
Content-Type: Application/MANSRTSP
Max-Forwards:
User-Agent: NCG V2.6.0.
Content-Length: PLAY MANSRTSP/1.0
CSeq:
Scale: 0.000000 // Scale:回播速度控制 例:Scale: 8.000000 快进x8 SIP/2.0 OK
Via: SIP/2.0/UDP 192.168.40.55:;rport=;branch=z9hG4bK1764044774
From: <sip:@192.168.40.55:>;tag=
To: <sip:@192.168.40.66:>;tag=
Call-ID:
CSeq: INFO
Contact: <sip:@192.168.40.66:>
User-Agent: NCG V2.6.0.
Content-Length:
sip (gb28181)信令交互-视频点播与回播的更多相关文章
- sip (db33)信令交互-视频点播与回播
请求视频流: INVITE sip:@ SIP/2.0 Via: SIP/;rport;branch=z9hG4bK178329191 From: <sip:@>;tag= To: < ...
- 常见S1信令交互流程
0. S1 Setup
- rtsp信令交互流程
- STUN/TURN/ICE协议在P2P SIP中的应用(一)
1 说明 本文详细描述了基于STUN系列协议实现的P2P SIP电话过程,其中涉及到了SIP信令的交互,P2P的原理,以及STUN.TURN.ICE的协议交互 本文所提到的各个服务 ...
- node.js实现国标GB28181设备接入的sip服务器解决方案
方案背景 在介绍GB28181接入服务器的方案前,咱们先大概给大家介绍一下为什么我们选择了用nodejs开发国标GB28181的服务,我大概给很多人介绍过这个方案,大部分都为之虎躯一震,nodejs在 ...
- sip信令跟踪工具sngrep
概述 在VOIP的使用过程中,最常见的问题就是信令不通和语音质量问题. 通常的问题跟踪手段包括日志分析.抓包分析. 抓包的工具有wireshark.tcpdump等等,如果是只针对sip信令的抓包,则 ...
- GB28181国检推流
GB28181国检有一向内容是实时播放摄像机流,经过一番努力,搞定这个功能,现分享心得: 首先需要了解流程,说简答点就是视频流从哪里来到什么地方去,下图描述了视频流推流,转发的 基本过程:信令交互成功 ...
- 【转】SIP 中的Dialog,call,session 和 transaction
如果你对Sip协议中Call, Dialog, Transaction和Message之间的关系感觉到迷惑,那么,那么我可以告诉你,你并不孤单,因为大多数初学者对于这些名词之间的关系都会感到疑惑. ...
- 【SIP协议】学习初学笔记
1.SIP这玩意是怎么走来和如何构建的? 通俗的说,SIP就是一个轻量级信令协议,它可以作为音频.视频.及时信息的信令. 说到SIP是怎么出来的就要提H.323,而提到这个标准由不得不提到ITU-T, ...
随机推荐
- 最长上升子序列 and 最长公共子序列 问题模板
两种求最长上升子序列问题 第一种:定义dp[i]=以a[i]为末尾的最长上升子序列问题的长度 第二种:定义dp[i]=长度为i+1的上升 子序列 中末尾元素的最小值 #include <cstd ...
- hdu 1.2.3
很简单的算法基础题...闰年判断以及计算 #include<iostream> #include<cstdio> using namespace std; int main() ...
- 分形之二叉树(Binary Tree)
上一篇文章讲的是分形之树(Tree),这一篇中将其简化一下,来展示二叉分形树的生长过程. 核心代码: static void FractalBinaryTree(const Vector3& ...
- dispatch_async 和dispatch_sync
dispatch_sync(),同步添加操作.他是等待添加进队列里面的操作完成之后再继续执行. dispatch_queue_t concurrentQueue = dispatch_queue_cr ...
- Xcode一些好用的插件,以及这些插件的管理器
最近从xcode6.4升级到xcode7,发现以前所有的插件都失效了,如果要安装,需要重新去一个个下载.安装,很麻烦. 于是,转来了这篇博文,亲自测试,发现很好用...... 地址:http://11 ...
- HTML给table添加单线边框
一般来说,给表格加边框都会出现不同的问题,以下是给表格加边框后展现比较好的方式 <style> table,table tr th, table tr td { border:1px so ...
- qt在windows下编译遇到的一些问题
软件是在linux上写的,然而搬到windows上来遇到了好多问题.... 想跪.... 首先就是压根编译不了的问题....这个问题困扰我好久了....一直报错undefined reference ...
- js 的this
js的this应该是不好掌握又必须要掌握的东西 主要参考: http://www.cnblogs.com/pssp/p/5216085.html http://www.cnblogs.com/fron ...
- nodeJs实现微信小程序的图片上传
今天我来介绍一下nodejs如何实现保存微信小程序传过来的图片及其返回 首先wx.uploadFile绝大部分时候是配合wx.chooseImage一起出现的,毕竟选择好了图片,再统一上传是实现用户图 ...
- 利用Makefile安装helloworld模块(速成)
这学期对了一门操作系统,满怀着好奇装了虚拟机然后安了Ubuntu,这周作业是编译内核和安装个模块,妈耶,折腾了我一两天.终于弄完,CSDN上有挺多类似的教程,例如陈皓的跟我一起写Makefile,写的 ...