先介绍下RTP协议:
实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议 ,该协议详细说明了在互联网上传递音频和视频的标准数据包格式 。
RTP标准定义了两个子协议 ,RTP和RTCP
数据传输协议RTP,用于实时传输数据。该协议提供的信息包括:时间戳(用于同步)、序列号(用于丢包和重排序检测)、以及负载格式(用于说明数据的编码格式)。
控制协议RTCP,用于QoS反馈和同步媒体流。相对于RTP来说,RTCP所占的带宽非常小,通常只有5%。
TCP会通过超时和重传机制保证数据流的每一个bit的正确性,但这样会使得无论从协议的实现还是传输的过程都变得非常的复杂。而且,当传输过程中有数据丢失的时候,由于对数据丢失的检测(超时检测)和重传,会数据流的传输被迫暂停和延时。
RTP协议是一种基于UDP的传输协议,RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
对于那些丢弃的包,也可以由上层根据其重要性来选择性的重传。比如,对于I帧、P帧、B帧数据,由于其重要性依次降低。

RTP是建立在UDP之上的传输层协议。
RTP会话过程:
当应用程序建立一个RTP会话时,应用程序将确定一对目的传输地址。目的传输地址由一个网络地址和一对端口组成,有两个端口:
一个给RTP包,一个给RTCP包,使得RTP/RTCP数据能够正确发送。RTP数据发向偶数的UDP端口,而对应的控制信号RTCP数据发向相邻的奇数UDP端口(偶数的UDP端口+1),这样就构成一个UDP端口对。
RTP协议从上层接收流媒体信息码流(如H.264),封装成RTP数据包;RTCP从上层接收控制信息,封装成RTCP控制包。
RTP将RTP 数据包发往UDP端口对中偶数端口;RTCP将RTCP控制包发往UDP端口对中的接收端口,即奇数端口。
接下来再介绍下标准流媒体协议

流媒体(streaming media)是指将一连串数据压缩后,经过网络分段发送,即时传输以供观看音视频的一种技术。

通过使用 streaming media 技术,用户无需将文件下载到本地即可播放。由于媒体是以连续的数据流发送的,因此在媒体到达时即可播放。可以像下载的文件一样进行暂停、快进或后退操作。

对于流视频协议,大多数数字视频是为了两件事情:存储和播放。要满足这样的需求,视频需要满足小文件和通用播放这两点。
大多数视频文件都不适合流式传输。流式传输需要将音视频分割成小块(chunk),将这些小块按顺序发送,并在接收时播放。如果正在直播,则视频源来自于摄像机;否则,来自于文件。
流媒体协议是一种标准化的传递方法,用于将视频分解为多个块,将其发送给视频播放器,播放器重新组合播放。 大部分流协议是码率自适应(adaptive bitrate)的,这项技术可以在任一时间为用户提供最佳质量视频。
编、解码器(codec)指视频压缩技术。不同的编、解码器用于不同的目的。 即使不需要使用流式协议,视频也需要使用解编码器进行编码、解码。
通常,视频格式指视频文件格式(container format)。常见 container format 包括 .mp4、.m4v、.avi、.mov等,container format 只是一个框(box),框中通常包含视频文件、音频文件和元数据。视频文件格式并不是流式的核心概念。
形象比喻: 假设你是商人,需要批量运输衣服(衣服就是视频)。编解码器就是将衣服压缩成捆以节省空间的机器容器格式就是装压缩后衣服的集装箱流协议就是将其运输到目的地的铁轨、信号灯和驾驶员。
常见的流协议有:RTMP、MPEG-DASH、MSS、HDS、HLS
Reference:
https://www.cnblogs.com/yuweifeng/p/7563265.html
https://blog.csdn.net/zhangbijun1230/article/details/90407090
https://www.jianshu.com/p/d71ceef679de

私有RTP协议和标准流媒体协议相关推荐

  1. 网工学习 第十一章 网络管理 网络管理基础 网络管理协议五大标准 SNMP协议 RMON

    目录 第十一章 网络管理 网络管理基础 网络管理协议五大标准 SNMP协议 SNMP协议的操作 SNMPv1 SNMPv2 SNMPv3 管理数据库MIB-2 被管理 对象标识符OID RMON 第十 ...

  2. HTTP RTSP RTMP RTP 协议简说 流媒体学习(一)

    2019独角兽企业重金招聘Python工程师标准>>>  HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:Wo ...

  3. 流媒体协议初探(MPEG2-TS、RTSP、RTP、RTCP、SDP、RTMP、HLS、HDS、HSS、MPEG-DASH)

    目录 一.综述 需求分析 协议定制 二.MPEG2-TS协议 三.RTSP协议.RTP.RTCP.SDP RTSP RTP.RTCP.SDP 四.RTMP 五.HLS.HDS.HSS HLS HDS和 ...

  4. 网络流媒体协议之——RTP协议概述

    网络流媒体协议系列: 网络流媒体协议之--MPEG-DASH协议简述 网络流媒体协议之--HLS概述 网络流媒体协议之--UDP协议概述 今天来整理一下RTP. RTP(Real-time Trans ...

  5. 计算机网络④-③/④:流媒体协议:编码/推流/拉流、 P2P协议:.torrent/DHT

    应用层(OSI 模型的第七层, TCP 模型的第四层, 即应用层,)还有RTMP.P2P等协议. 1 流媒体协议 视频流中的图片存在:空间冗余.时间冗余.视觉冗余.编码冗余.可以通过编码来压缩视频. ...

  6. 直播协议HTTP-FLV标准解读与技术实现

    HTTP-FLV HTTP-FLV,即将音视频数据封装成FLV,然后通过HTTP协议传输给客户端. 这里首先要说一下,HLS其实是一个"文本协议",而并不是一个流媒体协议.那么,什 ...

  7. 网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

    简结">三句话简结 RTP RTCP RTSP RTMP HLS区别与联系 RTP传输流媒体数据.RTCP对RTP进行控制,同步.RTSP发起/终止流媒体 RTP和RTCP互为姐妹关系 ...

  8. 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

    RTP     参考文档 RFC3550/RFC3551     Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明 ...

  9. WebRTC学习进阶之路 --- 五、WebRTC网络知识详解(三)(最全流媒体协议(RTP/RTCP/RTSP/RTMP/MMS/HLS/HTTP/ HTTP-FLV(HDL)/SDP)

    WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 RTP:实时传输协议(Real-time ...

最新文章

  1. 线性回归与多项式回归的区别,如何判断他们的使用场景
  2. Deep Learning for Computer Vision with MATLAB and cuDNN
  3. [C++调试笔记]网格划分grid_pic.cpp
  4. MongoDB和Java(5):Spring Data整合MongoDB(注解配置)
  5. MYSQL安装时解决要输入current root password的方法
  6. 如何获取变量token的值
  7. mysql的常用命令总结
  8. (JAVA版)冒泡排序
  9. 二、Cocos2dx概念介绍(游戏开发中不同的坐标系,cocos2dx锚点)
  10. 7个等级 容灾等级_猫奴的10个等级 你的奴性有多高?
  11. vue 实例化几种方式_第二节:Vue实例化
  12. 考研英语 - word-list-23
  13. 常用html页面设计工具,网站前端开发常用工具大全-web设计师必备
  14. python描述对象静态特性的数据为_短期借款利息数额不大,可以直接支付,不预提,在实际支付时直接记入的账户是( )。...
  15. led的伏安特性曲线 matlab实现_灯泡伏安特性仿真实验的实现算法
  16. STM32—LED单灯闪烁之软件延时
  17. 易盾php,GitHub - yidun/antispam-php-demo: 易盾反垃圾php演示
  18. 10款经典香水 怀旧十个年代-Part I
  19. 软中断CPU使用率高 咋办?
  20. 专利申请找一家代理机构都有哪些好处

热门文章

  1. 日历控件QCalendarWidget
  2. 深度学习中L2 norm的使用
  3. 【MCU】STM32F107VC单片机驱动DP83848以太网PHY芯片,移植LWIP 2.1.2协议栈,并加入网线热插拔检测的功能(HAL库)
  4. 【原创】常用元器件(数码管)选型之引脚和极性识别-cayden20221029
  5. 源码解析6-系统封装-QTableView实现
  6. r语言和metawin_手把手教你用R的gemtc包对连续变量进行贝叶斯网状Meta分析
  7. 剑指offer-----两个队列实现一个栈(C++实现)
  8. CSRF(跨站请求伪造)原理
  9. 我自己下班回家赚钱的3个方式
  10. 反编译.class和原java文件的源码对比