Libjingle 是google talk voice(语音聊天) 和 p2p interoperability(点对点操作)库,是提供了google talk,p2p文件共享和语音呼叫能力的组件集,libjingle包中包含了jingle和jingle语音以及两个被xmpp标准提议的扩展。

About libjingle (关于libjingle)

Libjingle 是一个开源包,用C++编写,我们可以利用包里的一些应用例子来构建自己的p2p应用。Libjingle库实现了“创建网络链接”,“会话协商”和“数据交换”。

(“创建网络链接”指 NAT和firewall穿越,relay servers, and proxies(即服务器中继和代理)。

“会话协商” 指 编码,格式等。)

它也提供了一些像XML解析和网络代理操作这样的帮助类。可以利用libjingle创建以下的应用:

多用户语音聊天应用

多用户视频会议应用

多用户音乐流直播应用

P2p文件共享应用

Libjingle是google Code计划中运行于windows 和 UNIX/Linux操作系统的开发包,这个文档是对包中的readme文件的补充。

Libjingle的一些无关紧要的说明,比如,您可以把libjingle应用于商业和非商业用途,并可以任意发布之类的,此处省略。

Libjingle用到的第三方库的详细,请到google查看具体说明。

Jingle and libjingle

Libjingle库几乎和jingle的xpmm扩展(XEP-0166)同时诞生,libjingle团队使用了自己的协议,尽管libjingle库中的协议和jingle协议非常相似,但它们是不同的,它们是互不兼容的。

Organization of the SDK(SDK组织形式)

Libjingle 库包含了以下几个文件夹:

目录

描述

base/

一些底层函数的包装类,比如:套接字和线程。

p2p和会话组件使用到了这些类

examples/

包含以libjingle创建的两个例子:call和file share。还有一些这两个例子用到的其它文件。

p2p/

包含 协商,确定链接,和维持复杂网络环境下p2p链接的一些组件的类,

session/

针对“不同的交换数据类型”的p2p会话,进行特殊化操作的一些类,比如:声音或文件。

third_party/

存放libjingle需要的各种第三方库的默认文件夹。比如,Linphone和GIPS VoiceEngine Lite文件都应该被安装在这里,语音聊天例子程序用到的这两个库,就应该放在这个文件夹内。

xmllite/

解析和生成XMPP节的类

xmpp/

发送和接收XMPP请求,管理普通XMPP服务器任务(比如,登录或出席会议)的一些类。

Libjingle 库的更多相关文章

  1. Libjingle库简介

    原文链接 国内现在很多语音聊天工具都是基于TURN方式实现的,包括YY.AK等等,这种方式对于服务器的性能要求很高,而且在用户量增大的时候,服务器压力也会越来越大,用户的语音质量也会受到很大影响.而基 ...

  2. Libjingle库 综述

    国内现在很多语音聊天工具都是基于TURN方式实现的,包括YY.AK等等,这种方式对于服务器的性能要求很高,而且在用户量增大的时候,服务器压力也会越来越大,用户的语音质量也会受到很大影响.而基于P2P方 ...

  3. libjingle线程机制

    libjingle包装了所有的线程,包括signaling thread,worker thread, 和其它任何线程,用talk_base::Thread来包装.所有的 Thread对象由Threa ...

  4. WebRTC

    WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Globa ...

  5. WebRTC音视频引擎研究(1)--整体架构分析

    WebRTC技术交流群:234795279 原文地址:http://blog.csdn.net/temotemo/article/details/7530504     1.WebRTC目的     ...

  6. Android IOS WebRTC 音视频开发总结(九)-- webrtc入门001

    下面这篇介绍webrtc的文章不错,我花了大半天翻译了一下. 翻译的时候不是逐字逐句的,而是按照自己的理解翻译的,同时为了便于理解,也加入一些自己组织的语言. 本文主要介绍webrtc的信令,stun ...

  7. WebRTC 音视频开发之路

    早在2014年就通过WebRTC实现了PC客户端的实时视频语音,那时P2P连接的建立使用的WebRTC自带的libjingle库,使用peerconnection的API实现的.后来在做远程桌面,文件 ...

  8. Android WebRTC 音视频开发总结

    www.cnblogs.com/lingyunhu/p/3621057.html 前面介绍了WebRTCDemo的基本结构,本节主要介绍WebRTC音视频服务端的处理,,转载请说明出处(博客园RTC. ...

  9. webrtc教程

    cdsn博客不支持word文件,所以这里显示不完全.可到本人资源中下载word文档: v0.3:http://download.csdn.net/detail/kl222/6961491 v0.1:h ...

随机推荐

  1. 云-腾讯云:视频解决方案-un

    ylbtech-云-腾讯云:视频解决方案 一站式视频解决方案,包含直播.点播.互动直播.云通信等产品:发布网络覆盖全球.海量转码设备.数十年深厚音视频技术积淀. 1.返回顶部   2.返回顶部   3 ...

  2. SQL Server 日期转换成字符串

    参考网址:http://wenku.baidu.com/view/970c6c1655270722192ef70e.html 下面是常用的几个 --返回06-27-13 ), ) --2013-06- ...

  3. bzoj 4137 [FJOI2015]火星商店问题【CDQ分治+可持久化trie】

    其实我不太清楚这个应该叫CDQ分治还是整体二分 参考:http://blog.csdn.net/lvzelong2014/article/details/78688727 一眼做法是线段树套可持久化t ...

  4. [App Store Connect帮助]七、在 App Store 上发行(2.3)设定价格与销售范围:为您的 App 选择地区

    您可以选择希望您的 App 在 App Store 上可用的地区.默认情况下,所有地区都被选中,但您可以取消选中您不想销售您 App 的地区.新地区或已更改地区的 App Store 会在 24 小时 ...

  5. 【POJ - 1661】Help Jimmy (动态规划)

    Help Jimmy Descriptions: "Help Jimmy" 是在下图所示的场景上完成的游戏. 场景中包括多个长度和高度各不相同的平台.地面是最低的平台,高度为零,长 ...

  6. vs2013 安装 mvc5 的方法

    工具-->NuGet程序包管理器-->程序包管理器控制台 然后 PM>Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

  7. jQuery笔记之data方法

    成品图如下所示: 搭建HTML+CSS结构 <style> /* 给tpl设置为不可见,因为我们不需要用到他,我们只是要克隆他身上的东西,克隆完就把他删掉.就跟渣男一样!!!*/ .tpl ...

  8. 【同步工具类】CountDownLatch

    闭锁是一种同步工具类,可以延迟线程的进度直到其达到终止状态. 作用:相当于一扇门,在到达结束状态之前,这扇门一直是关闭的,并且没有任务线程能够通过,当到达结束状态时,这扇门会打开并允许所有的线程通过, ...

  9. 面试杂谈:面试程序员时都应该考察些什么?<转>

    一般来说,一线成熟企业技术岗位的典型招聘流程分为以下几个步骤: 初筛:一般由直接领导的技术经理或HR进行,重点考察教育和工作经历 一面:一般由可能直接与之共事的工程师进行,重点考察基础和工作能力 二面 ...

  10. 【BZOJ3514】Codechef MARCH14 GERALD07加强版(LCT_主席树)

    题目: BZOJ3514 分析: 看到这题真的是一脸懵逼无从下手,只好膜题解.看到「森林的联通块数 = 点数 - 边数」这一句话就立刻什么都会了 QAQ . 这题最重要的就是意识到上面那个式子(正确性 ...