一种远程通讯的实现方法、装置及系统的制作方法

文档序号:10539177阅读:417来源:国知局
一种远程通讯的实现方法、装置及系统的制作方法
【专利摘要】本发明提供了一种远程通讯的实现方法、装置和系统。所述方法包括:SIP服务器发起通讯邀请;多个客户终端接受所述通讯邀请,建立远程通讯组;所述SIP服务器将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成,发送给每一所述客户终端。本发明实施例的远程通讯的实现方法、装置及系统,通过现有的计算机网络,充分利用普通计算机的CPU和图形处理能力,以及Windows系统的强大功能,避免使用专用设备,保证系统灵活性和可扩展性的同时,尽可能的降低了硬件成本和系统的开发、运行、维护成本。
【专利说明】一种远程通讯的实现方法、装置及系统
[0001]
技术领域
[0002]本发明涉及通信领域,尤其涉及一种远程协助的实现领域,具体的讲是一种远程通讯的实现方法、装置及系统。
【背景技术】
[0003]传统的远程通讯方法,例如视频会议模式多采用独立的网络、专用的会议终端、会议服务器和会议控制设备,其建设维护的成本高,周期长,会议模式较单一,设备利用率不高,已不再是如今视频会议模式的主流。
[0004]互联网模式的远程会议利用了现有的网络和PC,通过部署会议服务器/视频服务器,实现了基于PC的会议/协助功能。对比传统的视频会议模式,充分利用了现有设备和网络,大幅度降低了建设维护成本,并大幅度提升了业务的灵活性。但是,当前的基于互联网模式的会议系统,更多基于PC和互联网进行设计,和传统通信网络融合程度差,产生了明显的分隔;并且,互联网模式的视频会议系统更注重会议系统的功能完整性和一致性,一定程度上模仿传统会议模式,通常不支持传统模拟电话等电信网通信设备的接入,也不支持手机、摄像头等其他设备的接入。并且,在进行小型会议时,成本还是比较高。

【发明内容】

[0005]本发明提出一种远程通讯的实现方法、装置及系统,以实现低成本的会议沟通和简易的远程协助。
[0006]为了达到上述目的,本发明实施例提供一种远程通讯的实现方法,包括:SIP服务器发起通讯邀请;多个客户终端接受所述通讯邀请,建立远程通讯组;所述SIP服务器将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成,发送给每一所述客户终端。
[0007]为了达到上述目的,本发明实施例还提供一种远程通讯的实现装置,包括:邀请发起模块,用于向多个客户终端发起通讯邀请;信息处理模块,用于将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成;信息发送模块,用于将混音后的语音信息以及合成后的视频信息发送给每一所述客户终端。
[0008]为了达到上述目的,本发明实施例还提供一种远程通讯的实现系统,包括SIP服务器;所述SIP服务器包括上述的远程通讯的实现装置。
[0009]本发明实施例的远程通讯的实现方法、装置及系统,通过现有的计算机网络,充分利用普通计算机的CPU和图形处理能力,以及Windows系统的强大功能,避免使用专用设备,保证系统灵活性和可扩展性的同时,尽可能的降低了硬件成本和系统的开发、运行、维护成本。
【附图说明】
[0010]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0011]图1为本发明实施例的实现远程通讯的组网示意图;
图2为本发明实施例的远程通讯的实现方法的处理流程图;
图3为本发明实施例的远程通讯的实现方法的具体处理流程示意图;
图4为本发明实施例的语音信息混音的处理流程示意图;
图5为本发明实施例的视频信息合成的处理流程示意图;
图6为本发明实施例的远程通讯的实现装置的结构示意图。
【具体实施方式】
[0012]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0013]SIP协议是一个应用层的控制协议,用于控制会话的创建、修改和终结。会话可以是两方或多方,SIP并不关心会话的具体内容和媒体类型,其采用的是IETF广泛采用的客户端/服务器模式。与HTTP类似,SIP协议采用消息进行网络之间的通信。RFC3261规定的基本的SIP消息只有6个,分别是INVITE\BYE\ACK\CANCLE\OPT1N\REGISTER消息。在遵循一定原则的基础上,可以对SIP消息进行扩展。SIP具有很强的包容性,它既可以用来建立各种会话,也可以被用来传送即时消息和文件。SIP在灵活、方便的提供业务方面具有多方面的优点。
[0014]基于上述SIP协议原理,本发明基于SIP协议,提出一种简易的远程通讯方法,SP:任意一台SIP服务器端发起呼叫,连接多个终端,将语音进行混音,视频进行拼接,将处理后的语音和视频发送到客户终端。这种建议的远程通讯方法充分利用了当前计算机的CPU和GPU的资源,以代替会议/视频服务器的所需的计算能力,在小型视频会议模式(一般不超过8方)的应用中,省略掉独立的会议/视频服务器之类的硬件资源,实现成本的压缩。
[0015]图1为本发明实施例的实现远程通讯的组网示意图。如图1所示,只需要将PC终端或者手机终端连接至SIP服务器即可。其中,PC终端通过有线或无线的方式与SIP服务器连接,以充当远程客户端;手机终端通过WIFI或4G网络与SIP服务器连接,以充当远程客户端;SIP服务器可部署到任意一台计算机中,提供SIP呼叫的接续。
[0016]可选的,SIP摄像头也可连接至SIP服务器,实现摄像功能。摄像后的视频资源也可以通过SIP服务器发送给PC终端或手机终端。
[0017]可选的,一些网关设备也可以连接至SIP服务器,例如中继网关和模拟电话网关,以分别可以接入电信网络和模拟电话。
[0018]图2为本发明实施例的远程通讯的实现方法的处理流程图。如图2所示,包括:步骤SlOl,SIP服务器发起通讯邀请;步骤S102,多个客户终端接受所述通讯邀请,建立远程通讯组;步骤S103,所述SIP服务器将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成,发送给每一所述客户终端。
[0019]在本实施例的步骤SlOl中,SIP服务器向所述客户终端发起语音通讯邀请或视频通讯邀请。本实施例中,客户终端包括电脑终端和手机终端。也就是说,为了完成远程通讯,电脑终端或者手机终端上应该是安装了支持SIP协议的软件,例如在电脑终端上安装支持SIP协议的应用程序,在手机终端上安装实现SIP协议的APP。并且,SIP服务器向客户终端发送INVI TE消息,请求客户终端加入通讯邀请,INVI TE消息可以带有特定的头域,例如BY-1nfo: conf type=f ree-conf,表示召开的是自由会议。
[0020]在本实施例的步骤S102中,多个客户终端接受所述通讯邀请,建立远程通讯组,具体实现为:当客户终端接收到INVITE消息后,如果接受,则返回OK应答消息,此时SIP服务器收到客户终端的接受消息后,贝lJ发出INFO-CreateConf /JoinConf消息,请求建立远程通讯组并将接受邀请的客户终端加入到组中。
[0021]在本实施例的步骤S103中,所述SIP服务器将所述多个客户终端的语音信息进行混音,分为以下两种情形:当所述客户终端不超过4个时,所述SIP服务器采用嵌位算法进行混音;当所述客户终端超过4个时,所述SIP服务器采用自适应加权算法进行混音。每个客户终端自身可执行回声消除,SIP服务器端可执行混音。另外,语音的平滑(防抖动)对混音输出音质的影响很大,可通过缓冲缓解。
[0022]在本实施例的步骤S103中,所述SIP服务器所述多个客户终端的视频信息进行合成,主要采用的是H264视频编码技术,并采用Windows自带的DirecxShow实现所述视频画面的缩放和拼接。
[0023]其具体实现为:首先对视频信息进行编码处理,本发明采用H264编码。H264为当前主流的视频编码,其编码所需的运算量远大于解码所需的运算量,传统上用专用硬件进行实时编码,或使用软件进行非实时编码,而使用CPU进行软件解码。但是,随着CPU处理能力的不断提升,通用CPU也具有足够的编解码运算处理能力。当前的Intel Core系列CPU每个核都可以解码I路1080P的264视频,较强的CPU可支持I路720P或1080P的实时编码。当前有一些第三方的库,如intel,利用显卡的硬件资源,实现H264的编解码。当显卡不支持时,使用CPU执行运算;显卡支持时,则主要利用显卡资源,CPU占用极低。
[0024]当前可利用Intel media SDK实现H264编解码,当CPU集成显卡支持时,可支持I路1080P编码和8路1080P解码;不支持时,根据CPU处理能力,支持I路720P/1080P编码和4?8路720P/1080P解码。为支持低分辨率设备,在高清编码(720P/1080P)的同时,编码I路QVGA(320 * 240)的子码流,按需要推送。
[0025]计算机通常使用windows系统,windows都自带不同版本的DirectX,DirectShow则为DirectX的一个组成部分。利用现有的DirectShow,可高效的实现音视频的采集和播放/显示。并且,DirectShow可利用显卡资源,高效实现视频画面的缩放和拼接,且不依赖于特定的CPU/显卡,极大的节省了 CPU运算资源。
[0026]DirectShow为计算机系统windows自带的开发包,本发明正是依靠现有的这种资源,实现视频信息的采集、处理和播放。其处理过程包括视频画面的缩放和拼接。在本发明实施例中,根据客户终端的不同,进行视频缩放和拼接的方式不同。例如,如果为计算机终端,可输出2*3布局的视频画面,如果是手机终端,可输出3*2布局的视频画面。将选定的视频显示在输出屏幕的任意位置上,实现多路画面的任意组合叠加或画中画功能。
[0027]在本发明实施例中,采用屏幕/窗口共享作为DirecxShow进行视频画面的缩放和拼接的数据源,也就是说,客户终端传送的视频信息为屏幕/窗口共享的截图。而传送截图,可使用视频方式或图片方式。
[0028]视频方式,即将截图当做视频源,通过H264编码压缩,通过视频通道投递。这种方法利用现有资源和通道,普通视频终端上可直接观看;但是由于占用视频通道,画质有损失,且图像尺寸可能过大。
[0029]图片方式,通常使用JPG压缩。但JPG比较适合照片或图像的压缩,对文字压缩时,文字边缘会有的锯齿,图文混排时尤为明显。另一种方式为PNG无损压缩,是当前网络主流图片格式,为屏幕/窗口共享的画质,故本发明方案中优先采用PNG为截图的压缩方式。
[0030]进一步地,对视频信息和音频信息进行网络发送,可以采用UDP,也可采用TCP协议传输,而为了保证可靠性和屏幕/窗口共享的画质,且保证可靠性,本发明方案优先选用TCP传输协议。
[0031]图3为本发明实施例的远程通讯的实现方法的具体处理流程示意图。如图3所示,该具体实施例包括:
步骤SI,SIP服务器想客户终端1、客户终端2……客户终端N发起远程邀请。
[0032]步骤S2,客户终端1、客户终端2……客户终端N接受邀请,返回OK应答。
[0033]步骤S3,SIP服务器接受到每一个客户终端的OK应答,即建立远程通讯组,并将接受邀请的客户终端加入到通讯组中。在该步骤中,如果某一客户终端没有发回OK应答,SIP服务器则默认该客户终端不接受远程邀请,当其建立远程通讯组时,不会将该客户终端加入其中。
[0034]步骤S4,SIP服务器将采集到的本地语音信息、客户终端I的语音信息1、客户终端2的语音信息2……客户终端N的语音信息N进行混音。
[0035 ]步骤S5,SIP服务器将采集到的本地视频信息、客户终端I的视频信息1、客户终端2的视频信息2……客户终端N的视频信息N进行合成。
[0036]步骤S6,SIP服务器将混音后的语音信息和合成后的视频信息发送给每一个客户终端。
[0037]从上述实施例可以看出,步骤S1、S3_S6全是SIP服务器本身所完成,也就是说,本发明通过任意一台部署了 SIP协议的计算机,并结合计算机现有的CPU和图像处理工具,SP可实现简易的远程通讯,例如可实现简易的小型视频会议。
[0038]具体的,在上述实施例的步骤S4中,对多个语音信息进行混音的处理过程包括语音数据的缓冲、语音数据的混音、语音数据的收敛以及按通道执行语音消除等各方面。如图4所示,为本发明实施例的语音信息混音的处理流程示意图。
[0039]步骤S41,缓冲语音数据。此步骤中,当采集到本地语音信息、客户终端I的语音信息1、客户终端2的语音信息2……客户终端N的语音信息N后,首先执行缓冲操作,进行语音的平滑,以防止语音的抖动影响到混音的输出音质。
[0040]步骤S42,定时执行混音。此步骤中,如果有新的客户终端加入到远程通讯组中,SP开通了一条新通道时,自动将该通道加入混音。
[0041]步骤S43,按通道执行语音消除和收敛。此步骤中,按通道执行语音消除是指返回到每一个客户终端的混音后的语音信息中可不比包括自身的语音信息。例如,来自客户终端I的语音信息,通过语音通道I发送至SIP服务器端,则在执行混音后的语音信息发送的时候,如果是通过语音通道I发送至客户终端I,则可以消除混音后的语音信息中的语音信息
1
[0042]在本实施例中,语音信息进行混音的部分实现代码示例如下:
Il混音输入,新通道时,自动将该通道加入混音
int _Aud1Mix::putAud1(size_t channel, void *data, size_t size)
{
assert(channel < m_count); assert(data); assert(size);
if ( (channel >= m_count)
I (NULL == data) I (size <= 0))
{
return -1;
}
Il丢弃被屏蔽发言的语音数据
if (ar_spk_forbit == (m_right[channeI] & ar_spk_mask))
{
return 0;
}
if (m_start[channeI] < aud1_start)
{
m_start[channeI] += size;
}
return m_in[channeI]->put(data, size);
}
Il准备语音数据
void _Aud1Mix::prsAud1()
{
for (size_t i=0; i〈m_count; i++)
{
m_size[i] = 0;m_level[i] = 0;
if (ar_spk_forbit == (m_right[i] & ar_spk_mask))
{
continue; }
if (m_start[i] < aud1_start)
{
continue;
}
size_t ret = m_in[i]->get(m_data[i], frame_size);if (ret < frame_size)
{
m_start[i] = 0; continue;
}
m_level[i] = amplitude(m_data[i], frame_cap);
}
for (size_t i=0; i<first_select; ++i)
{
size_t index = 0;
for (size_t j=l; j〈m_count; j++)
{
if (m_level[index] < m_level[j])
{
index = j;
}
}
if (m_level[index] <= 0)
{
break;
}
m_level[index] = 0;m_size[index] = frame_size;
}
}
具体的,在上述实施例的步骤S5中,将采集到的本地视频信息、客户终端I的视频信息1、客户终端2的视频信息2……客户终端N的视频信息N进行合成的具体实现步骤如图5所不O
[0043]S51,绘制本地视频资源。在本步骤中,通过屏幕/窗口共享的方法进行截图作为本地视频资源,再通过H264编码压缩,实现对本地视频信息的绘制。
[0044]S52,绘制传送的客户终端的视频资源。与对本地视频信息的处理类似,通过屏幕/窗口共享的方法进行截图作为客户终端1-N的视频资源,再通过H264编码压缩,实现对客户终端的视频信息的绘制。
[0045]S53,对视频截图进行合成并进行视频编码。在获取到客户终端的视频资源后,要利用现有的DirectShow实现视频画面的缩放和拼接,将选定的任意视频画面显示在输出屏幕的任意位置上,实现多路画面的任意组合叠加或画中画功能。
[0046]在本发明实施例中,进行视频的屏幕截图和传送的部分代码如下: void TfmMain::syncBrowser()
{
m_bmp->Width = cwb->ffidth; m_bmp_>Height = cwb->Height; if (m_isDx)
{
BitBlt(m_bmp->Canvas->Handle, 0, 0, m_bmp->Width, m_bmp->Height,GetffindowDC(cwb->Handle), 0,0,SRCCOPY); // 截屏
}
else
{
Printffindow(cwb->Handle, m_bmp->Canvas->Handle,0); // 截窗
}
m_png->As s i gn(m_bmp);m_stream->Clear();m_png->SaveToStream(m_stream);
Il hash值未改变时,假定图片未发生改变,不重复传送 size_t value = hash(m_stream->Memory, m_stream->Size); if (value == m_hashValue)
{
return;
}
m_hashValue = value;
m_syncServer->sendData(m_stream->Memory, m_stream_>Size);
}
在本发明实施例中,利用调用计算机自有的DirecxShow进行视频画面的缩放和拼接,其接口程序示例如下:
Il显示参数 struct DispParam
{
size_t m_x; //左上角横坐标 size_t m_y; //左上角纵坐标 size_t m_w; //图像宽度 size_t m_h; //图像高度
}; //视频参数 struct VideoParam
{
size—t m—width; // 图像宽度size—t m—height; // 图像高度
};
//输入参数 struct InParam
{
DispParam m—disp;
VideoParam m—video;
};
class VideoDisp
{
typedef vector <InParam 氺>VecInParam;
typedef vector <LPDIRECTDRAffSURFACE) VecSurface;public:
VideoDisp(HWND hwnd);
^VideoDispO ;public:
void outParam(DispParam &param);
bool setOutParam (const DispParam &param); size_t inCount();
void setlnCount(size_t count);
bool inParam(size—t channel,DispParam &param);
bool setlnParam(size—t channel, const DispParam &param);
public:
void clrlmage(size—t channel); // 清除图像
void putlmage(size—t channel, void *yuv420,size_t width,
size—t height); // 输出图像
size_t getlmage(void *yuv420,size_t size, size_t &width,
size—t &height); // 获取图像
void updateDisplay ();// 更亲jf显示
private:
bool initDD();// 初始化 DirectDraw
void freeDD();// 释放 DirectDraw
bool initOutImage ();//初始化输出图像
void freeOutImage ();// 释放输出图像
bool initlnlmage (size—t channel); // 初始化输入图像void freelnlmage(size—t channel); // 释放输入图像
void initlnParam(size—t count); // 初始化输入参数
void freelnParam(); // 释放输入参数
bool putYuv(LPDIRECTDRAffSURFACE IpSurface, void *yuv420,
size_t width, size_t height);// 输出YUV
bool getYuv(LPDIRECTDRAffSURFACE IpSurface, void *yuv420,
size_t width, size_t height);// 获取YUV
bool composelmage(size_t channel); // 合成图像 private:
HWNDm—hwnd; // 窗体句柄
DispParamm—outParam; // 输出参数
VecInParamm—inParam; // 输入参数
LPDIRECTDRAffm—IpDD; // DirectDraw 对象指针
LPDIRECTDRAffSURFACEm—IpPrimary; // DirectDraw 主表面指针
LPDIRECTDRAffSURFACEm—IpBackScr; // DirectDraw 离屏表面指针
VecSurfacem—IpSurface; // DirectDraw 通道表面指针
};
本发明实施例中,进行视频画面合成的部分代码如下:
//视频窗口 typedef struct Vdoffnd
{
size_t m—channel;// 通道号
size_t m—left;// 左边距
size_t m—top;// 顶边距
size_t m—width;// 宽度
size_t m—height;// 高度 } Vdoffnd;
//视频合成 typedef struct VdoCmp {
size_t m—count;// 通道数量 Vdoffnd m_wnd[mvc_sub]; // 视频窗口 } VdoCmp;
int video_set_layout(const VdoCmp *param);// 设置拼接模式
通过以上实施例可知,本发明在进行远程通讯时,只需要通过现有的计算机网络,利用普通计算机的CPU和图像处理装置,以及Windows中的DirectShow功能,省略掉独立的会议/视频服务器等硬件设备,实现了成本的压缩。
[0047]图6为本发明实施例的远程通讯的实现装置的结构示意图。如图6所示,包括:邀请发起模块101,用于向多个客户终端发起通讯邀请;信息处理模块102,用于将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成;信息发送模块103,用于将混音后的语音信息以及合成后的视频信息发送给每一所述客户终端。
[0048]作为进一步的实施方式,所述邀请发起模块101用于向多个客户终端发起通讯邀请,具体包括:向所述多个客户终端发起语音通讯邀请或/和视频通讯邀请。
[0049]作为进一步的实施方式,所述信息处理模块102包括语音信息处理单元,具体用于:当所述客户终端不超过4个时,所述SIP服务器采用嵌位算法进行混音;当所述客户终端超过4个时,所述SIP服务器采用自适应加权算法进行混音。
[0050]作为进一步的实施方式,所述信息处理模块102包括视频信息处理单元,具体用于:采用H264视频编码,并采用DirecxShow实现所述视频信息中的视频画面的缩放和拼接。[005? ]作为进一步的实施方式,所述信息处理模块102还用于采用DirecxShow实现所述语音信息和视频信息的采集和播放。
[0052]本发明实施例还提供一种远程通讯的实现系统,其包括SIP服务器,所述SIP服务器包括图6所述的远程通讯的实现装置。也就是说,SIP服务器为部署有SIP协议模块的任意一台PC,通过调用计算机本身带有的图像处理部分和编码部分,不依赖特有的CPU和显卡,即可实现简易的远程通讯,例如小型的视频会议等。
[0053]本发明实施例的远程通讯的实现方法、装置及系统,通过现有的计算机网络,充分利用普通计算机的CPU和图形处理能力,以及Windows系统的强大功能,避免使用专用设备,保证系统灵活性和可扩展性的同时,尽可能的降低了硬件成本和系统的开发、运行、维护成本。
[0054]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0055]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0056]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0057]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0058]本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种远程通讯的实现方法,其特征在于,包括: SIP服务器发起通讯邀请; 多个客户终端接受所述通讯邀请,建立远程通讯组; 所述SIP服务器将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成,发送给每一所述客户终端。2.根据权利要求1所述的远程通讯的实现方法,其特征在于,所述SIP服务器发起通讯邀请,包括: SIP服务器向所述客户终端发起语音通讯邀请;或/和 SIP服务器向所述客户终端发起视频通讯邀请。3.根据权利要求1所述的远程通讯的实现方法,其特征在于,所述SIP服务器将所述多个客户终端的语音信息进行混音,包括: 当所述客户终端不超过4个时,所述SIP服务器采用嵌位算法进行混音; 当所述客户终端超过4个时,所述SIP服务器采用自适应加权算法进行混音。4.根据权利要求1所述的远程通讯的实现方法,其特征在于,所述SIP服务器所述多个客户终端的视频信息进行合成,包括: 采用H264视频编码,并采用DirecxShow实现所述视频信息中的视频画面的缩放和拼接。5.根据权利要求1所述的远程通讯的实现方法,其特征在于,采用DirecxShow实现所述语音信息和视频信息的采集和播放。6.一种远程通讯的实现装置,其特征在于,包括: 邀请发起模块,用于向多个客户终端发起通讯邀请; 信息处理模块,用于将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成; 信息发送模块,用于将混音后的语音信息以及合成后的视频信息发送给每一所述客户终端。7.根据权利要求6所述的远程通讯的实现装置,其特征在于,所述邀请发起模块用于向多个客户终端发起通讯邀请,具体包括: 向所述多个客户终端发起语音通讯邀请或/和视频通讯邀请。8.根据权利要求6所述的远程通讯的实现装置,其特征在于,所述信息处理模块包括语音信息处理单元,具体用于: 当所述客户终端不超过4个时,所述SIP服务器采用嵌位算法进行混音; 当所述客户终端超过4个时,所述SIP服务器采用自适应加权算法进行混音。9.根据权利要求6所述的远程通讯的实现装置,其特征在于,所述信息处理模块包括视频信息处理单元,具体用于: 采用H264视频编码,并采用DirecxShow实现所述视频信息中的视频画面的缩放和拼接。10.根据权利要求6所述的远程通讯的实现装置,其特征在于,所述信息处理模块还用于采用DirecxShow实现所述语音信息和视频信息的采集和播放。
【文档编号】H04N7/15GK105898187SQ201610287732
【公开日】2016年8月24日
【申请日】2016年5月4日
【发明人】魏天云, 张伟, 吴秋平
【申请人】广州颐希颉信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1