linux下的独立gtalk客户端,支持语音和传文件(已上传源码)

由本社区发起的开源项目
回复
xiongqin
帖子: 136
注册时间: 2007-05-07 7:17

linux下的独立gtalk客户端,支持语音和传文件(已上传源码)

#1

帖子 xiongqin » 2009-03-04 3:40

等了快3年了实在等不到google出官方的了,windows下面就发现这个的语音质量最好了,软件小巧速度又快功能又实用,朋友基本都有gmail帐号。和我女人语音聊天的时候全靠这个,虚拟机就是为这个东西装的。

以前找过,只发现一个emthory还是什么的tapioca勉强可以用,不过依赖的库太多了,而且很多库都老的找不到,很难装,装好了发现语音质量实在不敢恭维,要不是跟我女人这么多年了,还真听不出来她是谁 -_-!。还有一个问题就是它的连接是基于dbus的,登录后如果非正常关闭,帐号是始终登录的,而且dbus会记录已经建立连接,阻止下次登录。。。除非手动关闭dbus或者修改源代码让程序非正常退出的时候也能关闭dbus连接。

06年google就说要发布linux下的,pidgin的leader也说过,不过到今天了都还没兑现,好不容易gmail里面可以支持视频了结果还是不支持linux。

记得05年的时候google就发布了自己的libjingle库,gtalk就是基于这个库开发的,基本上只要xmpp,就是以前的jabber协议,都支持的。实在不能忍了,刚好前段时间学校放了一个星期假,就重新把这个库翻出来看看,弄了一个,本来只想自己留着用用算了,方便,不过也许有人跟我一样总要因为这个开个虚拟机呢。也不图个啥,当初目的就是为了自己的需要,尽量实现win下面的核心功能,现在传上来让想用的人也用用。也没有别的创意,直接照搬功能。。。库是c++的,也只能用c++写。

名字先想的是XXPalk,跟我女人有关。。。

先说明,主程序本身是命令行的,个人感觉很好用,也很稳定,本来只想自己用用的,朋友建议加个界面,也许大家也想用用,就周末弄了个。我个人是很喜欢qt的,不过怕引起无谓的争论,gtk,qt啥的我都不用了,用java弄了个简单的,纯属敷衍了事,丑是丑了点,实用第一么,咱就是老实。而且大家都有jre的,这个我不担心。我不懂ui设计,也没啥美学概念,有兴趣的就先凑活着用吧,要是有哪个哥们有空帮着弄个ui那就太感谢了,我的观点就是,win下面的gtalk是白的,咱就弄个黑的。。。全翻版。图片的话担心版权问题,自己懒得做,就在网上胡乱找了一个,声音更是没敢加,有人愿意提供的话先谢谢了。

主程序本身运行只占1M多的内存,一小界面就占去了12M,这java尴尬的。。。

只有源代码,捧场的就麻烦自己编译一下,如果用debian的那最好了,依赖的几个库自己装上,然后我给你个编译好的执行文件,运行应该不会有问题。

别的先不多说,先放上几张截图。

这个是登录界面
登录界面
登录界面


聊天窗口
聊天窗口
聊天窗口
对方有文件发送过来
等待接受文件
等待接受文件
接收文件
传输文件中
传输文件中
发送语音请求
发送语音请求
发送语音请求
开始语音
语音中
语音中

目前已知的存在的问题是,接受文件会保存在当前程序路径下(说了我很懒的,这都懒得改),所以如果你把程序考到了bin之类的路径下,文件传输会失败,请考虑权限问题。有必要的话过两天有空了我会加入路径选择功能。还有,如果有人在局域网监听你的某个端口的话,很容易探听到你打字上去的所有内容的,尤其是密码。。。这个确实是没有把界面写进去的最大弊端,不过有谁会这么无聊呢。。。

自定义头像,文本聊天中的表情这些功能我都保留了,当初命令行下面确实用不到。

如果有必要的话下个版本我会完全把界面加到程序中,保证效率和安全和完整性,外加视频功能,可以和windows下网页的gmail用户视频。快毕业了,事情也是特别多,只能大家都觉得有必要的时候抽空弄弄,我自己要求很低的,对那个没界面的已经满足了。。。

如果有人有兴趣,愿意帮我分担一点工作量的话,非常欢迎,毕竟自己的时间有限,如果以后真的功能真加多了,弄起来也麻烦,我会给大概解释一下libjingle和gtalk自己的一些非标准的功能和协议,毕竟这么多文档和源码,从头看清楚还是很浪费精力的,(而且里面bug不少,我fix了一些,用不到的我也不清楚。。。)然后加上一些额外功能,比如邮件通知,多人语音,多人视频,语音信箱等等。这些东西都是可以被支持的,windows下面的gtalk有些功能还没有的,咱们可以先有,反正他以后做出来了,只要还是用这个协议,咱一样能连。

拿出来给大家的东西不像自己留着用的,总不能太扯,所以还有点收尾的东西要做做,
稍后会传上来。

源代码大家随便改随便用,只要支持xmpp协议的都可以连,p2p,stun的也都可以,
觉得界面丑,可以自己做一个,反正界面和程序是完全独立的,都可以单独运行。遇到问题的也可以给我发邮件。
这个版本肯定有很多地方要改和完善,大家多提意见和建议,问候家人的话就免了。。。

稍后传上来程序之后我会写具体的编译安装方法。
我不知道怎么做成deb安装包,所以编译可能要花点时间。如果有哪个哥们有空愿意帮我做一个,或者愿意教我做一个,请联系我,先谢谢了。


-----------------生活就像是大便-----------------------


要有耐性,看着很多,其实步骤很少的,我只是尽量考虑到各种出现的情况,
说白了,如果顺利,就3步,./configure make 然后执行我的程序

具体编译执行方式如下:

正常情况下我改好的libjingle里面已经有了需要的库,不过有几个是需要装的
build-essential 这个不解释
libogg-dev 音频视频解码
libopenssl-dev 一种网络安全加密协议,
libgtk2.0-dev 并没有用到,但是libjingle依赖的linphone模块需要这个库,

ubuntu想语音的就装上下面两个,别的系统就不用了
libmediastreamer0-dev
libspeexdsp-dev


libtheora-dev libraw1394-dev libvorbis-dev libgsm-dev libavcodec-dev libswscale-dev

以上依赖以及打包的错误要感谢kmeng和yjcong的帮助

另外还有一个ilbc,我把源码也放在这里,需要的就装上,很小很小,不会导致编译错误,但是在部分系统上可能会无法语音。安装也是3步搞定,根据里面的readme文件,先configure , 然后make,make install,再重新去configure libjingle
msilbc-2.0.0.tar.gz
ilbc源码
(628.62 KiB) 已下载 1595 次

[/color]以下这4个库理论上是不用安装的,但是如果configure或者make的时候出错了,请参照XXPalk中的readme文件,安装一下4个库中缺少的
libortp7-dev mediastream要用到
libspeex-dev 同上
libmediastreamer0-dev
libexpat1-dev
-----------------有时候已经很努力了-------------------------

然后就可以开始编译了,(命令中不包含$。。。)
首先解压:$ tar xvf XXPalk_V1.tar.bz2
然后进入第一个目录$ cd XXPalk_V1
生成makefile文件$ ./configure 如果没有错误,正常情况下你没有库的依赖性问题了
开始编译$ make
去喝咖啡吧,很快就好,我6年的笔记本了,赛扬1,2g的,编译大概也就10分钟吧

出错了??最近没给老人让座吧?
贴出错误提示吧,也许我能解决。。。

没错?我替所有老人谢谢你,就快好了。。。
进入XXPalk_V1/talk/examples/xxpalk路径$ cd talk/examples/xxpalk

如果想执行命令行模式,执行$ ./xxpalk,按照提示输入帐号密码,ok,(如果输错了是要重新启动程序的。。。)
如果想执行图形模式,执行$ ./XXPalk_ui,如果登录了没反应,看看命令行下面的错误,如果是不停的刷出来NULL字符,请检查自己的人品,然后重新运行程序。
如果是别的错误,那你一定是看错了。。。

java界面的话理论上来说可以直接执行,不需要重新编译的,如果界面出不来,请检查你的系统java配置,这部分我不负责。ps:我貌似用的java6编译的。。。不过没用到里面的新特性,应该没问题。如果有问题,尝试进入
XXPalk_V1/talk/exemple/xxpalk/xxpalk_ui/ui
$ cd xxpalk_ui/ui 然后编译java程序,$ javac *.java

$ cd - 回到刚才路径 然后再运行图形模式

-----------------出来的只是个屁--------------------------

deb文件我实在不会,也没时间去看,如果有人愿意告诉我怎么做,或者直接帮我做的话,请于我联系,谢谢

-----------------还要在别人面前装作连屁都不是你的-------------------

我没有提供安装,因为路径是个问题,接受文件会保存在当前路径下。如果想编译好了把库删除,就运行$make install,会把libjingle装上去,
运行成功后就把XXPalk_V1/talk/examples/xxpalk/xxpalk_ui文件夹考到你想放的地方,同时把XXPaik_ui执行文件也考过去,和xxpalk方在同级目录下,自己做个ln指向XXPalk_ui就行了,以后运行的时候直接在命令行里面输入XXPalk_ui。
XXPalk_V1.tar.bz2
XXPalk源码
(1.53 MiB) 已下载 1871 次
bon courage!!!
上次由 xiongqin 在 2009-03-06 7:03,总共编辑 21 次。
头像
yjcong
帖子: 2470
注册时间: 2006-02-28 3:11

Re: linux下的独立gtalk客户端,支持语音和传文件

#2

帖子 yjcong » 2009-03-04 5:46

老兄, 软件的源文件呢,是不是忒兴奋了?我倒是想试试。

另外, 能不能把纯命令行的也发上来。 毕竟有些人, 比如我, 就更倾向于命令行。

我要源文件,不要deb包。因为我还在用704, 若你仅仅放了deb的包, 估计很有可能我用不了。

最好分别用java, qt, gtk,写3个界面, 让不同的人各取所需
上次由 yjcong 在 2009-03-04 16:06,总共编辑 1 次。
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
xiongqin
帖子: 136
注册时间: 2007-05-07 7:17

Re: linux下的独立gtalk客户端,支持语音和传文件

#3

帖子 xiongqin » 2009-03-04 5:56

哥们,说了稍后传上来。。。我都困的不行了,。。。
有部分文件我需要修改和删除,还有写一下编译安装说明,
主程序本身就是命令行的,启动时候加参数,不要启动图形界面就行了。
头像
luojie-dune
帖子: 22033
注册时间: 2007-07-30 18:28
系统: Linux
来自: 空气中

Re: linux下的独立gtalk客户端,支持语音和传文件

#4

帖子 luojie-dune » 2009-03-04 6:54

哇。。。直接建个项目啊。。。

菜鸟向你致谢。

尽快的话也许Ubuntu 9.04里就有你的XXPalk了
『这个世界都是我的 ,我爱你们』

ENTP ⥂ INTP ⥄ INFP ⇦ INTJ

在此发布的文章使用 Creative Commons Attribution-ShareAlike 4.0 协议
xiongqin
帖子: 136
注册时间: 2007-05-07 7:17

Re: linux下的独立gtalk客户端,支持语音和传文件

#5

帖子 xiongqin » 2009-03-04 7:18

你爷爷的,我说我帖子怎么不见了,还以为话太多被版主删除了。。。感觉没说啥不和谐的东西阿,解释清楚一点是应该的么。
原来是被扔到这里来了。。。
不行了,睡觉去。
头像
garylao
帖子: 157
注册时间: 2008-05-16 7:32
联系:

Re: linux下的独立gtalk客户端,支持语音和传文件

#6

帖子 garylao » 2009-03-04 8:07

哈哈,支持,
尽管俺不能开发新的软件。
9.04是不可能了,等9.10吧!
头像
sammysun
帖子: 4088
注册时间: 2007-12-08 23:33
来自: SCUT-guangzhou

Re: linux下的独立gtalk客户端,支持语音和传文件

#7

帖子 sammysun » 2009-03-04 8:07

希望能做好一些阿
头像
sfbi
帖子: 796
注册时间: 2007-09-06 11:41
来自: Bergen

Re: linux下的独立gtalk客户端,支持语音和传文件

#8

帖子 sfbi » 2009-03-04 8:24

楼主大哥啊,建一个开源项目吧?俺们的linux gtalk靠您了 :em11
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: linux下的独立gtalk客户端,支持语音和传文件

#9

帖子 lerosua » 2009-03-04 9:22

牛人咋这么多哩,当初俺看libjingle看得一头雾水,楼兄轻描淡写的就搞定了。哎,不得不感叹,这人与人之间的差距咋那么大哩。可耻地匿了吧。 :em20
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

Re: linux下的独立gtalk客户端,支持语音和传文件

#10

帖子 bones7456 » 2009-03-04 9:30

LZ好牛啊~放源码吧。。。
关注我的blog: ε==3
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: linux下的独立gtalk客户端,支持语音和传文件

#11

帖子 eexpress » 2009-03-04 10:27

仅仅支持调用库的混合im
● 鸣学
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

Re: linux下的独立gtalk客户端,支持语音和传文件

#12

帖子 Jarson » 2009-03-04 10:32

咱坛子里牛人不少啊,期待~~
俺们菜鸟只能声援了,为大牛们加油 :em11
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: linux下的独立gtalk客户端,支持语音和传文件

#13

帖子 lerosua » 2009-03-04 11:37

eexpress 写了:仅仅支持调用库的混合im
光这样都牛了。
话说,libjingle的编译依赖很麻烦的哩,尤其是语音的那个。期待楼主的源码。 :em11
头像
planwolf
帖子: 721
注册时间: 2008-08-22 10:47
来自: dg

Re: linux下的独立gtalk客户端,支持语音和传文件

#14

帖子 planwolf » 2009-03-04 11:57

期待。。。
头像
mymathersname
帖子: 2870
注册时间: 2008-09-18 23:40
系统: Ubuntu 15.04 x64
来自: Mars

Re: linux下的独立gtalk客户端,支持语音和传文件

#15

帖子 mymathersname » 2009-03-04 12:54

嗯,难道要编译安装,呵呵,小白加我一个……
转移各位校内,百毒朋友,把目标转向twitter和facebook,别总看局域网的内容
其实从那么多的ubuntu发行版和fedora的各个发行版中,我们不难看出,linux的进步是惊人的,从长久的发展规律和更加深远的意义来看,linux桌面版与微软的距离在缩小,这是值得庆幸的……
ubuntu是半年还去偷情一次的初恋。fedora是一生挚爱的正室。debian是和正室同等地位的妾侍。rh/cent是用来偷窥的正室大姐姐。suse是一夜夫妻百二蚊。gentoo是有内涵的才女。arch是久闻其名不敢接触的怪叔叔。其余发行版,我是帝皇它们是屁民,无福宠幸。
回复