音视频协议

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

相关推荐
英英_7 小时前
视频爬虫的Python库
开发语言·python·音视频
weixin_5275504010 小时前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
ai产品老杨10 小时前
减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
前端·vue.js·算法·ecmascript·音视频
红米饭配南瓜汤13 小时前
WebRTC中的几个Rtp*Sender
网络·网络协议·音视频·webrtc·媒体
EasyDSS16 小时前
EasyRTC嵌入式音视频通信SDK助力物联网/视频物联网音视频打造全场景应用
人工智能·音视频
aqi0016 小时前
FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码
ffmpeg·音视频·直播·流媒体
babytiger18 小时前
rk3588 上运行smolvlm-realtime-webcam,将视频转为文字描述
音视频
Icoolkj18 小时前
Komiko 视频到视频功能炸裂上线!
人工智能·音视频
sukalot18 小时前
window 显示驱动开发-DirectX 视频加速 2.0
音视频
冷凌爱18 小时前
每天总结一个html标签——Audio音频标签
前端·html·音视频