返回

设计手机投屏安卓app(5)

音视频网络传输协议的选择

投屏传输的音视频,并对时延有比较苛刻的要求,基本上目前通过局域网络传输的投屏应用,时延超过200ms体验就比较差,较好的画质和时延折中的目标是控制在100ms内。

协议

  • UDP: 由RFC768定义的UDP只是做了运输协议能够做的最少工作,除了复用/分解功能和少量的差错检查外,几乎没有对IP增加别动东西.
  • TCP: 面向连接的可靠的数据传输协议.

对比

  • 采用UDP时应用进程将数据传递给UDP,UDP就会将数据打包进UDP报文并立即传送到网络层,TCP有拥塞控制机制,需要目的主机收到报文并加以确认.投屏应用是音视频有实时传输需要,不希望过分延迟报文传送,但能容忍一些数据丢失,TCP并不是特别适合这个要求。
  • TCP在开始数据传输之前要经过3次握手,UDP却不需要任何准备即可进行数据传输。
  • TCP需要在端系统中维护连接状态,包括接收和发送缓存、拥塞控制参数以及序号与确认号参数。UDP不维护连接状态,也不跟踪这些参数。
  • TCP报文都有20字节的首部开销,UDP只需要8字节

在将音视频块传递给UDP之前,需要专门为传输音视频设计的实时传输协议(RTP)或类似的方案,在下面章节中讨论RTP。