精华内容
下载资源
问答
  • 互联网即时通讯中IP组播技术的应用

    千次阅读 2014-12-01 14:20:12
    在Internet上,多媒体业务诸如:流媒体,视频会议视频点播等,正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性--单点发送多点接收,因为服务器必须为每一个接收者提供一个相同...

    在Internet上,多媒体业务诸如:流媒体,视频会议和视频点播等,正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性--单点发送多点接收,因为服务器必须为每一个接收者提供一个相同内容的IP报文拷贝,同时网络上也重复地传输相同内容的报文,占用了大量资源。在这种情况下组播(multicast)应运而生,它的出现解决了一个主机向特定的多个接收者发送消息的方法。1989年,IETF通过RFC1112,定义了Internet上的组播方式。

       主机组的成员可以动态变化,主机有权选择加入或者退出某个主机组。主机可以加入多个主机组,也可以向自己没有加入的主机组发送数据。主机组有两种:永久组和临时组。永久组的IP地址是周知的,由Internet管理机构分配,是保留地址。临时组的地址则使用除永久组地址外的非保留D类地址。

          IP组播分组在互联网上的转发由支持组播的路由器来处理。主机发出的IP组播分组在本子网内被所有主机组成员接收,同时与该子网直接相连的组播路由器会把组播报文 转发到所有包含该主机组成员的网络上。组播报文传递的范围由报文的生存期值(TTL, Time-to-Live)决定,如果TTL值等于或者小于设置的路由器端口TTL门限值(TTL Threshold),路由器将不再转发该报文。

    单个数据流可以发送到多个客户端的组播能力已成为大多数多媒体应用的传输手段。组播技术利用一个IP地址使IP数据报文 发送到用户组。IP组播采用了特殊定义的目的IP地址和目的MAC地址。IGMP为客户端提供加入和离开组播组的方式。CGMP使路由器为交换机配置组播 转发表,并告诉交换机当前的组播成员。指派路由器根据对网络中的组播成员的分布和使用的不同采用密集模式DM或稀疏模式SM组播路由协议来构造组播的分布 树,而这个分布树将在源子网和组播组之间确定一条唯一路径以提高数据传输效率。

    IP组播技术需要三层交换机,或路由器支持,通常应用于专用网络,如:教育网、广电网以及企业内部网等,使用IP组播技术可以极大的降低数据发送方的带宽要求,最大的好处是可以让数据接收方的数量成千上万,而不会造成网络的阻塞。

    AnyChatPlatform Core SDK V4.0新增了对IP组播技术的支持,下面介绍如何使用相关的API接口,典型的加入多播组,并向多播组发送数据的代码如下:

     

    1.//设置本地组播策略

    2.DWORD dwMultiCastPolitic = 1;

    3.BRAC_SetSDKOption(BRAC_SO_NETWORK_MULTICASTPOLITIC,(constchar*)&dwMultiCastPolitic,sizeof(DWORD));

    4. 

    5.//加入多播组

    6.DWORD dwFlags = BRAC_MCFLAGS_JOINGROUP | BRAC_MCFLAGS_SENDDATA|BRAC_MCFLAGS_RECVDATA;

    7.BRAC_MultiCastControl("224.2.3.4",9810, "",5,dwFlags);

     

    上面的代码中“dwFlags”标志指示加入多播组“224.2.3.4:9810”,本地的数据通过该多播组进行传输,同时,自己也从该多播组接收其它用户的音视频数据。

     

    当需要本地发送组播数据时,设置本地组播策略是必须的,因为系统默认是采用服务器所配置的网络数据传输策略(AnyChatCoreServer.ini中的“RoutingPolicy”配置项)进行数据发送,如不设置本地组播策略,则不会向组播地址发送数据,设置之后,可以将本地的数据发送多个组播地址和端口,如下面的代码表示音视频数据将向“224.2.3.4:9810”、“224.2.3.4:9812”两个组播端口广播数据:

     

    1.//设置本地组播策略

    2.DWORD dwMultiCastPolitic = 1;

    3.BRAC_SetSDKOption(BRAC_SO_NETWORK_MULTICASTPOLITIC,(constchar*)&dwMultiCastPolitic,sizeof(DWORD));

    4. 

    5.//加入多播组

    6.DWORD dwFlags = BRAC_MCFLAGS_JOINGROUP | BRAC_MCFLAGS_SENDDATA;

    7.BRAC_MultiCastControl("224.2.3.4",9810, "",5,dwFlags);

    8.BRAC_MultiCastControl("224.2.3.4",9812, "",5,dwFlags);

    当系统有多块网卡,而需要向其中某一块网卡连接的网络进行组播时,可通过“BRAC_MultiCastControl”的第三个参数来指定即可,第三个参数是指定网卡的IP地址。

    展开全文
  • 即时通讯技术

    千次阅读 2016-05-20 22:35:25
    即时通讯技术(IMPP、IRCP、CPIM、SIMPLE、XMPP、XML、SIP、Jabbe

    即时通讯技术概述 (IMPP、IRCP、CPIM、SIMPLE、XMPP、XML、SIP、Jabbe

       即时通讯技术(IM)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容。大多数常用的即时通讯发送程序都会提供各种各样的功能:

    • 即时通讯 - 在用户和在线朋友之间来回发送信息

    • 聊天 - 创建用户与朋友或工友的自定义聊天室

    • 网页链接 - 共享用户喜爱的网址

    • 支持图片 - 浏览朋友计算机中的图片

    • 支持声音 - 给朋友播放音乐

    • 支持文件传输 - 直接将文件发送给朋友,以便于共享

    • 交谈 - 使用 Internet,而不是电话,与朋友们进行真正的交谈

    • 影音串流内容 - 实时或准实时的股市行情或新闻

       有许多的 IM 系统,如 AOL IM、Yahoo IM 和 MSN IM,它们使用了不同的技术,而且它们互不兼容。为了创建即时通讯的统一标准,人们经过了多次尝试:IETF 的对话初始协议(SIP)和 即时通讯对话初始协议和表示扩展协议(SIMPLE)、应用交换协议(APEX)、显示和即时通讯协议(PRIM)及基于 XML 且开放的可扩展通讯和表示协议(XMPP)协议(常称为 Jabber 协议)。人们多次努力,试图统一各大主要 IM 供应商的标准(AOL、Yahoo 及 Microsoft),但无一成功,且每一种 IM 仍然继续使用自己所拥有的协议。


    这些常用的即时通讯传送协议如下:

    • 可 扩展通讯和表示协议(XMPP):用于流式传输准实时通信、表示和请求 - 响应服务等的 XML 元素。XMPP 基于 Jabber 协议,是用于即时通讯的一个开放且常用的协议。尽管 XMPP 没有被任何指定的网络架构所融合,它还是经常会被用于客户机 / 服务器架构当中,客户机需要利用 XMPP 协议通过 TCP 连接来访问服务器,而服务器也是通过 TCP 连接进行相互连接。

    • 即 时通讯对话初始协议和表示扩展协议(SIMPLE):SIMPLE 协议为 SIP 协议指定了一整套的架构和扩展方面的规范,而 SIP 是一种网际电话协议,可用于支持 IM /消息表示。SIP 能够传送多种方式的信号,如 INVITE 信号和 BYE 信号分别用于启动和结束会话。 SIMPLE 协议在此基础上还增加了另一种方式的请求,即 MESSAGE 信号,可用于发送单一分页的即时通讯内容,即分页模式的即时通讯。SUBSCRIBE 信号用于请求把显示信息发送给请求者,而 NOTIFY 信号则用于传输显示信息。较长 IM 对话的参与者们需要传输多种的延时信息,它们使用 INVITE 和一个叫做消息会话中继协议(MSRP)。与 SIMPLE 协议结合,MSRP 协议可用于 IM 的文本传输,正如与 SIP 协议相结合,RTP 协议就可以用于传输 IP 电话中的语音数据包一样。

    • Jabber: Jabber 是一种开放的、基于 XML 的协议,用于即时通讯消息的传输与表示。国际互联网中成千上万的服务器都使用了基于 Jabber 协议的软件。Jabber 系统中的一个关键理念是 “传输”,也叫做“网关”,支持用户使用其它协议访问网络 — 如 AIM 和 ICQ、MSN Messenger 和 Windows Messenger、SMS 或 E-mail。

    • 即时通讯通用结构协议(CPIM):CPIM 定义了通用协议和消息的格式,即时通讯和显示服务都是通过 CPIM 来达到 IM 系统中的协作。

      网际转发聊天协议(IRCP):IRCP 支持两个客户计算机之间、一对多(全部)客户计算机和服务器对服务器之间的通信。该协议为大多数网际即时通讯和聊天系统提供了技术基础。IRC 协议在 TCP/IP 网络系统中已经得到了开发,尽管没有需求指定这是 IRC 协议的唯一操作环境。IRC 协议是一种基于文本的协议,使用最简单的客户端程序就可作为其连接服务器的接口(socket)程序。


    XMPP 开发相关参考资料


    http://strophe.im/

    http://strophe.im/strophejs/

    XMPP客户端库,包括javascript和C的实现


    https://github.com/ging/social_stream/wiki/Getting-Started-With-Social-Stream-Presence

    一篇讲架构的文章,图文并茂


    http://xmpp.org/xmpp-software/libraries/

    许多相关的库


    http://stackoverflow.com/questions/4769020/android-and-xmpp-currently-available-solutions

    Android与XMPP



          设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务器作为即时通讯平台。

             系统主要由以下部分组成:

    一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给授权的客户端、服务器等;

    二是客户终端。它与服务器相连,通过XMPP获得由服务器或任何其它相关的服务所提供的全部功能。三是协议网关。完成XMPP协议传输的信息与外部消息系统可识别信息间的翻译。再就是XMPP网络。实现各个服务器、客户端间的连接。系统采用客户端(Client)/服务端(Server)架构体系结构。

     

    客户端:

            客户端基于Android平台进行开发。负责初始化通信过程,进行即时通信时,由客户端负责向服务器发起创建连接请求。系统通过GPRS无线网络与Internet网络建立连接,通过服务器实现与Android客户端的即时通信脚。


    服务器端:

           服务器端则采用Openfire作为服务器。允许多个客户端同时登录并且并发的连接到一个服务器上。服务器对每个客户端的连接进行认证,对认证通过的客户端创建会话,客户

    端与服务器端之间的通信就在该会话的上下文中进行。

     

    1.1服务器端设计

            androidpn服务器端是java语言实现的,基于openfire开源工程,Web部分采用的是spring框架,这一点与openfire是不同的。Androidpn服务器包含两个部分,一个是监听特定端口上的XMPP服务,负责与客户端的XMPPConnection类进行通信,作用是用户注册和身份认证,并发送推送通知消息。另外一部分是Web服务器,采用一个轻量级的HTTP服务器,负责接收用户的Web请求。

           主要的四个组成部分,分别是SessionManager,Auth Manager,PresenceManager以及Notification Manager。SessionManager负责管理客户端与服务器之间的会话,Auth Manager负责客户端用户认证管理,Presence Manager负责管理客户端用户的登录状态,NotificationManager负责实现服务器向客户端推送消息功能。

           系统客户端基于Android手机平台。采用XMPP作为即时通讯协议。XMPP是基于XML,实现任意两个网络终端准实时的交换结构化信息的通信协议。采用Android平台提供的XML解析包对XML进行解析。由于应用活动都运行于主线程。故用多线程技术来解决系统通讯问题。针对通信安全问题.系统的用户信息和聊天信息在客户端存储在Android平台自身所带的SQLite数据库中,多媒体文件和图片文件存储在Android平台虚拟文件存储设备SD Card中。

     

            通讯模块负责与服务器建立通讯旧。通过创建3个线程来进行处理。分别负责消息的发送、接收和心跳信息的发送;解析模块主要用来解析XML数据流。根据解析元素不同类型封装成不同的数据对象:数据模块定义整个客户端中大部分的数据类型和对象;应用模块包括即时通信、图片浏览和音乐播放。是客户端和用户交流的接口;加密模块对发送和接收的消息进行加解密。以确保通讯数据的安全。

     

    系统的客户端分为5大模块进行设计开发,如图2所示。


           通讯模块负责与服务器建立通讯旧。通过创建3个线程来进行处理。分别负责消息的发送、接收和心跳信息的发送;解析模块主要用来解析XML数据流。根据解析元素不同类型封装成不同的数据对象:数据模块定义整个客户端中大部分的数据类型和对象;应用模块包括即时通信、图片浏览和音乐播放。是客户端和用户交流的接口;加密模块对发送和接收的消息进行加解密。以确保通讯数据的安全。

    加密(首先将二进制码转换成BASE64码,在转换成BASE64码之后,再进行MD5加密,)

    XMPP服务器之间、客户与服务器之间采用的是TCP连接罔。TCP提供一种瓦向连接、可靠的字节流服务。保持一个实时双向的传输通道。TCP将用户数据打包构成报文段。它发送数据后启动一个定时器,等待对端数据确认,另一端对收到的数据进行确认,对失序的数据重新排序,并丢弃重复数据;TCP提供端到端的流量控制。计算和验证一个强制性的端到端检验。但是GPRS网络对TCP链路存在一个限制。当TCP链路在长时间无有数据流量时。会自动降低此链路的优先级直至强制断开此链路。所以在应用中.采用发送心跳的方式来维持此链路。

     数据格式

            XML是XMPP系统架构的核心。它能表述几乎任何一种结构化数据。特别是XMPP利用XML数据流进行客户端一服务器端、服务器端一服务器端的通信。XML数据流一般是由客户端发起至服务端,XML数据流的有效时间直接与用户的在线会话有效时间相关联。

     协议消息格式

    XMPP协议包括3个顶层XML元素:Message、Presence和IQm。Message用来表示传输的消息,当用户发送一条消息时。就会在流的上下文中插入一个Message元素,中间有用户发送的相关信息;Presence用来表示用户的状态。当用户改变自己的状态时。就会在数据流的上下文中插入一个Presence元素,用来表示用户现在的状态;IQ用来表示一种请求,响应机制,从一个实体发送请求,另外一个实体接受请求并响应。

    后台Servic:


    从类的层次看这个结构比较简单,让其变得复杂的是,其里面有三个线程:主线程,进行Xmpp通信线程,连接出错重试线程。


    对图说明:

      1. 在NotificationService里创建一个单线程,让其对服务器进行连接,由于使用Xmpp连接服务器要分为三步:连接,注册,登陆。所以用一个栈来保存要执行的Task任务(ConnectTask,RegisterTask,LoginTask),还后再按这个顺序进行执行。

      2. 连接Xmpp服务器的线程用的是Executors.newSingleThreadExecutor(),这个本身可以不停的submit任务。为什么还要自己用一个栈来保存Task了

      3. 连接线程在连接,注册,登陆的过程中,都有可能出错,都可能会失败,这时我就要有一个重连的机制,在Androidpn里开了另外一个线程来进行重试,其重试不是每次都按多少秒来进行重试,而是有其自己的规则。 

      4. 在LoginTask里,如果登陆了服务器端,其就会注册一个监听器,用于监听服务器push的数据包(Packet),再通过发送广播的方式来通知要进行显示的程序。

      5. 在登陆服务器后,也有可能出错,所以在登陆后,会设置一个ConnectionListener,用于监听连接出错的时候,再合适重连线程,进行重连

      6. 在登陆过程中,有一种错误要单独处理,就是账号和密码无效的时候,这个时候其返回的状态码是401,这种情况应该把本地保存的帐号和密码都清掉,再重新进行连接,不然会永远都登陆不上服务器端。

    由于该系统所有的功能实现都是基于网络间的XML流的通信,所以,需要有一个模块专门负责网络问通信和XML流的处理,主要功能包括服务器和客户端之问通信时TCP套接字的处理,XML流的解析、存储等功能。


    数据模块负责XML流的解析和封装的XML模块,主要功能是:将XML流解析成java对象,将iava对象封装成XML流;

    其流程是XMPP服务器接收到XML流之后,会有渎取器将其读取出来并将其作为入口参数传入XML解析器,XML解析器通过对其命名空间的解析,从而确定将剩余的XML元素解析出来并传入相应的;ava对象中,从而最终将XML转换成iava对象,然后将iava对象传入应用程序模块中,实现其请求完成的功能并返回iava对象,但是该iava对象不能在网络中直接传输,必须先转换成XML节,于是,该iava对象会被传入XML封装器中,被封装成XML节,通过XMPP服务器的发送端口发往目的节点。

    java对象处理模块处理流程如下:当该模块接收到iava对象时,会先将该对象通过解密算法和解密密钥解密成base64码,然后f耳将base64码转换成二进制码,从而实现对java对象的解析。当完成业务逻辑处理后,该模块会将返回的java对象先由二进制码转换成base64码,然后用加密算法将其加密,这里的加密算法是由双方在建立会话时通过三次握手协议协商的。

    当XML节被封装成java对象后,必须被转发至订:确的模块中加以处理,这就要求有一个路由转发模块,如图3—3所示。该模块的实现原理是:在系统启动时加载该路由模块,从而在内存中创建了一块路由模块,记录了命名空和功能模块之间的对应关系,当iava对象被封装好之后,系统会读出其命名空间,再在路由表中查找其所对应的模块,从而动态地加载该模块,并将该java对象转发至该模块,从而实现路山转发的功能


    基于XMPP协议的Android即时通信系

    展开全文
  • 即时通讯开发技术

    2012-12-11 14:35:22
    即时通讯开发,也叫音视频即时通信开发。随着互联网的发展,人们之间的交流逐步从电话移向网络。每天都有相当多的人在使用各种网络交流工具,如Anychat,腾讯QQ,ICQ,MSN,新浪微博。  可以看出人们对于网络上...
    即时通讯开发,也叫音视频即时通信开发。随着互联网的发展,人们之间的交流逐步从电话移向网络。每天都有相当多的人在使用各种网络交流工具,如Anychat,腾讯QQICQMSN,新浪微博。
      可以看出人们对于网络上即时的沟通方式是非常敏锐的,所能容纳的程度也远远超过我们的预计。然而目前大部分网络交流工具都还是以文字为主,语音视频功能大部分还是不够成熟,完全通过网络实现语音视频需要考虑到很多方面,如:硬件、软件、技术、网络;等等。纯文字沟通方式效率非常低而且也不符合人们平素的习惯,作为一种消遣的工具尚可,远未达到一种真正的沟通方式。因此,即时通讯开发诞生了。
          
    简而言之,即时通讯开发就是通过开发一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,整合音视频编码、多媒体通讯开发技术而设计的高质量、宽适应性、分布式、模块化的网络音视频互动平台来满足人们的即时通讯需求。

    即时通讯开发涉及到的技术领域十分广泛,主要涉及以下几个领域:

    1、音频技术:
        AAC于1997年形成国际标准ISO 13818-7。先进音频编码AAC开发成功,成为继MPEG-2音频标准(ISO/IEC13818-3)之后的新一代音频压缩标准。
        AAC主要可能的应用范围集中在因特网网络传播、数字音频广播,包括卫星直播和数字AM、以及数字电视及影院系统等方面。AAC使用了一种非常灵活的熵编码核心去传输编码频谱数据。具有48 个主要音频通道,16 个低频增强通道,16 个集成数据流, 16 个配音,16 种编排。
    因此,AAC无疑是最好的即时通讯音频编码标准之一。

    2、视频技术:
        目前最先进的视频技术非H.264莫属,H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。H.264具有许多与旧标准不同的新功能,它们一起实现了编码效率的提高。特别是在帧内预测与编码、帧间预测与编码、可变矢量块大小、四分之一像素运动估计、多参考帧预测、自适应环路去块滤波器、整数变换、量化与变换系数扫描、熵编码、加权预测等实现上都有其独特的考虑。

    3、网络技术:
        即时通讯讲究的是点对点,或者一对多的通讯。因此,P2P(点对点技术)作为一种网络新技术进入即时通讯开发人员的视野。针对可不经过服务器中转的音视频应用,采用了P2P通信技术,该技术的核心在于防火墙的穿越。使用P2P通信技术,可以大大的减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞。支持UPNP协议,自动搜索网络中的UPNP设备,主动打开端口映射,提高P2P通信效率。
      事实上,网络上现有的许多服务可以归入P2P的行列。即时通讯系统譬如ICQ、AOL Instant Messenger、Yahoo Pager、微软的MSN Messenger以及国内的QQ是最流行的P2P应用。它们允许用户互相沟通和交换信息、交换文件。用户之间的信息交流不是直接的,需要有位于中心的服务器来协调。

    4、API接口技术:
        即时通讯开发必须采用动态缓冲技术来适应不同网络环境(局域网、企业专网、互联网、3G网络),根据不同的网络状态动态调节相关参数,使得即时通讯平台在多种网络环境下均有良好的表现,并特别针对互联网、3G网络等应用场合进行优化,为上层应用提供视频质量的动态调节接口、音频质量的动态调节接口。

    5、保密技术:
        开发即时通讯平台时,不得不考虑到的问题就是保密问题了。比较通用的保密技术有:
    a、自定义服务器端口。服务器所使用的TCP、UDP服务端口均可自定义(在服务器的.ini文件中配置),实现服务的隐藏;
    b、加密传输服务器与客户端之间的底层通信协议。
    c、服务器设置连接认证密码。
    d、服务器内部设置安全检测机制,一旦检测到当前连接的客户端有非法操作嫌疑(如内部通信协议没有按既定的步骤进行)时,主动断开该客户端的连接,并记录该连接的IP地址,在一段时间内不允许重新连接。
    如果对上面的有何异议或者说不赞同说法,欢迎加QQ交流1817878898
    展开全文
  • 即时通讯音视频解决方案 音视频技术处理  音视频即时通讯技术方面,云智真即时通讯音视频SDK包含了音视频处理模块(采集、编解码)、流媒体管理模块(丢包重传、抖动平滑、动态缓冲)、流媒体播放模块(多路混音、音...

      即时通讯音视频解决方案 音视频技术处理
      音视频即时通讯技术方面,云智真即时通讯音视频SDK包含了音视频处理模块(采集、编解码)、流媒体管理模块(丢包重传、抖动平滑、动态缓冲)、流媒体播放模块(多路混音、音视频同步)以及P2P网络模块(NAT穿透、UPnP支持)等多个子模块,封装了底层的硬件操作(音视频采集、播放)、封装了流媒体处理(编解码、网络传输)等非常专业和复杂的技术,为上层应用提供简单的API控制接口,可以在极短的开发周期,以及极少的人力资源投入下为客户的现有平台增加音视频即时通讯、多方会议的功能。
    云智真即时时通讯音视频SDK,是一套跨平台的即时通讯音视频解决方案。基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术的技术上,再整合了云智真在音视频编码、多媒体通讯领域领先的开发技术和丰富的产品经验,而设计的高质量、宽适应性、分布式、模块化的网络音视频互动平台(支持Windows、Web、Linux、Android、Ios、Mac)。

      1 云智真即时通讯音视频SDK分为客户端SDK和服务器SDK两大部分,其中客户端SDK用于实现语音、视频的交互以及其它客户端相关的功能,而服务器SDK主要实现业务层逻辑控制,以及与第三方平台的互联等。客户端SDK和服务器SDK均支持C++、C#、vbnet以及Delphi等开发语言。
      2 云智真即时通讯音视频SDK采用动态缓冲技术来适应不同网络环境(局域网、企业专网、互联网、3G网络),根据不同的网络状态动态调节相关参数,使得云智真即时通讯音视频SDK在多种网络环境下均有良好的表现,并特别针对互联网、3G网络等应用场合进行优化,为上层应用提供视频质量的动态调节接口、音频质量的动态调节接口。
      3 通过云智真即时通讯音视频SDK,可以开发具有企业特色的即时通讯系统、视频游戏系统、视频会议系统、网络教学系统以及在线客服系统等,系统的功能、界面完全由企业定制,底层通信协议加密传输,多重安全防护,保密性强。
      4 云智真 可以作为在线游戏的音视频引擎,也可以作为视频会议、网络教育、IM系统、网络视频聊天系统等互动平台的核心库,还可以应用于政府应急指挥平台、专家远程协商平台等专用系统。云智真音视频互动开发平台目前已广泛应用于在线视频游戏、网站视频聊天、企业视频会议、军队远程指挥、政府应急指挥平台、数字电视、数学家庭等领域。
      5 云智真即时通讯音视频SDK支持跨平台的应用为客户提供了广阔的应用空间。如实现Windows桌面用户的语音视频交互的同时,还可以定制嵌入式硬件解决方案,实现嵌入式硬件与Windows桌面应用的互联互通,在部队远程指挥、政府应急系统、数字化家庭、移动视频监控以及移动音视频采集等领域有广泛的应用空间。参考:Linux 即时通讯中如何部署音视频 SDK
      6 云智真即时通讯音视频SDK采用先进的AAC(Advanced Audio Coding)语音编码体系,AAC是MPEG1/2 Audio 的下一代有损音频编码, 并且是MPEG-4 使用的音频编码,AAC采用了感知子带技术(perceptual sub-band technology),与MP3等其它编码器相比,AAC编码器很大程度地改善了数据压缩率和声音品质。
      7 云智真即时通讯音视频SDK全面支持静音检测(VAD)、噪音抑制(NS)、自动增益(AGC)以及回音消除(AEC)等音效处理,极大提高用户体验。清晰、细腻的视频效果云智真采用国际领先的视频编码标准H.264(MPEG-4 part 10 AVC /H.264)编码,H.264/AVC 在压缩效率方面有着特殊的表现,一般情况下达到MPEG-2 及MPEG-4 简化类压缩效率的大约2 倍。H.264具有许多与旧标准不同的新功能,它们一起实现了编码效率的提高。特别是在帧内预测与编码、帧间预测与编码、可变矢量块大小、四分之一像素运动估计、多参考帧预测、自适应环路去块滤波器、整数变换、量化与变换系数扫描、熵编码、加权预测等实现上都有其独特的考虑
      8 云智真针对可不经过服务器中转的音视频应用,采用了P2P通信技术,该技术的核心在于防火墙的穿越。使用P2P通信技术,可以大大的减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞。支持UPNP协议,自动搜索网络中的UPNP设备,主动打开端口映射,提高P2P通信效率。
      9 云智真采用拥有自主知识产权的“MultiPath”P2P网络路由算法,将服务器上的用户组成一个P2P互通的网络,流媒体数据在用户之间传递,减少对服务器的网络带宽占用,实现了一个高性能P2P网络核心。传统的P2P网络应用(如P2P在线影院)所采用的算法需要长时间(如30秒,或更长)的缓冲,不适合即时通讯领域所要求的低延迟的目标,“MultiPath”P2P网络路由算法便是针对即时通讯领域专门设计的P2P网络算法,它保留了P2P网络原有的网络带宽优势,同时又极大的降低了中间的缓冲时间。
      云智真音视频直播SDK功能特点:
      让开发者一次实现所有实时功能,一个极简 SDK 全平台支持和互通,API 接口丰富,灵活调用,最快 30 分钟可完成接入,云智真提供一个极简SDK让开发者接实时虚拟通信网,在任何App和网站实现高质量的音频通话、视频通话、全互动直播。
      1、跨平台支持
      2、Web 与 Native 互通,手机端和 Web 可以互通,极大方便开发者的全平台业务
      3、5000+ 设备支持,适配全部 iOS 设备和 5000+ Android 终端设备,保证用户体验一致,为开发者节省大量时间
      4、API 接口灵活调用,小接口也能办大事,1)选择模式,通信或直播,2)开启视频,3)设置视频显示模式,本地/远端,4)设置视频分辨率,更改视窗布局,5)开始通话,加入频道,6)结束通话,离开频道
      5、开放第三方接入,支持第三方的功能 API 接入和自定义滤镜、美颜、加密、人脸识别、鉴黄、卡通换脸等均支持第三方接入,滤镜、美颜、加密、人脸识别、鉴黄、卡通换脸
      6、通话质量数据实时监控,通话质量数据,终端用户分布地区,通话设备平台分布,网络状况分布
      7、独家专利编解码,适应公共互联网专利编码,对抗传输信道不稳定,码率根据带宽自适应调整,
      1)全频带音质,44.1kHz 超宽频音质,将普通电话音质提高6倍
      2)超高清画质,最高支持 720P 超清画质,高清晰度低码率,与网络深度结合,基于人眼视觉体验质量优化
     

    展开全文
  • 即时通讯(Instant Messenger,简称IM)软件多是基于TCP/IPUDP进行通讯的,TCP/IPUDP都是建立在更低层的IP协议上的两种通讯传输协议。前 者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起...
  • 基于即时通信和LBS技术的位置感知服务(二):XMPP协议总结以及开源解决方案 2012-3-28 17:38| 发布者: hyacinth| 查看: 20| 评论: 0|原作者: coolnote 在《基于即时通信和LBS技术的位置感知服务(一...
  • 音视频互动平台已成为各大行业音视频即时通讯的新热点,随着社会的发展与网络技术的进步,音视频技术以全新领域凸显了网络信息时代的飞跃发展。  目前,音视频即时通讯已是旺盛的市场必不可少的需求。从行业分布来
  • 即时通讯 音视频 开发技术

    千次阅读 2015-02-11 14:17:40
    音视频软件开发,也叫音视频即时通信开发。随着互联网的发展,人们之间的交流逐步从电话移向网络。每天都有相当多的人在使用各种网络交流工具,如MSN,腾讯QQ,Anychat,ICQ,新浪微博。  可以看出人们对于网络上...
  • IM-即时通讯技术概述

    2015-08-09 20:43:00
    IM-即时通讯技术概述 简述 即时通讯技术(IM)支持用户...即时通讯 - 在用户在线朋友之间来回发送信息 聊天 - 创建用户与朋友或工友的自定义聊天室 网页链接 - 共享用户喜爱的网址 支持图片 - 浏览朋友计算...
  • 即时通讯作为互联网最普及的基础服务之一,即时通讯用户规模每年都在稳步地增长。随着电子商务应用企业信息化建设的深入发展,即时通信软件在各种环境下凸显出的需求越发强烈。 还有另外一方面比较明显的区别,...
  • 音视频即时通讯中P2P的流媒体技术

    千次阅读 2014-07-21 11:40:12
    摘 要:P2P流媒体技术已成为网络应用中热门的技术之一,本文主要介绍流媒体,P2P的相关概念,并着重对P2P流媒体的关键技术进行了研究,最后又提出了P2P流媒体技术应该面对的挑战。
  • 又一个互联网爆发年,当前,互联网思维是个火爆的概念,传统的IT、通讯甚至是各行各业,都不可避免地受到冲击。这是一场商业重新组合,以互联网更开放的架构、功能模块,来重新拼接各行各业的革命。过去已经建立竞争...
  • Web端即时通讯技术原理详解

    千次阅读 2019-03-08 17:28:27
    有关IM(InstantMessaging)聊天应用(如:微信,QQ)、消息推送技术(如:现今移动端APP标配的消息推送模块)等即时通讯应用场景下,大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM(相关文章请...
  • 原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的。 系列文章 《即时通讯音视频开发(八):常见的实时语音通讯编码标准》 《即时通讯音...
  • Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询、Comet技术、WebSocket技术、SSE(Server-sent Events)。本文将简要介绍这4种技术的...
  • 微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造。微信支持跨通信运营商、跨操作系统平台通过网络快速发送免费(需...
  • 全站即时通讯技术资料分类 [1] 网络编程基础资料: 《TCP/IP详解 - 第11章·UDP:用户数据报协议》 《TCP/IP详解 - 第17章·TCP:传输控制协议》 《TCP/IP详解 - 第18章·TCP连接的建立与终止》 《TCP/IP...
  • 即时通信和实时通信

    2018-04-02 18:45:49
    实时通信与即时通信即时通信(im)实时通信(声网Agora.io)都是一套网络通信系统,其本质都是对信息进行转发。其最大的不同点,是对信息传递的时间规定。...二、产品需求点即时通讯:主要要求可靠,考核...
  • 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙。原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的。有关实时音视频开发时的...
  • 即时通讯开发,也叫音视频即时通信开发。随着互联网的发展,人们之间的交流逐步从电话移向网络。每天都有相当多的人在使用各种网络交流工具,如Anychat,腾讯QQ,ICQ,MSN,新浪微博。  可以看出人们对于网络上...
  • 即时通讯——P2P传输技术详解

    千次阅读 2014-07-23 15:15:58
    纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。 有些...
  • 即时通信和实时通信的区别

    万次阅读 2016-06-22 11:18:27
    即时通信(im)实时通信(声网Agora.io)都是一套网络通信系统,其本质都是对信息进行转发。其最大的不同点,是对信息传递的时间规定。二者的区别可以从以下几个方面: 一、场景 常见的即时通信场景包括文字聊天...
  • 原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的。 系列文章 《即时通讯音视频开发(二):视频编解码之数字视频介绍》 《即时通讯音视频...
  • 即时通讯(Instant Messenger,简称IM)软件多是基于TCP/IPUDP进行通讯的,TCP/IPUDP都是建立在更低层的IP协议上的两种通讯传输协议。前 者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起...
  • ylbtech-杂项-IM:IM(即时通讯),一种基于互联网的即时交流消息的业务 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越...
  • 原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的。 系列文章 《即时通讯音视频开发(四):视频编解码之预测技术介绍》 《即时通讯音视频...
  • 即时通信

    2016-06-02 20:50:48
    即时通讯(Instant Messaging) 是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,服务提供商也提供了越来越丰富的通讯服务功能. 即时通讯有多种实现方式,例如:XMPP, 环信, 融云等. XMPP...
  • 在很多即时通讯应用中,会根据应用场景的不同,需要对音频输入源进行选择,不同的应用场景对应不同的音频工作模式。需要支持多种音频工作(采集)模式,包括:  1、发言模式(默认):自动选择麦克风为音频输入源...
  • 在《基于即时通信和LBS技术的位置感知服务(一):提出问题及解决方案》一文中,提到尝试使用XMPP协议来实现即时通信。...GTalk是Google推出的IM(Instant Messaging,即时通讯)软件,类似于QQMSN。从技术

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,114
精华内容 11,245
关键字:

互联网技术和即时通讯技术