linux下的独立gtalk客户端,支持语音和传文件(已上传源码)
-
- 帖子: 136
- 注册时间: 2007-05-07 7:17
linux下的独立gtalk客户端,支持语音和传文件(已上传源码)
等了快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
[/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。
bon courage!!!
以前找过,只发现一个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
[/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。
bon courage!!!
上次由 xiongqin 在 2009-03-06 7:03,总共编辑 21 次。
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
Re: linux下的独立gtalk客户端,支持语音和传文件
老兄, 软件的源文件呢,是不是忒兴奋了?我倒是想试试。
另外, 能不能把纯命令行的也发上来。 毕竟有些人, 比如我, 就更倾向于命令行。
我要源文件,不要deb包。因为我还在用704, 若你仅仅放了deb的包, 估计很有可能我用不了。
最好分别用java, qt, gtk,写3个界面, 让不同的人各取所需
另外, 能不能把纯命令行的也发上来。 毕竟有些人, 比如我, 就更倾向于命令行。
我要源文件,不要deb包。因为我还在用704, 若你仅仅放了deb的包, 估计很有可能我用不了。
最好分别用java, qt, gtk,写3个界面, 让不同的人各取所需
上次由 yjcong 在 2009-03-04 16:06,总共编辑 1 次。
一梦三年,
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
-
- 帖子: 136
- 注册时间: 2007-05-07 7:17
Re: linux下的独立gtalk客户端,支持语音和传文件
哥们,说了稍后传上来。。。我都困的不行了,。。。
有部分文件我需要修改和删除,还有写一下编译安装说明,
主程序本身就是命令行的,启动时候加参数,不要启动图形界面就行了。
有部分文件我需要修改和删除,还有写一下编译安装说明,
主程序本身就是命令行的,启动时候加参数,不要启动图形界面就行了。
- luojie-dune
- 帖子: 22033
- 注册时间: 2007-07-30 18:28
- 系统: Linux
- 来自: 空气中
Re: linux下的独立gtalk客户端,支持语音和传文件
哇。。。直接建个项目啊。。。
菜鸟向你致谢。
尽快的话也许Ubuntu 9.04里就有你的XXPalk了
菜鸟向你致谢。
尽快的话也许Ubuntu 9.04里就有你的XXPalk了
-
- 帖子: 136
- 注册时间: 2007-05-07 7:17
Re: linux下的独立gtalk客户端,支持语音和传文件
你爷爷的,我说我帖子怎么不见了,还以为话太多被版主删除了。。。感觉没说啥不和谐的东西阿,解释清楚一点是应该的么。
原来是被扔到这里来了。。。
不行了,睡觉去。
原来是被扔到这里来了。。。
不行了,睡觉去。
- garylao
- 帖子: 157
- 注册时间: 2008-05-16 7:32
- 联系:
Re: linux下的独立gtalk客户端,支持语音和传文件
哈哈,支持,
尽管俺不能开发新的软件。
9.04是不可能了,等9.10吧!
尽管俺不能开发新的软件。
9.04是不可能了,等9.10吧!
- sammysun
- 帖子: 4088
- 注册时间: 2007-12-08 23:33
- 来自: SCUT-guangzhou
Re: linux下的独立gtalk客户端,支持语音和传文件
希望能做好一些阿
- sfbi
- 帖子: 796
- 注册时间: 2007-09-06 11:41
- 来自: Bergen
Re: linux下的独立gtalk客户端,支持语音和传文件
楼主大哥啊,建一个开源项目吧?俺们的linux gtalk靠您了
- lerosua
- 论坛版主
- 帖子: 8455
- 注册时间: 2007-11-29 9:41
- 联系:
Re: linux下的独立gtalk客户端,支持语音和传文件
牛人咋这么多哩,当初俺看libjingle看得一头雾水,楼兄轻描淡写的就搞定了。哎,不得不感叹,这人与人之间的差距咋那么大哩。可耻地匿了吧。
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系:
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- Jarson
- 帖子: 2371
- 注册时间: 2008-07-21 9:44
- 来自: 深圳
- 联系:
Re: linux下的独立gtalk客户端,支持语音和传文件
咱坛子里牛人不少啊,期待~~
俺们菜鸟只能声援了,为大牛们加油
俺们菜鸟只能声援了,为大牛们加油
- lerosua
- 论坛版主
- 帖子: 8455
- 注册时间: 2007-11-29 9:41
- 联系:
Re: linux下的独立gtalk客户端,支持语音和传文件
光这样都牛了。eexpress 写了:仅仅支持调用库的混合im
话说,libjingle的编译依赖很麻烦的哩,尤其是语音的那个。期待楼主的源码。
- planwolf
- 帖子: 721
- 注册时间: 2008-08-22 10:47
- 来自: dg
- mymathersname
- 帖子: 2870
- 注册时间: 2008-09-18 23:40
- 系统: Ubuntu 15.04 x64
- 来自: Mars
Re: linux下的独立gtalk客户端,支持语音和传文件
嗯,难道要编译安装,呵呵,小白加我一个……
转移各位校内,百毒朋友,把目标转向twitter和facebook,别总看局域网的内容
其实从那么多的ubuntu发行版和fedora的各个发行版中,我们不难看出,linux的进步是惊人的,从长久的发展规律和更加深远的意义来看,linux桌面版与微软的距离在缩小,这是值得庆幸的……
ubuntu是半年还去偷情一次的初恋。fedora是一生挚爱的正室。debian是和正室同等地位的妾侍。rh/cent是用来偷窥的正室大姐姐。suse是一夜夫妻百二蚊。gentoo是有内涵的才女。arch是久闻其名不敢接触的怪叔叔。其余发行版,我是帝皇它们是屁民,无福宠幸。
其实从那么多的ubuntu发行版和fedora的各个发行版中,我们不难看出,linux的进步是惊人的,从长久的发展规律和更加深远的意义来看,linux桌面版与微软的距离在缩小,这是值得庆幸的……
ubuntu是半年还去偷情一次的初恋。fedora是一生挚爱的正室。debian是和正室同等地位的妾侍。rh/cent是用来偷窥的正室大姐姐。suse是一夜夫妻百二蚊。gentoo是有内涵的才女。arch是久闻其名不敢接触的怪叔叔。其余发行版,我是帝皇它们是屁民,无福宠幸。