音视频协议

1. 多媒体信息

1.1 多媒体信息的两个主要特点:

  1. 信息量很大
    • 标准语音:64Kbits(8KHz采样,8位编码)
    • 高质量音频:3Mbps(100KHz采样,12位编码)
  2. 在传输多媒体数据时,对时延和时延抖动均有较高要求

1.2 处理时延抖动:

在这里插入图片描述
缓存的方式在一定程度上消除了时延抖动,但是增加了时延,因为推迟播放了。

1.3 需要注意的问题

  • 在传送时延敏的实时数据时,不仅传输时延不能大,时延抖动也必须限制
  • 传送实时数据时,少量分组的丢失是可以容忍的
  • 丢失容忍是实时数据的另一个重要特点。
  • 发送多媒体数据时应当加一个序号,以按序还原和播放
  • 增加一个时间戳,告诉接收端分组的产生时间。比如音频要和字母顺序对应上。

1.4 必须改造现有的互联网

  • 大量使用高速路由器和光缆
  • 完全改造现有协议,为端到端带宽预留,把无连接协议的互联网转变为面向连接的网络
  • 少量改造现有协议,使得能适配这种数据传输

2. 流式存储音频、视频

存储音频/视频不是实时产生的,而是已经录制好的,通常存储在硬盘中。
第一种方式:在这里插入图片描述
第二种方式:元文件
在这里插入图片描述
第三种方式:媒体服务器
在这里插入图片描述
在这里插入图片描述

2.1 下载时使用何种协议

采用UDP的缺点

  1. 网络情况多变,接收端很难始终按照规定的速率播放
  2. 很多单位的防火墙往往阻拦外部UDP分组的进入
  3. 使用UDP传送流媒体时,如果用户希望控制媒体的播放,暂停、快进等,还需要单独的RTP和RTSP协议

采用TCP的场景
现在,对流式存储音频/视频的播放,如YouTube都是采用TCP来传送。
在这里插入图片描述
采用UDP的场景:
如果是实时观看实况转播,应当首先考虑采用UDP来传送。

2.2 实时流式协议RTSP

实时流式协议RTSP(Real-Time Streaming Protocol)

  • 应用层的多媒体播放控制协议,不传送数据
  • 以客户服务器方式工作
  • 使用户能对从互联网下载的实时数据进行控制,如暂停,快进,跳跃
  • 又称为互联网录像机遥控协议
  • RTSP 是有状态的协议,它记录客户机所处的状态(初始状态,播放状态)
  • RTSP控制分组可在TCP上传送,也可在UDP上传送

在这里插入图片描述

3. 交互式音视频

3.1 实时传输协议RTP

在这里插入图片描述
在这里插入图片描述

3.1.1 RTP的层次

在这里插入图片描述

3.1.2 RTP分组的首部

在这里插入图片描述

  1. P:填充位flag
  2. X:表示RTP首部后还有扩展首部
  3. 参与源数:给出后面参与源标识符的数目
  4. M:表示这个RTP分组是否有特殊意义。比如在传送视频流时用来表示每一帧的开始
  5. 有效载荷类型:指出后面的RTP数据属于何种格式的应用。收到RTP分组的应用层就根据此字段指出的类型进行相应的处理。
  6. 序号:对每一个发送的RTP分组,其序号加1,在一次RTP会话开始时的初始序号是随机选择的。序号使接收端能发现丢失的分组。
  7. 时间戳:反应当前RTP分组中数据的第一个字节的采样时刻。在一次会话开始时时间戳是随机选择的,后续按偏移即可。接收端使用时间戳可以准确知道应当在什么时间还原哪个数据块,从而消除时延的抖动,还可以用来使得视频应用中声音和图像同步。
  8. SSRC:用来标识RTP流的来源,类似于streamID.有多个RTP流复用同一个UDP用户数据报时,使用SSRC可使得接收端的UDP能够将收到的RTP流送到各自的终点。
  9. CSRC:一个32位数,最多15个。用来标志来源于不同地点的RTP流。在多播环境中,可以使中间的一个站把发往同一个地点的多个RTP流混合成一个流,在目的站再根据CSRC的数值把不同的RTP流分开。

3.2 实时传输控制协议RTCP

RTCP(RTP control Protocol)是与RTP配合使用的协议,与RTP协议不可分割。
主要功能:

  1. 服务质量的监视和反馈
  2. 媒体间的同步
  3. 播组中成员的标识

3.2.1 RTCP分组

在这里插入图片描述
在这里插入图片描述

3.3 H.323

在这里插入图片描述

3.3.1 H.323的体系架构

在这里插入图片描述

3.3.2 H.323指明的四种构件

在这里插入图片描述
在这里插入图片描述

3.4 会话发起协议SIP

在这里插入图片描述

3.4.1 SIP系统的构件

在这里插入图片描述

3.4.2 SIP过程

在这里插入图片描述

3.4.2.1 SIP登记器

在这里插入图片描述

在这里插入图片描述

3.5 会话描述协议SDP

在这里插入图片描述

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

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

相关文章

第一天:爬虫介绍

每天上午9点左右更新一到两篇文章到专栏《Python爬虫训练营》中,对于爬虫有兴趣的伙伴可以订阅专栏一起学习,完全免费。 键盘为桨,代码作帆。这趟为期30天左右的Python爬虫特训即将启航,每日解锁新海域:从Requests库的…

稀土抑烟剂——为汽车火灾安全增添防线

一、稀土抑烟剂的基本概念 稀土抑烟剂是一类基于稀土元素(如稀土氧化物和稀土金属化合物)开发的高效阻燃材料。它可以显著提高汽车内饰材料的阻燃性能,减少火灾发生时有毒气体和烟雾的产生。稀土抑烟剂不仅能提升火灾时的安全性,…

计算机网络-MPLS转发原理

在上一篇关于 MPLS 基础的文章中,我们了解了 MPLS 的基本概念、术语以及它在网络中的重要性。今天,我们将深入探讨 MPLS 转发的原理与流程,帮助大家更好地理解 MPLS 是如何在实际网络中工作的。 一、MPLS 转发概述 MPLS 转发的本质是将数据…

网络安全 | SNI介绍及F5中的配置应用

关注:CodingTechWork SNI介绍 SNI(Server Name Indication)是 TLS/SSL 协议中的一个重要扩展,旨在解决同一 IP 地址上托管多个网站时,如何选择正确的 SSL/TLS 证书进行加密通信的问题。SNI 通过在 TLS 握手初期传递客…

ARM Cortex-M3/M4 权威指南 笔记【二】架构

一、架构 1.1 架构简介 Cortex-M3/M4 处理器都基于 ARMv7-M 架构。最初的 ARMv7-M 架构是随着 Cortex-M3 处理器一同引入的,而在 Cortex-M4 发布时,架构中又额外增加了新的指令和特性,改进后的架构有时也被称为 ARMV7E-M。要了解 ARM7-M 和…

LabVIEW软件需求开发文档参考

在项目开发的工作历程中,精准把握项目需求无疑是成功打造整个项目的首要关键步骤,同时也是一个至关重要且不可忽视的核心环节。明确且详尽的项目需求就如同建筑的基石,为后续的设计、开发、测试等一系列工作提供了坚实的支撑和清晰的指引。倘…

Linux内核实时机制x - 中断响应测试 Cyclictest分析1

Linux内核实时机制x - 中断响应测试Cyclitest 1 实时性测试工具 rt-test 1.1 源码下载 1.下载源码: ~/0-code/5.15$ git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git 正克隆到 rt-tests... remote: Enumerating objects: 5534, done. remot…

Unity 代码优化记录

文档 unity 代码优化分析:https://docs.unity3d.com/Manual/analysis.html Unity 修复性能问题:https://learn.unity.com/tutorial/fixing-performance-problems-2019-3?courseId5c87de35edbc2a091bdae346#604586d7edbc2a5b4345d249 实例 具体枚举转En…

Arcgis/GeoScene API for JavaScript 三维场景底图网格设为透明

项目场景: 有时候加载的地图服务白色区域会露底,导致在三维场景时,露出了三维网格,影响效果,自此,我们需要将三维场景的底图设为白色或透明。 问题描述 如图所示: 解决方案: 提示…

snort3.0-ubuntu18.04 64入侵检测安装与使用ailx10ailx10​​知乎知识会员

在日常生活中,很多人怀疑自己的手机、电脑被监控了,担心自己的隐私泄漏,实际上最佳的检测方式就是终端检测,也就是EDR,但是就是有那么多的人在网上大放厥词,说任何EDR杀毒软件都检测不到监控,毕…

AI语言模型的技术之争:DeepSeek与ChatGPT的架构与训练揭秘

云边有个稻草人-CSDN博客 目录 第一章:DeepSeek与ChatGPT的基础概述 1.1 DeepSeek简介 1.2 ChatGPT简介 第二章:模型架构对比 2.1 Transformer架构:核心相似性 2.2 模型规模与参数 第三章:训练方法与技术 3.1 预训练与微调…

AI赋能前端协作:效率提升与团队新动力

当前前端开发领域竞争激烈,项目交付周期紧迫,前端开发团队面临着诸多挑战。沟通成本高、代码规范不统一、开发效率低等问题,常常导致项目延期、质量下降,甚至团队士气低落。而AI代码生成器的出现,为解决这些问题带来了…

Django快速入门

1. 安装 在安装了python环境下,在命令行winr,录入 pip install django或者使用国内源下载 pip install -i https://pypi.douban.com/simple/ django安装完成后,在%python%/Scripts目录下会出现如下图的django-admin.exe的文件 以及django…

Windows可以永久暂停更新了

最终效果图: 第一步: winR组合键打开运行对话框,输入“regedit”,点击“确定”或回车: 第二步: 注册表定位到“\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings”,新建DWO…

在anaconda环境中构建flask项目的exe文件

一、创建并激活虚拟环境 conda create -n flask_env python3.9 # python版本根据项目需求安装 conda activate flask_env # 激活环境二、安装必要依赖 推荐使用conda,pip没尝试过,但是deepseek给出了命令 conda install flask …

C++ Primer 条件语句

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

微服务SpringCloud Alibaba组件nacos教程【详解naocs基础使用、服务中心配置、集群配置,附有案例+示例代码】

一.Nacos教程 文章目录 一.Nacos教程1.1 Nacos简介1.2 nacos基本使用直接下载打包服务源码方式启动 1.3 创建nacos客服端1.4 nacos集群配置1.5 nacos配置中心 1.1 Nacos简介 nacos是spring cloud alibaba生态中非常重要的一个组件,它有两个作用: 1:注册…

在 Navicat 17 中扩展 PostgreSQL 数据类型 - 范围类型

范围类型 PostgreSQL 是市场上最灵活的数据库之一,这已不是什么秘密。事实上,PostgreSQL 的可扩展性和丰富的功能集使 PostgreSQL 近期已超越 MySQL,成为最受开发人员推崇和最受欢迎的数据库系统。在这个使用 Navicat Premium 17 在 Postgre…

内容测试2

备注: 在7月10日记录之前遇到的问题及解决方法: 一:常见的访问问题: 403 Forbidden:(未有请求权限) 表示服务器理解请求但是拒绝执行它。这通常是由于服务器上的文件或资源没有正确的读、写或执行权限&…

安川伺服控制器MP系列优势特点及行业应用

在工业自动化领域,运动控制器的性能直接决定了设备的精度、效率和可靠性。作为全球领先的运动控制品牌,安川电机伺服控制器凭借其卓越的技术优势和广泛的应用场景,正在为智能制造注入强劲动力! MP3100:主板型运动控制…