RTP实时传输协议
RTP协议是包括一对协议:RTP和RTCP。 RTP传输数据,RTCP传输控制信息。 一般基于UDP,RTP使用偶数端口,RTCP使用下一个奇数端口。
层次关系: APP -> RTP -> UDP -> IP
1、RTP
RTP提供针对多媒体应用的端到端传输能力,主要用于流媒体的传输,包括音频和视频; 需要提供一些多媒体应用的特有功能:
(1)协商机制。解决音视频格式众多的问题。
(2)数据时间指示。让接受者知道数据包的时序关系,应用可以通过playback buffer来做平滑,还可以做音视频同步等。
(3)数据丢失指示。因为UDP不可靠,应用根据丢失数据的具体情况,做不同的操作,例如:I/B/P帧采取不同处理方式;动态调整编解码格式或分辨率,以便减少数据量。
(4)帧边界指示。一系列包的集合对应一帧,所以对一个完整的帧进行处理,比对单个包进行处理,会更合适。例如:丢弃一个完整的帧,只会卡顿,不会花屏;缩短或拉长两个单词之间的间隔,不会被用户察觉,但是改变某个单词本身的长度,体验就不好了。
上述功能,RTP的实现方式:
(1)由RTSP协商完成;
(2)(3)RTP Header有12字节的必填字段,其中包括时标和序号。时标是32位数值,是两次采样之间的间隔,用ticks表示,每个tick的时长在RTP配置文件或有效荷载格式中说明。 序号是16位数值,每个RTP包有一个序号。
2、RTCP
RTCP提供与数据流想联系的控制流。主要有三个功能:
(1)反馈应用程序和网络的性能;
(2)关联和同步来自同一个发送方的不同媒体流;
(3)运行发送方标识符,用于GUI显示。
参考资料:《计算机网络》《Computer Networks》,Larry L. Peterson, Bruce S.Davie。
RTP实时传输协议的更多相关文章
- 【转载】 IP实时传输协议RTP/RTCP详解
http://www.chinaitlab.com/cisco/RIP/832426.html 1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详 ...
- IP实时传输协议RTP/RTCP详解
1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音.视频数据传输的标准协议RTP( Real-time Transp ...
- RTSP/RTP 媒体传输和控制协议
1 前言 本文档主要描述了 NewStream Vision 系统中前端视频服务器(DVR, 网络摄像机), 中心转发服务器以及客户端之间的多媒体通信以及控制协议. 本协议主要基于标准的 IETE 的 ...
- RTSP RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议
RTSP 编辑 RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetwo ...
- 视频流传输协议RTP/RTCP/RTSP/HTTP的区别 (转)
用一句简单的话总结:RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中 ...
- 流媒体传输协议之 RTP (上篇)
本系列文章将整理各个流媒体传输协议,包括 RTP/RTCP,RTMP,希望通过深入梳理协议的设计细节,能够给流媒体领域的开发者带来一定的启发. 作者:逸殊 审核:泰一 介绍 RTP,即 real-ti ...
- 流媒体传输协议(rtp/rtcp/rtsp/rtmp/mms/hls)转
常用的流媒体协议主要有HTTP渐进下载和基于RTSP/RTP的实时流媒体协议两类.在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时多媒体数据. 1 实时传输 ...
- RTP与RTCP协议介绍(转载)
RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完 ...
- RTP、RTCP协议学习-2015.04.15
最近做视频编解码部分,传输采用RTP协议.对学习做个记录 1.简介 实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工 ...
随机推荐
- <iframe> 标签 中 src 的三种形式. display , echart
1.形式一: <iframe scrolling="yes" src="action.php?c=HLogin&a=linkPage&p=fx&qu ...
- TiDB初步概念
阅读官方文档画以下路线图: 储存: rockDB用于单机数据固化:完全理解 raft用于分布式数据同步:完全理解 最终对外展示一整个完全有序的Key-Value序列:完全理解 重点:有序,就可以随机访 ...
- java 基础代码
/** * Created by y0n on 2017/4/17. * 1.输出控制台传递的默认参数 */public class JavaDay001_1 { public static void ...
- [C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情 (转载)
当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑问的—— ...
- 安装Java8以后,Eclipse运行异常解决方案
再输入cmd,java后提示运行环境配置中,安装的是jdk1.7,但要求是jdk1.8,也就是说Java8. 网上删除注册表,下载彻底清除软件均不能解决问题的,请按照下边提示完成操作即可. 1.在文件 ...
- Tecplot: Legend显示与否
有时候不想显示多个数据中的某些数据的legend,只需要在Mapping style中的definition最后一列,show in legend 改为never就好了.
- crunch--字典生成工具
Crunch是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件.使用Crunch工具生成的密码可以输出到屏幕,保存到文件.或另一个程序.crunch程序在2004年及以前 ...
- swagger2常用注解
常用注解: @Api()用于类: 表示标识这个类是swagger的资源 @ApiOperation()用于方法: 表示一个http请求的操作 @ApiParam()用于方法,参数,字段说明: 表示对参 ...
- 【EMV L2】Application Usage Control
[Application Usage Control] Tag9F07,卡片数据,2bytes: Indicates issuer’s specified restrictions on the ge ...
- leetcode 764.Largest Plus Sign
根据题意的话就是在非0的地方开始寻找上下左右分别能够走到的最大步长的. 那么使用暴力的方法竟然leetcode还是给过了. class Solution { public: int orderOfLa ...