实时音视频传输的QoS问题?

时间:2022-08-13 08:43:04
如何在实时的音视频传输中保证服务质量?
类似于视频会议(这个好像一般都是一对一传输的)和网络电视等,从根节点采集数据,然后分发下来,整个结构是一个树形结构,即每个客户端也复杂分发数据给其他的客户端,大致如下图所示:
       Root(视频采集分发根节点)
     /  |  \
    A   B   C
   /|\     /|\
  D E F   H I J
  看RTP和RTCP协议是基于重传、流量控制和变速率编码来实现,并且好像大部分是对于一对一传输这个模型的,现在如果某个节点比如E节点网速比较慢,那么A节点减慢传输速度给E,可是D和F的节点是网络正常,那也就出现问题,发给每个人的速度不一样,那就得使用多个缓冲区,分别对应于每个子节点。这样似乎有点耗内存,因为实时的视频数据比较大的。
  变速率编码似乎在这里也不行,原因也一样,就是他的子节点速率不一致,总不能因为差的某些节点来影响其他所有的好的节点吧。并且变速率编码也不是那么容易写的。
  至于重传,那么造成的时延又怎么处理?
  请问一下高手,在这样情况下是如何保证QoS的?或者怎么选取一个折衷的方案?

15 个解决方案

#1


顶,好像是很复杂啊。我也在做这方面,交流啊:hxiang.zhang@gmail.com

#2


树状的P2P本身就存在很大的问题。
现在的P2P基本都是网状的。
分片交互方式的,树状的带宽会不够的

#3


厉害

#4


在发送的时候,做一下处理就可以了。你最好用重叠方式传,这样的话,你可以知道发送了多少,从而可以控制发送的速度。

#5


动态调整树型,把速率高的节点靠近书根,速率很低的节点放在叶子上.

#6


有點意思,up

#7


没有高手说说了吗?
等待中。。。
今天看到有“前向纠错”这个方法,就是利用后面的数据包来恢复前面丢掉的数据包,并且以音频数据优先,因为音频数据比较小,恢复可能比较好点。

#8


不会消耗多少内存的。
树状=>网状?

#9


网状好像管理起来比较复杂一点哦

#10


前向纠错 是以增加冗余来保证,如果带宽够那是没有问题
网状的实际上也不会复杂多少,就是保存的上级结点多些,而且是双向传输的.

#11


mark

#12


在网状处理的逻辑算法不是很成熟的时候,就牺牲效率来达到需求了..不然网状反而会影响结果..
GZ

#13


哈哈,我有个方案,基于UDP的

#14


mark,
谁有p2p技术方面的入门资料啊
想做一个文件共享系统

谢谢

#15


你可能参考一个开源的项目,我分析过,它就是基于树型的p2p 
www.peercast.org

#1


顶,好像是很复杂啊。我也在做这方面,交流啊:hxiang.zhang@gmail.com

#2


树状的P2P本身就存在很大的问题。
现在的P2P基本都是网状的。
分片交互方式的,树状的带宽会不够的

#3


厉害

#4


在发送的时候,做一下处理就可以了。你最好用重叠方式传,这样的话,你可以知道发送了多少,从而可以控制发送的速度。

#5


动态调整树型,把速率高的节点靠近书根,速率很低的节点放在叶子上.

#6


有點意思,up

#7


没有高手说说了吗?
等待中。。。
今天看到有“前向纠错”这个方法,就是利用后面的数据包来恢复前面丢掉的数据包,并且以音频数据优先,因为音频数据比较小,恢复可能比较好点。

#8


不会消耗多少内存的。
树状=>网状?

#9


网状好像管理起来比较复杂一点哦

#10


前向纠错 是以增加冗余来保证,如果带宽够那是没有问题
网状的实际上也不会复杂多少,就是保存的上级结点多些,而且是双向传输的.

#11


mark

#12


在网状处理的逻辑算法不是很成熟的时候,就牺牲效率来达到需求了..不然网状反而会影响结果..
GZ

#13


哈哈,我有个方案,基于UDP的

#14


mark,
谁有p2p技术方面的入门资料啊
想做一个文件共享系统

谢谢

#15


你可能参考一个开源的项目,我分析过,它就是基于树型的p2p 
www.peercast.org