相當(dāng)一段時(shí)間都在關(guān)注voip的事情,浪費(fèi)了不少時(shí)間,現(xiàn)在把現(xiàn)階段的結(jié)論寫下來(lái)。
目前擁有voip功能的IM種類繁多,區(qū)分它們的主要是協(xié)議。msn, qq, Gtalk, skype, wengo, ekiga等等都是基于不同的協(xié)議。這些協(xié)議又可以分為兩大類:標(biāo)準(zhǔn)開放的協(xié)議(Open Protocol)和商業(yè)封閉的協(xié)議(Proprietary Protocol)。諸如qq,msn,yahoo,skype之類的都是各自為營(yíng)的封閉協(xié)議,而Gtalk, openwengo, ekiga的協(xié)議則是開放的。比較著名的開放協(xié)議是Jabber.org的XMPP,還有一個(gè)是Simple Initialization Protocal(SIP)。Gtalk用的便是XMPP。
各個(gè)IM軟件之間的互通問(wèn)題,本質(zhì)上是個(gè)商業(yè)問(wèn)題,不以u(píng)ser的意志為轉(zhuǎn)移的。每一個(gè)IM公司都不會(huì)輕易將自己的用戶資源拱手相送。原來(lái)總夢(mèng)想著有一天IM們互通,現(xiàn)在開來(lái)這將是一個(gè)持久戰(zhàn),除非有全新的技術(shù)來(lái)改變這個(gè)行當(dāng)。而且,正是因?yàn)榛ネㄟb遙無(wú)期,才會(huì)刺激gaim, meebo等的生機(jī)。
因此,基于文本的互通都是問(wèn)題,就不奢談audio和video了。
最近我全面使用xubuntu了,這使得我不得不解決和windows用戶的語(yǔ)音視頻聊天問(wèn)題。搜索了很久,試用了Skype, Jabbin, Tapioca, aMSN, Wengophone, Ekiga, Gaim等等,沒(méi)有萬(wàn)全之策。這其中的各種問(wèn)題就不多說(shuō)了,結(jié)論是目前Skype+aMSN是解決linux用戶語(yǔ)音視頻聊天的最好手段。
gaim是個(gè)好東東,但它的問(wèn)題在于開放進(jìn)度太緩慢,現(xiàn)在為止還沒(méi)有語(yǔ)音視頻的影子。它的主要開發(fā)者被google雇用了,背后也許隱藏著商業(yè)目的,使得可以實(shí)現(xiàn)的東西遲遲不去實(shí)現(xiàn)。不過(guò)這也是我個(gè)人猜測(cè)而已。OpenQQ被Google Code Camp的參與者加入了Gaim官方的發(fā)行版怎么說(shuō)也是一個(gè)好的方向吧。
這是一家法國(guó)電信巨頭,它贊助了openwengo的項(xiàng)目,這個(gè)項(xiàng)目采用SIP協(xié)議實(shí)現(xiàn)了全面的語(yǔ)音視頻功能,并且還把libgaim借過(guò)來(lái)用,也就是說(shuō)gaim能干的活它也基本上都能干。不知道這個(gè)項(xiàng)目的核心程序員是不是法國(guó)的,太浪漫了點(diǎn),2.0的bug一大堆,真是不應(yīng)該發(fā)布final release的。還好現(xiàn)在在準(zhǔn)備2.1,已經(jīng)發(fā)布了rc1和rc2,應(yīng)該說(shuō)還是有進(jìn)步的,期待2.1的final釋放出來(lái)。對(duì)wengo還是比較看好的,只要它們能發(fā)布一個(gè)穩(wěn)定的版本。另外,有興趣可以去看看wengovisio,這是目前大概唯一一個(gè)基于web的語(yǔ)音視頻聊天gadget了,它可以嵌入你的blog,讓訪問(wèn)頁(yè)面的人隨時(shí)可以和你進(jìn)行語(yǔ)音視頻聊天。不過(guò)由于服務(wù)器在法國(guó),這個(gè)延時(shí)還是不小的。
google很聰明阿,它05年就說(shuō)要推出linux版,不過(guò)現(xiàn)在還沒(méi)有影子,很明顯不是它做不到,而是它另有打算。剛剛發(fā)布的gtalk gadget基于flash9,目的很明顯,基于web的解決方案天然就是跨平臺(tái)的。我們可以在gtalk gadget里面看見"call"的按鈕,雖然現(xiàn)在還不好用,但是據(jù)這個(gè)項(xiàng)目的負(fù)責(zé)人說(shuō),正在努力實(shí)現(xiàn)基于flash的語(yǔ)音功能。這背后的一個(gè)重要事實(shí)是adobe大幅修改了flash8的結(jié)構(gòu),正在為基于flash的voip和p2p服務(wù)提供了堅(jiān)實(shí)基礎(chǔ)。
Jabbin是一個(gè)基于xmpp的項(xiàng)目,我看它的主要目的也就是和googletalk通通。它實(shí)現(xiàn)了語(yǔ)音互通,但是質(zhì)量實(shí)在是不敢恭維,大概和當(dāng)年qq剛開始采用語(yǔ)音功能的時(shí)候效果差不多,雜音很大。這里不得不說(shuō)的是,gtalk雖然采用了開放的協(xié)議xmpp,但是gtalk本身是不開源的,它的核心之一的音頻處理算法dsp是個(gè)大亮點(diǎn),個(gè)人感覺音質(zhì)甚至比skype都好。在這點(diǎn)上Jabbin顯的很無(wú)力,我想這也是Jabbin聲音不好的關(guān)鍵問(wèn)題。
skype很成功,可能也是目前解決linux-win之間語(yǔ)音聊天的最好辦法。它是免費(fèi)的商業(yè)軟件,協(xié)議是proprietory的。原來(lái)聽說(shuō)國(guó)內(nèi)有人用逆向工程破解了skype的協(xié)議,不過(guò)現(xiàn)在好像也沒(méi)有下文,不知道是不是炒作。skype目前的linux版本還不支持視頻,所以還要找個(gè)能視頻的東東,也就是下面要說(shuō)的amsn。
amsn破解了msn的專署協(xié)議,實(shí)現(xiàn)了和msn的文本及視頻通信,但是卻放棄了聲音,為什么呢?因?yàn)槲④浽趍sn中的聲音編碼很復(fù)雜,amsn的開發(fā)者們沒(méi)有耐心和信心做了。所以說(shuō),現(xiàn)在amsn還是有點(diǎn)跛腳。好在它的視頻支持的很好,很流暢,大概使用了STUN的緣故,破網(wǎng)關(guān)的能力也很強(qiáng),根據(jù)我的經(jīng)驗(yàn),在貓+hub+無(wú)線路由器這樣的網(wǎng)絡(luò)中也能成功連接出去,甚至比live messenger都好。
Tapioca提出了一套基于xmpp的框架,和telephony協(xié)議也有關(guān)系,具體什么關(guān)系我也不清楚,跟jabbin好像又不一樣,總之目前還不算成熟。Ekiga就是原來(lái)的Gnomeeting,基于SIP的,沒(méi)怎么試過(guò),傳說(shuō)可以和windows netmeeting互通。
結(jié)論是目前Skype+aMSN是解決linux用戶語(yǔ)音視頻聊天的最好手段。
<07.06.21 補(bǔ)充>最近用了一下Gizmo,是個(gè)免費(fèi)商業(yè)軟件。gizmoproject和語(yǔ)音路由提供商gtalk2voip.com合作,現(xiàn)在能夠和google talk進(jìn)行通話了,效果已經(jīng)很不錯(cuò)了。同時(shí)通過(guò)gtalk2voip的語(yǔ)音中轉(zhuǎn)服務(wù),gizmo據(jù)稱還可以和msn和aim的用戶語(yǔ)音,不過(guò)沒(méi)有試成功過(guò)。