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