wdyjz 发表于 2006-12-7 13:50:49

关于语音的网络传输问题和albview实现

我现在是采用的datasocket完成了语音的同步传输和播放,但发现即使使用声卡的最高采样率,同样有延迟现象.

不知道如何用TCP处理(一般情况下语音可以采用UDP传输,比如QQ),可能我做的TCP有问题,静态测试可以传送数组,动态采集的时候(通过MIC输入的时候)就不可正确接收了!我觉得问题是发送的数据量比较大的缘故.

那么如何采用什么样的算法能解决大数据量的高速传输,和压缩算法?保证实时性?消除回音(现在没有出现回音,以前做的时候出现过)?

lgh269 发表于 2006-12-8 10:11:48

帮Wdyjz顶上去

LabVIEW8 发表于 2006-12-8 10:59:26

回复 #1 wdyjz 的帖子

用UDP,设置适当的缓冲区大小和传输质量,有必要的话做一下压缩,我做过一个人讲多个人听的组播,效果还不错,网络性能对效果有决定性影响。

wdyjz 发表于 2006-12-8 15:32:31

理论上TCP/UDP/datasocket/shared variable都可以,我用TCP和DS在本机测试了,用最高的采样和16位精度,还有延迟.自己说话,从耳机中出来就不同步.
压缩算法据说小波也可以(一个信号处理的教授说的),还没有研究这!
我的一个同学采用direct com技术做过,现在正在查文章研究中.....

LabVIEW8 发表于 2006-12-8 16:15:46

1)你试试把语音采样率调为最低,8000就可以了,语音质量也调为mono,缓冲可调,100最快,基本同步,但可能会溢出;这些参数自己调一下,网络传输的时候使用UDP。UDP对一个包只验证5次,而TCP多达32次。语音适合使用UDP传输,没听清就再说一遍,:lol
2)我说的压缩特指语音专用压缩,如VOIP或非线性滤波等,当然很多算法都是在小波上发展出来的。

lgh269 发表于 2006-12-8 20:27:44

UDP感觉通信不好,用于文字还发送还可以,
对了,你用的是LV7吗?8.0以上就不可以调语音缓冲了哦

LabVIEW8 发表于 2006-12-9 00:23:27

UDP适合语音和图像的传输,为了保证速度,允许丢失啊;
我原来用的是lv 7,现在用8.2,还没有仔细看过,不过原来7的程序还是可以在8下用的。只是8下好像少了原来的那些函数了。虽然8.2还存在其他一大堆bug,但在内存管理方面比之前版本的确大大加强了。所以还是选择用8。

wdyjz 发表于 2006-12-9 13:33:11

直接采用DS,采样率设置高点,time delay小.
QQ上面用的算法是从国外一家公司直接购买的,可以消除回声,自适应带宽.
主要time delay 应该不是网络传输的问题,因为不用网络,直接采用同步的输入和输出,同样会有延迟.应该是声卡的质量问题了.
至于数据压缩和音\视频传输也不是我几天就可以搞定的,何况数学和信号处理的知识不行,需要恶补了.
这个问题留待感兴趣的朋友们一起努力解决了. 谢谢朋友们的关注和思考.

hjj954 发表于 2008-11-27 17:18:18

Labview 做语音网络传输

你所说的问题主要是语音压缩编码的问题,通过语音编码算法如G.729 或iLBC等可以将语音速率降到很低,关于回声和延迟也有相应的算法,如果你需要,我们可以一起研究。我主要是做语音编码的,我希望将其应用起来,但是用Labview 做语音网络传输出现了很多问题没有解决,希望你能给予指点。
页: [1]
查看完整版本: 关于语音的网络传输问题和albview实现