我有一个Linux设备,该设备应该通过RTP / UDP从各种实时音频源流传输到多个客户端,并且希望实现尽可能低的延迟。它的工作方式是从各种ALSA接口(interface)检索帧,并使用通用C套接字将它们作为RTP流转发。
我已经使用Wireshark进行了一些测试,并且可以确定在IP_TOS字段中正确设置了套接字的DSCP字段以进行快速转发,据我所知,这可以确保最大程度地减少该方面的延迟。
但是,我担心我没有做任何事情来将数据包标记为VoIP,以在网络上的每个节点(使用802.11e标准)上实现最佳的QoS,这可能会导致不尽人意的情况。潜伏。使我对此最可疑的是,根据我的Wireshark日志,我的数据包被标记为视频数据包,而不是音频/ VoIP:
所以,这是我的问题:
再说一次,我有点迷茫,我想我可能需要有人重击我,并告诉我所有这些工作原理。我在网上可以找到的所有内容似乎都与CISCO相关,并且我不确定如我在此说明的用途有多少用途。
最佳答案
QOSCreateHandle
。在Linux上,我猜您可以使用具有适当权限的原始套接字。 其他说明:所有这些实际上仅对您的传输机和局域网有效。如果数据包离开您的网络,则很可能所有QoS工作都会被忽略(例如,您的ISP)。因此,除非您在本地网络上出现拥塞,或者在导出路由器上出现拥塞,或者计算机本身没有I / O问题,否则您的努力是徒劳的。