音视频协议

embedded/2025/2/13 7:03:33/

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.ppmy.cn/embedded/161809.html

相关文章

Python3创建虚拟环境

个人博客地址:Python3创建虚拟环境 | 一张假钞的真实世界 Python虚拟环境主要是为了解决Python多版本及模块间版本兼容的问题。创建虚拟环境的方法很简单,使用下面的命令即可: python3 -m venv PySparkEnv PySparkEnv即虚拟环境的主目录。…

Ubuntu20.04上搭建nginx正向代理提供上网服务

背景:公司很多电脑因软件管控问题不得不禁止设备上网,现需搭建上网代理服务器提供给这些用户使用。 操作系统:ubuntu20.04 工具:nginx-1.25.4 1、下载nginx安装包及依赖 由于nginx默认只持支持转发http协议,所以如…

DeepSeek 与网络安全:AI 驱动的智能防御

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 随着人工智能(AI)的快速发展,深度学习技术正渗透到多个领域,从医疗诊断到…

Python----PyQt开发(PyQt高级:组件大小,界面位置,按钮,文本显示,文本输入,字体大小)

一、大小 setMinimumSize(width, height) 描述: 设置控件的最小尺寸。控件不会被缩小到比这个尺寸更小的大小。 参数: width: 最小宽度(以像素为单位)。 height: 最小高度(以像素为单位)。 button.setMinimumSize(100, …

day 40 复习makefile以及51单片机

1.makefile 1.流程 1.将源文件和头文件以及库分别放在src include lib中 2.在源码目录下创建一个名为makefile的文件 3.编写makefile代码。 4.make编译 2.怎么编写代码 通过定义变量 将gcc main.c tree.c queue.c -o app -lm -lpthread 转换 1.定义变量(所有变…

2025Java面试题超详细整理《微服务篇》

什么是微服务架构? 微服务框架是将某个应用程序开发划分为许多独立小型服务,实现敏捷开发和部署,这些服务一般围绕业务规则进行构建,可以用不同的语言开发,使用不同的数据存储,最终使得每个服务运行在自己…

Hyperledger caliper 性能测试

前言:Hyperledger caliper 的本质是使用node对被测试网络进行压力测试,因此需要nodejs。本次使用 Hyperledger caliper 0.5 对 fabric 1.4.6进行压测 准备条件:nodejs 16 (略 linux下 解压环境变量即可) # 创建工作…

Python解决“数字字符串千分位转化”问题

Python解决“数字字符串千分位转化”问题 问题样例 解决代码 问题 A在工作时遇到了一个问题,他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。A还发现,有时候输入的数字字符串前面会有无用的 0&am…