流媒体传输基本原理-RTSP

一、相关的基本概念
媒体:信息的载体
多媒体:多种媒体的组合体。
传媒:全称是“传播媒体”,媒体概念中偏重于传播方面的技术组织体系行业。
流媒体:流式地传输媒体,是传播媒体的一种技术,将媒体数据分段,然后经网络发送,使得数据包像流水一样传输。使用流媒体技术,不必等下载完整音视频媒体文件后才能开始欣赏。
A/V(Audio/Video):音视频
RTSP(Real Time Streaming Protocol):实时流媒体传输协议:由RFC2326规范,是一种实现实时流媒体传输与播放的控制协议,可用于流媒体的点播和直播场景。
RTP(Realtime TransportProtocol):针对Internet上多媒体数据流的一个传输协议,工作在一对一或一对多的传输情况下,其目的是提供时间信息和实现流同步。只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
RTCP(Realtime Transport Control Protocol):服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识。在RTP会话期 间,各参与者周期性地传送RTCP包。RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
TCP(Transmission Control Protoco):传输控制协议,提供面向连接的可靠的传输服务,适用于各种可靠的或不可靠的网络。
UDP(User Datagram Protocol):用户数据报协议,无连接的协议,不需要建立连接就可以传输数据。

二、RTSP传输基本原理
RTSP并非用于传输流媒体数据,它的角色是“多媒体服务网络远程控制”。实际上,多媒体数据的传输通常依赖于RTP/RTCP协议的实现,主要有两个方面的作用:
1、用于协商客户端与服务端之间的实时媒体通道。
2、在建立媒体通道后,通过RTSP协议定义的控制方法,实现流媒体的播放、暂停、停止、快进、倒退等控制操作。
RTSP 基于TCP协议进行传输,负责流媒体通道参数的协商,以及具体的控制信息包括流媒体的播放、暂停、停止、快进、倒退等。RTP/RTCP 通常基于UDP协议进行传输,负责流媒体数据的传输。其中RTP 负责实时媒体数据的传输,将媒体数据进行分组、传输和定时同步。RTCP 负责传输控制信息和统计数据,并不直接传输媒体数据。其以周期性的方式发送,提供了传输质量反馈、参与者统计、会话控制等功能。
在这里插入图片描述
流式传输的过程
1、用户选择某一流媒体服务后,Web Browse与 Web Sever之间使用 HTTP/TCP 交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;
2、客户机上的 Web 浏览器启动 A/VPlayer 程序,使用 HTTP 从 Web Sever检索相关参数对 Player 程序初始化。这些参数可能包括目录信息、A/V 数据的编码类型或与 A/V 检索相关的服务器地址。
 3、A/V Player 程序及 A/V Sever运行实时流控制协议(RTSP),以交换 A/V 传输所需的控制信息。与 CD 播放机或 VCRs 所提供的功能相似,RTSP 提供了操纵播放、快进、快倒、暂停及录制等命令的方法。
 4、A/V Sever使用 RTP/UDP 协议将 A/V 数据传输给 A/V Player ,一旦 A/V 数据抵达客户端,A/V Player 即可播放输出。
注意:在流式传输中,使用 RTP/UDP 和 RTSP/TCP 两种不同的通信协议与 A/V Sever建立联系,是为了能够把服务器的输出重定向到一个不同于运行 A/V Player 程序所在客户机的目的地址。实现流式传输一般都需要专用服务器和播放器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/26026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

硬件开发笔记(十七):RK3568底板电路串口、485、usb原理图详解

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139589308 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

爬虫案例:建设库JS逆向

爬虫流程 1. 确定目标网址和所需内容 https://www.jiansheku.com/search/enterprise/ 只是个学习案例,所以目标就有我自己来选择,企业名称,法定代表人,注册资本,成立日期 2. 对目标网站,进行分析 动态…

认识Spring 中的BeanPostProcessor

关于BeanPostProcessor和BeanFactoryPostProcessors,将分2篇文章来写,这篇文章是对Spring 中BeanPostProcessor进行了总结 先看下大模型对这个类的介绍,随后再看下这两个类的示例,最后看下这两个类的实现。 这两个类从名字看都很类…

HTML静态网页成品作业(HTML+CSS)—— 兰蔻化妆品网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

网卡聚合链路配置

创建名为mybond0的绑定,使用示例如下: # nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup添加从属接口,使用示例如下: # nmcli con add type bond-slave ifname enp3s0 master mybond0要添加其他从…

反射...

一、反射的定义 二、获取Class对象三种方式 全类名:包名类名。 public class test {public static void main(String [] args) throws ClassNotFoundException {//第一种方式Class class1Class.forName("test02.Student");//第二种方法Class class2Stud…

【区块链】深入解析Proof of Work (PoW): 区块链技术的核心驱动力

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 深入解析 Proof of Work (PoW): 区块链技术的核心驱动力引言一、PoW基本概念1.1…

C++ 判断目标文件是否被占用(独占)(附源码)

在IM软件中发起文件发送时,如果要发送的是某word文件,并且该word文件被office打开,则会提示文件正在被占用无法发送,如下所示: 那文件被占用到底是如何判断出来的呢?其实很简单,调用系统API函数CreateFile,打开该文件(OPEN_EXISTING),传入FILE_SHARE_READ共享读标记…

探索Chrome DevTools的高级技巧与隐藏功能

Chrome DevTools是网页开发者不可或缺的调试工具,它提供了丰富的功能,帮助开发者快速诊断和解决问题。然而,除了常见的功能,如元素检查、网络监控和JavaScript调试之外,DevTools还有许多不为人知的强大功能和技巧。本文…

SAP乘云而上

上周四参加了SAP原厂组织的“SAP乘云而上私享会”,由德勤赞助。活动主要的内容是介绍了RISE with SAP的上云服务包并且参观了SAP Labs。 现阶段对于大中型企业客户,SAP力推的是S/4HANA PCE(Private Cloud Edition)私有云版本,这个版本我在之…

Androidstudio项目加载不出来,显示Connect timed out

Android studio加载不出来所需要的环境依赖,99%的问题都是网络原因 解决办法有两个: 1.科学上网 2.使用国内的镜像 方法一自行解决,下面重点介绍方法二 在项目目录下找到gradle->wrapper->gradle-wrapper.properties 将项目的distributionUrl改为https://mirrors.cl…

从零到发布:npm插件包终极指南

在JavaScript和Node.js的生态系统中,npm(Node Package Manager)是最重要的包管理工具之一。通过npm,开发者可以共享代码、复用他人的工作成果以及协作开发。本指南将详细介绍如何通过npm发布自己的插件包,以便其他开发…

平安养老险陕西分公司荣获“2021-2023年乡村振兴‘三村工程’先进机构”

5月27日,中国平安成立36周年司庆暨三省推广启动大会顺利召开。会上,平安养老险陕西分公司获“2021-2023年乡村振兴‘三村工程’先进机构”荣誉表彰。 过去三年间,平安养老险陕西分公司始终坚持金融为民,在平安集团、平安养老险的指…

MFC上下文菜单与定时器学习笔记

本博文简单介绍了上下文菜单以及定时器的知识内容,作为笔记发表在csdn上面。 在这里插入图片描述 菜单资源的使用 添加菜单资源加载菜单资源: 注册窗口类时设置菜单创建窗口传参设置菜单在主窗口WM_CREATE消息中利用SetMenu函数设置 加载菜单资…

Python编写和管理装饰器库之wrapt使用详解

概要 在 Python 编程中,装饰器(decorator)是一个非常强大的工具,可以在不修改原函数代码的情况下,增强函数的功能。然而,编写装饰器有时会遇到一些复杂的问题,比如保持被装饰函数的元信息、正确传递参数等。wrapt 库提供了一组工具,帮助开发者更容易地编写和管理装饰器…

深圳比创达电子|EMI电磁干扰行业:挑战到突破,电子产业新未来

随着电子技术的飞速发展,电磁干扰(EMI)问题日益凸显,成为影响电子设备性能和稳定性的重要因素。EMI电磁干扰行业作为解决这一问题的关键领域,正面临着前所未有的机遇与挑战。 一、引言:EMI电磁干扰行业的崛…

分布式事务AP控制方案(下)

分布式事务控制方案 本篇文章给出一种要求高可用性(AP思想)的分布式事务控制方案 上篇回顾:点我查看 分布式事务控制方案1、前景回顾2、数据库和缓存的操作3、分布式文件系统1)页面静态化2)远程调用3)调用…

10秒钟docker 安装Acunetix

1、拉取镜像: 2、查看镜像: [rootdns-server ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/hiepnv/acunetix latest f8415551b8f4 2 months ago 1.98GB 3、运行镜像: …

优思学院|用ChatGPT快速完成数据分析图表【柏累托图法】

数据分析是很多行业的人不可少的一部分,尤其是质量工程师更是日常的工作。然而,随着科技的进步,人工智能(AI)将逐渐承担起数据计算的工作,这意味着未来的质量工程师需要具备的不仅仅是计算能力,…

ISO 19115-3:2023 基本概念的 XML模式实现

前言 ISO(国际标准化组织)是由各国标准化机构(ISO 成员机构)组成的全球性联合会。制定国际标准的工作通常由 ISO 技术委员会完成。对某一技术委员会所关注的主题感兴趣的每个成员机构都有权在该委员会中派代表。与 ISO 联络的国际组织、政府和非政府组织也参与工作。ISO 与…