流媒体协议标准.

Slides:



Advertisements
Similar presentations
NAT与ICMP交互.
Advertisements

动态网站开发 【HTTP与网络基础】 李博杰
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
第十章:流媒体 《多媒体通信》.
第 12 章 UDP 與 TCP.
广东省高新技术企业认定工作培训 关于专项审计报告的说明与解释.
汇报大纲 一、报送系统总体介绍 二、自查及检查评分报送流程 三、自查及检查方法及关键点 四、建议及注意事项.
彰化縣教師會 導護問題知多少? 理事長:許麗芳老師 報告人:廖銘潭老師   .
Chapter 12 UDP 與 TCP.
计算机网络的组成 资源子网:   主机 终端 终端控制器   外设 软件资源 信息资源    .
第1章 流媒体概述.
数据转发过程.
VOIP應用 與進度推廣 臺東大學電算中心 洪守成.
多媒体通信技术 主讲教师:黄玉兰                学时:16.
第八組 組員:07黃佩瑄 13吳姿毅 14葉芷芸 26黃欣蓮 34林思妤 48潘婷蓉
在PHP和MYSQL中实现完美的中文显示
Lab312.
SIP 体系架构.
SIP 协议介绍.
7.1 認識串流技術 7.2 串流技術的原理 7.3 多媒體串流的實務 7.4 串流資料的下載 與儲存
NAT-PT (Network Address Translation-Protocol Translation)
第 12 章 UDP 與 TCP.
利用 ISA Server 2004 建置應用層防護機制
第7讲 多媒体网络 本讲概述: 本讲目标: 多媒体的网络应用 了解多媒体网络的应用要求 存储式音频/视频流 交互式的实时应用
(C) Active Network CO., Ltd
课程目标 学习完本课程,您应该能够: 了解NTP协议的基本概念及应用 掌握NTP协议的基本原理 掌握NTP协议的网络结构及实现模型
Hadoop I/O By ShiChaojie.
AA SIP协议原理 2.0 此为固网课程专用的封面页。.
第六章 差错与控制报文 (ICMP).
Internet Radio 網 路 電 台: . 潘柏任 B 許宏瑋 28 曾彥中 32 蔡文軒 40.
TCP/UDP協定 10-1 TCP/UDP簡介 10-7 採用TCP或UDP 10-2 連接埠編號 10-8 UDP標頭格式
Internet Protocol (IP)
32 bit destination IP address
SIP消息之 逐项讲解.
SIP消息之 逐项讲解.
SIP协议 翁彦
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
A VoLTE Traffic Classification Method in LTE Network
在一定程度上 人类的思维产生于 简单个体之间的相互作用 ——Marvin Minsky.
Chapter 14 DHCP.
SOA – Experiment 3: Web Services Composition Challenge
管理信息结构SMI.
第七讲 网际协议IP.
RTP/RTCP 协议介绍.
8.1 多媒体网络通信基础 8.2 多媒体技术在网络上的应用 8.3 流媒体技术
第5讲 网络层 本讲目的: 概述: 理解网络层服务原理: 因特网的实现实例 网络层的服务 路由选择原理 分层的路由选择 IP协议
第十三章 TCP/IP 與 Internet 網路連結技術
实时协议( Real-Time Protocol, RTP)
Understanding H.323 Gatekeepers
任务1-3 使用Dreamweaver创建ASP网页
第2讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
SIP协议 Sip协议基本介绍 ..
SIP与H.323互通的研究 研究生选题报告 Research on Interworking between SIP and H.323
SOA – Experiment 2: Query Classification Web Service
Wireshark DNS&HTTP封包分析
實驗5 IP協定分析 明瞭IP(Internet Protocol;Internet協定)的基礎觀念
傳輸控制協議 /互聯網協議 TCP/IP.
VisComposer 2019/4/17.
网络流媒体 主讲教师:霍龙社 北京大学数字媒体研究所
Speaker : Chang Kai-Jia Date : 2010/04/26
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
第 14 章 DHCP 著作權所有 © 旗標出版股份有限公司.
数据报分片.
郑 昀 应用开发事业部 神州泰岳 SIP多方会话消息 之实例讲解 郑 昀 应用开发事业部 神州泰岳
歹徒透過通訊軟體詐騙手法1-冒用身份 若被害人通訊軟體「允許被加入好友」為開啟狀態 駭侵Google帳戶取得通訊錄
數位化時代教師的基本素養講習會 電腦科技 與智慧財產權法
VoIP组工作汇报 黄权 李光华.
歹徒透過通訊軟體詐騙手法1-冒用身份 若被害人通訊軟體「允許被加入好友」為開啟狀態 駭侵Google帳戶取得通訊錄
第 4 章 网络层.
Presentation transcript:

流媒体协议标准

IPTV -- 流媒体协议族 实时流媒体协议:RTSP 一般作为媒体信道的远程控制使用,不参与媒体数据传输,也不做媒体的解析. 实时协议:RTP/RTCP RTP:按照RTP分组的方式传输媒体数据,协议规定了排序/丢包检查/以及媒体重建信息。媒体特定信息说明,包括其重建、解释有应用文档规定。 RTCP:作为质量控制,成员控制等功能。 会话描述协议:SDP 在会话级别、媒体级别来描述传输媒体的具体信息,不参与传输 媒体净荷应用文档 规定了特定的媒体的处理信息

协议栈层次 1:RTP/RTCP推荐在UDP上承载,RTSP推荐在TCP上承载; 2:应用文档作为承载在RTP上,负责对具体的媒体进行解释; 3:SDP承载RTSP上,负责媒体会话的会话级、媒体级解释。

RTSP —— 媒体控制信道 RTSP是基于文本的协议,语法和HTTP类似;最大的区别 是一个为有状态的、一个是无状态的。 RTSP URL 提供了基于网页的发布链接; RTSP消息结构 消息头部和消息体; RTSP方法 为客户和服务器提供了交互的指令; RTSP状态 客户状态和服务器状态;

<A HREF=“rtsp://192.168.0.124:554/video/risk.mp4"> URL举例: rtsp_URL = ( "rtsp:" | "rtspu:" ) "//" host [ ":" port ] [ abs_path ] 其中rtsp发布表示承载在tcp上,rtspu表示承载在udp上。 发布方式: 1:直接承载在网页上 <A HREF=“rtsp://192.168.0.124:554/video/risk.mp4"> 冒险岛</A> 请求方式:先需要做媒体描述请求 DESCRIBE rtsp://192.168.0.124:554/video/risk.mp4 CSeq: 1 2:以sdp方式承载在网页上 <A HREF=“http://www.skyiptv.com/video/risk.sdp"> 请求方式:直接通过http协议请求SDP类型信息 GET /video/risk.sdp HTTP/1.1 Host: www.skyiptv.com Accept: application/sdp

消息结构举例 消息头部: C->A: SETUP rtsp://audio.example.com/twister/audio.en RTSP/1.0 CSeq: 1 Transport:RTP/AVP/UDP;unicast;client_port=3056-3057 A->C: RTSP/1.0 200 OK Session: 12345678 Transport: RTP/AVP/UDP;unicast;client_port=3056-3057; server_port=5000-5001 1:status line 请求Status line : CMD 资源 协议版本号 响应Status line : 协议版本号 响应代码 响应描述

包体结构: 2:消息头部结构 语法RFC889规定,类似HTTP/SIP等协议 message-header = field-name ":" [ field-value ] 其语义有协议自身规定,一次请求或者响应可以有多个头结构。 包体结构: (在包头和包体之间有一个空行 — 仅仅含有回车换行) RTSP包体一般为SDP媒体会话信息,RTSP不做包体的解析,SDP包体由 SDP协议解析。列如: C->M: DESCRIBE rtsp://server.example.com/demo/sound RTSP/1.0 CSeq: 1 Accept: application/sdp M->C: RTSP/1.0 200 1 OK Content-type: application/sdp Content-Length: 44 v=0 o=- 2890844526 2890842807 IN IP4 192.16.24.202 s=RTSP Session i=See above t=0 0 m=audio 0 RTP/AVP 0

RTSP方法列表 method direction object requirement DESCRIBE C->S P,S recommended ANNOUNCE C->S, S->C P,S optional GET_PARAMETER C->S, S->C P,S optional OPTIONS C->S, S->C P,S required (S->C: optional) PAUSE C->S P,S recommended PLAY C->S P,S required RECORD C->S P,S optional REDIRECT S->C P,S optional SETUP C->S S required SET_PARAMETER C->S, S->C P,S optional TEARDOWN C->S P,S required

A: option 方法,这是一个双向的方法,两端请求对方的能力集。 RTSP方法——rtsp交互指令 A: option 方法,这是一个双向的方法,两端请求对方的能力集。 OPTIONS * RTSP/1.0 SEQ :1 SESSION:12345678 B: DESC方法,用在客户端,向媒体源请求媒体发布信息。 DESCRIBE rtsp://server.example.com/demo/sound RTSP/1.0 CSeq: 1 Accept: application/sdp C: setup 方法,用在客户端,建立媒体传输信道。该过程中,建立RTP 的信道。 SETUP rtsp://audio.example.com/twister/audio.en RTSP/1.0 Transport:RTP/AVP/UDP;unicast;client_port=3056-3057 D: PLAY/PAUSE/TEARDOWN方法,客户端使用,控制媒体信息的传 输动作。

在一次会话从建立第一次请求方法开始,直到TEARDOWN结束,会话ID 标示该次会话。再次重新启动会话,会话ID可能改变。如果存在多方通 PLAY rtsp://live.example.com/concert/audio RTSP/1.0 CSeq: 3 Session: 12345678 PAUSE rtsp://live.example.com/concert/audio RTSP/1.0 TEARDOWN rtsp://live.example.com/concert/audio RTSP/1.0 E:GETPARA 一般作为心跳消息使用 GET_PARAMETER rtsp://live.example.com/concert/audio RTSP/1.0 注释: 在一次会话从建立第一次请求方法开始,直到TEARDOWN结束,会话ID 标示该次会话。再次重新启动会话,会话ID可能改变。如果存在多方通 话,在一个会议中,可以采用会议ID来标示会议。

VOD特殊方法的实现 对于RTSP协议,如果有多个媒体逻辑信道,其中setup方法需要对每个逻辑信 道进行参数设置。其他方法均统一控制使用。 1:SEEK、播放时间控制的实现 Range header 这个RTSP头,指定了播放的范围,不指定则默认从媒体的头开始,直至结尾。这 个头信息在PLAY方法中携带。故此,在播放过程中,进行拖动操作,需要首先 PAUSE这个会话。该范围一个使用ntp时间表示。 C->S: PLAY rtsp://audio.example.com/audio RTSP/1.0 CSeq: 836 Session: 12345678 Range: npt=20-25 //从20秒,播放到25秒 Range: npt=30- //从30秒,播放到媒体结束

2:快进、快退、后退方法实现 Scale header 这个RTSP头,指定了相对于正常播放速率的比率。该头部参数,可以由Record Play方法携带; PAUSE这个会话。然后使用定义的Sacle值来设定Play。 PLAY rtsp://audio.example.com/audio RTSP/1.0 CSeq: 836 Session: 12345678 Scale:2 //两倍速率快进 Scale:0.5 //1/2倍速率慢进 Scale:-1 //后退 Scale:-2 //两倍速度快退 Scale:-0.5 //半倍速度快退 Scale和Speed的区别: Scale —— 不改变传输的比特率,采用丢弃数据的方式传输,使感受加快; 有传输方向。 Speed —— 改变传输的比特率,改变了媒体信道对带宽的要求; 没有方向。

在仅仅需要单信道的场合,可以仅仅SETUP一次,只建立需要的信息的传 输信道。 例如:如下的媒体描述: 3:单信道模式 在仅仅需要单信道的场合,可以仅仅SETUP一次,只建立需要的信息的传 输信道。 例如:如下的媒体描述: v=0 o=- 2890844526 2890842807 IN IP4 192.16.24.202 s=RTSP Session m=audio 0 RTP/AVP 0 a=control:rtsp://audio.example.com/twister/audio.en m=video 0 RTP/AVP 31 a=control:rtsp://video.example.com/twister/video 有两个媒体轨道组成一个媒体源,在只需要一个媒体轨道的时候,我们可 以单独的建立一个媒体的信道。

RTSP状态机 对于到快退快进等,也属于PLAYING状态。 客户机:

RTP/RTCP —— 媒体信道 RTP数据包是二进制格式,包括RTP头和净荷组成;RTCP 规定了多种报告格式,用于质量、成员、会话控制的依据。 RTP 用以传送实时数据。提供净荷类型指示(数据类型和编码方 式),数据分组序号、数据时戳、数据源标示。 RTCP 用以传送实时信号传递的质量参数,提供QOS监视机制;以及传输会议通讯中的参会者信息。 应用文档 该文档定义一组净荷类型码及其净荷格式、媒体编码的映射 关系 净荷格式规范 具体定义每一种净荷如何在RTP协议中传输。

RTP分组 RTP分组包括:RTP头部、RTP扩展头部、RTP净荷组成 举例如图:

RTP头部 1:V=2 版本号 (2BIT) 2:P 填充指示位 (1BIT), 3:X 扩展指示位; 4:CC 分信源数目指示; 5:M 标志位   由应用文档解释说明; 6:PT 净荷类型 映射了一种净荷格式(媒体编码),应用自身确定,不能解释得忽略; 7:序列号:16比特,初始值为随即数,为接受方应用提供了丢包检测、恢复分组顺序的机制 8:rtp timestp 32比特 指媒体采样时间,具体解释有净荷文档规范规定,例如:mpeg4为显示时间;不一定是单调递增:例如mpeg的运动预测时包的顺序是编解码时间。 9:同信源标志:标志媒体源 10:分信源 标志媒体组成的各个信号源标识。

RTP净荷规范文档 1:MPEG-4对象层 2:RTP 净荷文档规范 2:对rtp head的规范 3:对净荷的规范 对于不同的媒体类型,具体意义又净荷文档规范来解释。例如mp4 over rtp,rfc规范了两种方式: 基于对象的传输和基于es的传输. 1:MPEG-4对象层 2:RTP 净荷文档规范 2:对rtp head的规范 3:对净荷的规范

MPEG4分层模型

MP4 RTP净荷规范文档 1: RFC3016的规定将MPEG4-音视频码流直接映射 到RTP净荷中,由应用来保证系统同步; 3:将MPEG4 SL分组码流映射到RTP净荷中,同步 由MPEG4系统同步; 4:将MPEG4 传送层经过FLEXmux工具进行复用处 理,映射到RTP净荷中; ISMA 1.0规范采用1,2两种方法进行净荷规范文档

SDP协议 1: 自身不参与发送,在其他协议中作为包体进行发送; 2:目的:告知会话存在;提供会话所需要的信息; 3:描述包括: 会话级: 会话名和目的; 会话缉获的时间区段 构成会话的媒体 传输层信息(地址、端口、格式) 媒体级: 媒体类型(音视频等) 传送协议(rtp/udp/ip,h.320) 媒体格式(h.261/264,mpegxx,wmv) 媒体地址和端口 5:协议格式 文本级,UTF-8编码:<type>=<value>

重要的SDP描述 会话级别: 1: 会话源描述 o=<username> <session id> <version> <nettype> <addr type> <address> 给出会话的发起者以及会话标识、会话版本号; 例如: o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4 2:链接数据 c=<net type> <addr type> <address>(<ttl> <num>) 给出连接数据 c=IN IP4 192.168.0.124 c=IN IP4 224.2.17.12/127/3 3:时间描述 t=<start time> <end time> r=<repeat circle> <run time> < offset list > z=<adjust time> <offset value> <adjust time> <offset value> t=3034423619 3042462419 r=7d 1h 0 25h

媒体级别 4: 加密密钥 k=<method> k=<method>:<content> K=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 该内容一般用于媒体头信息解析 5: 属性字段 a=<type>:value a=rtpmap:98 MP4V-ES/90000 a=fmtp:98 profile-level-id=145 媒体级别 1:主要属性 m=<media> <port>/<number of ports> <transport> <fmt list> m=video 49170/2 RTP/AVP 31 参看RFC3016对mp4的媒体级别的描述

RFC 2326 - Real Time Streaming Protocol (RTSP) 参考文档 RFC 2326 - Real Time Streaming Protocol (RTSP) RFC 2327 - SDP: Session Description Protocol RFC 3550 - RTP: A Transport Protocol for Real-Time Applications RFC 3551 - RTP Profile for Audio and Video Conferences with Minimal Control RFC 3640 - RTP Payload Format for Transport of MPEG-4 Elementary Streams RFC 3016 - RTP Payload Format for MPEG-4 Audio/Visual Streams

谢谢!