文档章节

RTP/RTCP/RTSP

当空皓月
 当空皓月
发布于 2016/08/28 10:30
字数 697
阅读 52
收藏 3

一.产生的背景

随着互连网的发展,人们已经不满足于传统的HTTP,FTP和电子邮件等文本信息和服务,而对内容丰富多彩的多媒体信息,服务以及多媒体通信方式提出了需求,包括声音,图象,图形,视频信息等等,而这些不但传输的数据量大而且对交互性和实时性要求很高。

这时,基于HTTP的TCP协议无法达到要求,故产生RTP协议来进行多媒体数据实时传输.

clip_image001

RTP/RTCP,RTSP图例

clip_image002

协议关系图

二.RTP/RTCP/RTSP协议与TCP/IP协议对比

那么,现在有个疑问是:为什么TCP/IP协议就不能满足多媒体通信的要求呢?

这是因为TCP有以下4个特点:

1.TCP重传机制

2.TCP拥塞控制机制

3.TCP报文头比UDP报文头要大

4.TCP的启动速度慢

RTP由IETF(Internet Engineering Task Force,互联网工程任务组)的音频/视频传输工作组制定,主要实现实时数据的传输,它在包头中提供编码类型,包中数据的采样时刻和数据包的序号,根据这些信息发送和接受方可以协商编码类型,可以对接收到的数据包进行排序等工作;RTCP主要负责传输质量的监控以及传送发送者的一些标志信息。试验和研究表明,RTP/RTCP所提出的实时数据的传输机制是行之有效的。

对比记忆

IP:数据传输

RTP:多媒体数据实时传输

TCP:保证数据传输可靠

RTCP:保证多媒体数据传输的可靠

三.RTP/RTCP,RTSP协议说明

RTP

Realtime Transport Potocol 实时传输协议

  • RTP/RTCP是实际传输数据的协议
  • RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD,可以由Client发送到Server
  • 整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议(即RTCP)

 

RTCP

Realtime Transport Control Potocol 实时传输控制协议

  • RTP/RTCP是实际传输数据的协议 
  • RTCP包括Sender Report和Receiver Report,用来进行音频/视频的同步以及其他用途,是一种控制协议 

 

RTSP

RealTime Streaming Potocol 实时流协议

  • RTSP的请求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顾名思义可以知道起对话和控制作用
  • RTSP的对话过程中SETUP可以确定RTP/RTCP使用的端口,PLAY/PAUSE/TEARDOWN可以开始或者停止RTP的发送,等等

  •  

代码实现:

开源库:

https://sourceforge.net/p/jlibrtp/code/HEAD/tree/jlibrtp/demo/org/jlibrtp/demo/SoundSenderDemo.java

githubdemo:https://github.com/loulei/RtpDemo_jlibrtp 

csdndemo:http://blog.csdn.net/ericfantastic/article/details/49361069

 

 

© 著作权归作者所有

上一篇: Java 注解
下一篇: Android Scorller
当空皓月
粉丝 14
博文 179
码字总数 67070
作品 0
郑州
私信 提问
实时传输协议RTP

1.RTP协议: RTP( Real-time Transport Protocol)协议最初是在70年代为了尝试传输声音文件,把包分成几部分用来传输语音,时间标志和队列号。经过一系列发展,RTP第一版本在1991年8月由美国...

长平狐
2012/09/03
457
0
rtp协议详解/rtcp协议详解

1、简介 目前,在IP网络中实现实时语音、视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音、视频数据传输的标准协议RTP( Real-time Transpor...

李恒哲
2011/02/06
0
0
RTP、RTCP和RTSP协议基础

1 RTSP概述 1.1 RTSP概念 RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。 RTSP被用于建立的控制媒体流的传输,它为多...

zhangyujsj
2016/01/09
163
0
流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用...

Jerikc
2015/07/10
1K
2
直播技术极简教程

一,直播技术框架 二,音视频处理的一般流程 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1、数据采集: 摄像机及拾音器收集视频及音频数据,此时得到的为原始数据 涉...

架构师小秘圈
2017/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

热点图heatMap.js V2.0 研究笔记 及应用

https://blog.csdn.net/rongchaoliu/article/details/47830799 调用方法 function init() { $.ajax({ url: "${request.contextPath}/refresh?type=1", type: "get",......

yan_liu
13分钟前
1
0
Kubernetes 支持 OpenAPI 的新功能

Open API 让 API 提供者可以定义自己的操作和模型,并让开发者可以自动化的生成喜欢语言的客户端,用以和 API 服务器通信。Kubernetes 已经支持 Swagger 1.2(OpenAPI 规范的前身)有一段时间...

xiangyunyan
17分钟前
0
0
深入分析Zookeeper原理

本章重点: 1.了解zookeeper 及zookeeper 的设计猜想 2. zookeeper集群角色 3. 深入分析ZAB协议 4. 从源码层面分析leader选举的实现过程 5. 关于zookeeper的数据存储  Zookeeper的由...

须臾之余
19分钟前
2
0
Spring Cloud Eureka 常用配置详解,建议收藏!

前几天,栈长分享了 《Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!》,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说明。 Spring Boot 的配置参考Java技术栈微信...

Java技术栈
37分钟前
1
0
分布式项目(七)consul 服务注册与发现

说到分布式自然就离不开分布式和微服务的话题,简单聊一下。 微服务是一种软件架构方式,或者说一个一种结构设计风格,它并不是标准,它的逻辑是把一个整体服务按业务拆分成不同独立的服务,...

lelinked
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部