【GBT28181开发:SIP协议实践】之实况直播
来源:互联网 发布:windows官网下载iso 编辑:程序博客网 时间:2024/05/18 04:00
实况直播(标准中的叫法是 实时点播,但是以前在HW,SE的设计文档里面是实况,叫习惯了,其实只是个叫法而已 )是整个视频监控系统中比较核心的一个业务,GBT28181标准中对其也做了详细的设计。相对于设备信息、状态查询等业务,其稍微复杂点。首先消息类型采用的是INVITE,然后消息体的描述采用SDP协议。SDP协议的之前已经学习过了,还算简单:http://blog.csdn.net/longlong530/article/details/9004707下面介绍下学习的是实况直播的流程,主要通过模拟SPVMN系统向源设备发送实况直播请求,在GBT28181标准文档中对应的是实况流程中SIP服务器和媒体流发送者交互的子过程。记录下交互的消息,详细研究了下:转载请注明出处: http://blog.csdn.net/longlong530一.环境搭建:环境准备: http://blog.csdn.net/longlong530/article/details/9176989UAC(模拟IPC):IP:192.168.10.177(同事人不在~,直接用自己的机子模拟了下)Port:5061UAS(模拟SIP服务器):IP:192.168.10.177Port:5060SPVMN操作过程:1.先选择调测设备类型2.打开UAC.exe完成注册( http://blog.csdn.net/longlong530/article/details/9179513 )3.点击实时点播启动,会在左边的文本框中v=0 //Version 协议版本o=34020000002020000001 0 0 IN IP4 192.168.43.178 //Origin 所有者/创建者和会话标识符s=Play //Subject 会话名称c=IN IP4 192.168.43.178 //Connection Data 连接信息t=0 0 //Time 会话生命周期m=video 6000 RTP/AVP 96 98 97 //Media(Type、Port、RTP/AVP Profile)a=recvonly //扩展属性定义 a=rtpmap:96 PS/90000 //扩展属性定义a=rtpmap:98 H264/90000 //扩展属性定义a=rtpmap:97 MPEG4/90000 //扩展属性定义y=0100000001 //网上木有查到y的意思,最后在28181标准文档中查到:描述SSRC值f= //网上木有查到y的意思,最后在28181标准文档中查到:描述媒体参数4.点击发送消息,右边对话框即可显示消息交互的过程。(图就不截了~)二.业务时序图:三.消息详解:第一步,UAS-->UACSPVMN每次实况前,会发送一个BYE消息,但是该操作在GBT28181标准中并没有规定。BYE sip:34020000001320000001@192.168.10.177:5061 SIP/2.0CSeq: 2 BYEFrom: <sip:34020000002000000001@3402000000>;tag=67051446_53173353_7e47bbc7-c29c-4299-803b-71f7367975bbTo: <sip:34020000001320000001@3402000000>;tag=946196600Call-ID: 5769dab035fe6ade9dafa5e544c3c6a5@0.0.0.0Max-Forwards: 70Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK7e47bbc7-c29c-4299-803b-71f7367975bb_53173353_20235498592802Content-Length: 0SIP/2.0 200 OKVia: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK7e47bbc7-c29c-4299-803b-71f7367975bb_53173353_20235498592802From: <sip:34020000002000000001@3402000000>;tag=67051446_53173353_7e47bbc7-c29c-4299-803b-71f7367975bbTo: <sip:34020000001320000001@3402000000>;tag=946196600Call-ID: 5769dab035fe6ade9dafa5e544c3c6a5@0.0.0.0CSeq: 2 BYEUser-Agent: eXosip/3.6.0Content-Length: 0第二步,UAS-->UAC发送INVITE消息,请求实况,消息体用SDP协议描述,其中每个字段的意义在上面已经介绍了INVITE sip:34020000001320000001@3402000000 SIP/2.0Call-ID: 1d7bbec98be4dfc5cf128e40ccde864e@0.0.0.0CSeq: 1 INVITEFrom: <sip:34020000002000000001@3402000000>;tag=97895568_53173353_401bffa2-3ee4-4d32-81b1-3881df7957d3To: <sip:34020000001320000001@3402000000>Max-Forwards: 70Contact: "34020000002000000001" <sip:192.168.10.177:5060>Content-Type: application/sdpRoute: <sip:34020000001320000001@192.168.10.177:5061;line=9a1ca01668b5778;lr>Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK401bffa2-3ee4-4d32-81b1-3881df7957d3_53173353_24913197787603Content-Length: 227v=0o=34020000002020000001 0 0 IN IP4 192.168.43.178s=Playc=IN IP4 192.168.43.178t=0 0m=video 6000 RTP/AVP 96 98 97a=recvonlya=rtpmap:96 PS/90000a=rtpmap:98 H264/90000a=rtpmap:97 MPEG4/90000y=0100000001f= 第三步,UAC-->UAS服务器响应101消息,表示会话正在正常建立,GBT28181标志没有提及该消息,但是1**的消息都属于Informational级别的通知消息,表示会话正在正常建立。比如网上有的例子还会有180 ring消息响应等。SIP/2.0 101 Dialog EstablishementVia: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK4b6c31ac-b631-4c5c-8576-0a82f27a8fbc_53173353_20235503434986From: <sip:34020000002000000001@3402000000>;tag=03164492_53173353_4b6c31ac-b631-4c5c-8576-0a82f27a8fbcTo: <sip:34020000001320000001@3402000000>;tag=3823092636Call-ID: 6fdcb598554bcd699b314c3719c2ba50@0.0.0.0CSeq: 1 INVITEContact: <sip:34020000001320000001@192.168.10.177:5061>User-Agent: eXosip/3.6.0Content-Length: 0第四步,UAC-->UAS服务器响应200 ok消息,表示会话建立成功SIP/2.0 200 OKVia: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK4b6c31ac-b631-4c5c-8576-0a82f27a8fbc_53173353_20235503434986From: <sip:34020000002000000001@3402000000>;tag=03164492_53173353_4b6c31ac-b631-4c5c-8576-0a82f27a8fbcTo: <sip:34020000001320000001@3402000000>;tag=3823092636Call-ID: 6fdcb598554bcd699b314c3719c2ba50@0.0.0.0CSeq: 1 INVITEContact: <sip:34020000001320000001@192.168.10.177:5061>Content-Type: application/sdpUser-Agent: eXosip/3.6.0Content-Length: 235v=0o=34020000001320000001 0 0 IN IP4 192.168.10.177s=Embedded IPCc=IN IP4 192.168.10.177t=0 0m=video 6000 RTP/AVP 96a=sendonlya=rtpmap:96 H264/90000a=username:34020000001320000001a=password:12345678y=100000001f=第五步,UAS-->UAC服务器返回ACK消息,最终确认消息,标志会话正式建立完成ACK sip:34020000001320000001@192.168.10.177:5061 SIP/2.0Call-ID: 6fdcb598554bcd699b314c3719c2ba50@0.0.0.0CSeq: 1 ACKFrom: <sip:34020000002000000001@3402000000>;tag=03164492_53173353_4b6c31ac-b631-4c5c-8576-0a82f27a8fbcTo: <sip:34020000001320000001@3402000000>;tag=3823092636Max-Forwards: 70Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK4b6c31ac-b631-4c5c-8576-0a82f27a8fbc_53173353_20235513789448Content-Length: 0 然后媒体流发送者(UAC)就开始向服务端指定的目的地( o=34020000002020000001 0 0 IN IP4 192.168.43.178 )发送流媒体,UAC.EXE的截图:
0 0
- 【GBT28181开发:SIP协议实践】之实况直播
- 【GBT28181开发:SIP协议实践】之实况直播
- 【GBT28181开发:SIP协议实践】之注册流程
- 【GBT28181开发:SIP协议实践】之设备信息查询
- 【GBT28181开发:SIP协议实践】之设备目录查询
- 【GBT28181开发:SIP协议实践】之设备状态查询
- 【GBT28181开发:SIP协议实践】之设备远程启动
- 【GBT28181开发:SIP协议实践】之PTZ指令详解
- 【GBT28181开发:SIP协议实践】之注册流程
- GBT28181开发:SIP协议实践 之PTZ指令详解
- 【GBT28181开发:SIP协议实践】之Windows下编译eXosip、osip
- 【GBT28181开发:SIP协议实践】之*里程碑*eXosip+SPVMN环境搭建
- 【GBT28181开发:SIP协议实践】之Windows下编译eXosip、osip
- 【GBT28181开发:SIP协议实践】之Windows下编译eXosip、osip
- 基于GBT28181:SIP协议组件开发-----------第一篇环境搭建
- 基于GBT28181:SIP协议组件开发-----------第一篇环境搭建
- 之实况直播
- 基于GBT28181:SIP协议组件开发-----------第二篇SIP组件开发原理
- Wi-Fi产品射频电路调试经验谈
- 1053. Path of Equal Weight (30)PAT甲级
- ABAP 快捷键
- ORCAD16.6简单小技巧,禁止start page启动
- java定义泛型
- 【GBT28181开发:SIP协议实践】之实况直播
- 杨辉三角问题
- 【转】Python的zip函数
- 安装win10和Ubuntu双系统
- 算法训练 最大最小公倍数
- adb 相关命令
- 屏幕 Dynpro
- 一键加群
- 【韩顺平Javascript笔记】js函数