CN105898187A - 一种远程通讯的实现方法、装置及系统 - Google Patents
一种远程通讯的实现方法、装置及系统 Download PDFInfo
- Publication number
- CN105898187A CN105898187A CN201610287732.2A CN201610287732A CN105898187A CN 105898187 A CN105898187 A CN 105898187A CN 201610287732 A CN201610287732 A CN 201610287732A CN 105898187 A CN105898187 A CN 105898187A
- Authority
- CN
- China
- Prior art keywords
- client terminal
- sip server
- telecommunication
- video
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004891 communication Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims description 21
- 230000000977 initiatory effect Effects 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 abstract description 9
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract description 2
- 238000011161 development Methods 0.000 abstract 1
- 239000011800 void material Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004899 motility Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/152—Multipoint control units therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/155—Conference systems involving storage of or access to video conference sessions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种远程通讯的实现方法、装置和系统。所述方法包括:SIP服务器发起通讯邀请;多个客户终端接受所述通讯邀请,建立远程通讯组;所述SIP服务器将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成,发送给每一所述客户终端。本发明实施例的远程通讯的实现方法、装置及系统,通过现有的计算机网络,充分利用普通计算机的CPU和图形处理能力,以及Windows系统的强大功能,避免使用专用设备,保证系统灵活性和可扩展性的同时,尽可能的降低了硬件成本和系统的开发、运行、维护成本。
Description
技术领域
本发明涉及通信领域,尤其涉及一种远程协助的实现领域,具体的讲是一种远程通讯的实现方法、装置及系统。
背景技术
传统的远程通讯方法,例如视频会议模式多采用独立的网络、专用的会议终端、会议服务器和会议控制设备,其建设维护的成本高,周期长,会议模式较单一,设备利用率不高,已不再是如今视频会议模式的主流。
互联网模式的远程会议利用了现有的网络和PC,通过部署会议服务器/视频服务器,实现了基于PC的会议/协助功能。对比传统的视频会议模式,充分利用了现有设备和网络,大幅度降低了建设维护成本,并大幅度提升了业务的灵活性。但是,当前的基于互联网模式的会议系统,更多基于PC和互联网进行设计,和传统通信网络融合程度差,产生了明显的分隔;并且,互联网模式的视频会议系统更注重会议系统的功能完整性和一致性,一定程度上模仿传统会议模式,通常不支持传统模拟电话等电信网通信设备的接入,也不支持手机、摄像头等其他设备的接入。并且,在进行小型会议时,成本还是比较高。
发明内容
本发明提出一种远程通讯的实现方法、装置及系统,以实现低成本的会议沟通和简易的远程协助。
为了达到上述目的,本发明实施例提供一种远程通讯的实现方法,包括:SIP服务器发起通讯邀请;多个客户终端接受所述通讯邀请,建立远程通讯组;所述SIP服务器将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成,发送给每一所述客户终端。
为了达到上述目的,本发明实施例还提供一种远程通讯的实现装置,包括:邀请发起模块,用于向多个客户终端发起通讯邀请;信息处理模块,用于将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成;信息发送模块,用于将混音后的语音信息以及合成后的视频信息发送给每一所述客户终端。
为了达到上述目的,本发明实施例还提供一种远程通讯的实现系统,包括SIP服务器;所述SIP服务器包括上述的远程通讯的实现装置。
本发明实施例的远程通讯的实现方法、装置及系统,通过现有的计算机网络,充分利用普通计算机的CPU和图形处理能力,以及Windows系统的强大功能,避免使用专用设备,保证系统灵活性和可扩展性的同时,尽可能的降低了硬件成本和系统的开发、运行、维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的实现远程通讯的组网示意图;
图2为本发明实施例的远程通讯的实现方法的处理流程图;
图3为本发明实施例的远程通讯的实现方法的具体处理流程示意图;
图4为本发明实施例的语音信息混音的处理流程示意图;
图5为本发明实施例的视频信息合成的处理流程示意图;
图6为本发明实施例的远程通讯的实现装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
SIP协议是一个应用层的控制协议,用于控制会话的创建、修改和终结。会话可以是两方或多方,SIP并不关心会话的具体内容和媒体类型,其采用的是IETF广泛采用的客户端/服务器模式。与HTTP类似,SIP协议采用消息进行网络之间的通信。RFC3261规定的基本的SIP消息只有6个,分别是INVITE\BYE\ACK\CANCLE\OPTION\REGISTER消息。在遵循一定原则的基础上,可以对SIP消息进行扩展。SIP具有很强的包容性,它既可以用来建立各种会话,也可以被用来传送即时消息和文件。SIP在灵活、方便的提供业务方面具有多方面的优点。
基于上述SIP协议原理,本发明基于SIP协议,提出一种简易的远程通讯方法,即:任意一台SIP服务器端发起呼叫,连接多个终端,将语音进行混音,视频进行拼接,将处理后的语音和视频发送到客户终端。这种建议的远程通讯方法充分利用了当前计算机的CPU和GPU的资源,以代替会议/视频服务器的所需的计算能力,在小型视频会议模式(一般不超过8方)的应用中,省略掉独立的会议/视频服务器之类的硬件资源,实现成本的压缩。
图1为本发明实施例的实现远程通讯的组网示意图。如图1所示,只需要将PC终端或者手机终端连接至SIP服务器即可。其中,PC终端通过有线或无线的方式与SIP服务器连接,以充当远程客户端;手机终端通过WIFI或4G网络与SIP服务器连接,以充当远程客户端;SIP服务器可部署到任意一台计算机中,提供SIP呼叫的接续。
可选的,SIP摄像头也可连接至SIP服务器,实现摄像功能。摄像后的视频资源也可以通过SIP服务器发送给PC终端或手机终端。
可选的,一些网关设备也可以连接至SIP服务器,例如中继网关和模拟电话网关,以分别可以接入电信网络和模拟电话。
图2为本发明实施例的远程通讯的实现方法的处理流程图。如图2所示,包括:步骤S101,SIP服务器发起通讯邀请;步骤S102,多个客户终端接受所述通讯邀请,建立远程通讯组;步骤S103,所述SIP服务器将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成,发送给每一所述客户终端。
在本实施例的步骤S101中,SIP服务器向所述客户终端发起语音通讯邀请或视频通讯邀请。本实施例中,客户终端包括电脑终端和手机终端。也就是说,为了完成远程通讯,电脑终端或者手机终端上应该是安装了支持SIP协议的软件,例如在电脑终端上安装支持SIP协议的应用程序,在手机终端上安装实现SIP协议的APP。并且,SIP服务器向客户终端发送INVITE消息,请求客户终端加入通讯邀请,INVITE消息可以带有特定的头域,例如BY-Info:conftype=free-conf,表示召开的是自由会议。
在本实施例的步骤S102中,多个客户终端接受所述通讯邀请,建立远程通讯组,具体实现为:当客户终端接收到INVITE消息后,如果接受,则返回OK应答消息,此时SIP服务器收到客户终端的接受消息后,则发出INFO-CreateConf/JoinConf消息,请求建立远程通讯组并将接受邀请的客户终端加入到组中。
在本实施例的步骤S103中,所述SIP服务器将所述多个客户终端的语音信息进行混音,分为以下两种情形:当所述客户终端不超过4个时,所述SIP服务器采用嵌位算法进行混音;当所述客户终端超过4个时,所述SIP服务器采用自适应加权算法进行混音。每个客户终端自身可执行回声消除,SIP服务器端可执行混音。另外,语音的平滑(防抖动)对混音输出音质的影响很大,可通过缓冲缓解。
在本实施例的步骤S103中,所述SIP服务器所述多个客户终端的视频信息进行合成,主要采用的是H264视频编码技术,并采用Windows自带的DirecxShow实现所述视频画面的缩放和拼接。
其具体实现为:首先对视频信息进行编码处理,本发明采用H264编码。H264为当前主流的视频编码,其编码所需的运算量远大于解码所需的运算量,传统上用专用硬件进行实时编码,或使用软件进行非实时编码,而使用CPU进行软件解码。但是,随着CPU处理能力的不断提升,通用CPU也具有足够的编解码运算处理能力。当前的Intel Core系列CPU每个核都可以解码1路1080P的264视频,较强的CPU可支持1路720P或1080P的实时编码。当前有一些第三方的库,如intel,利用显卡的硬件资源,实现H264的编解码。当显卡不支持时,使用CPU执行运算;显卡支持时,则主要利用显卡资源,CPU占用极低。
当前可利用Intel media SDK实现H264编解码,当CPU集成显卡支持时,可支持1路1080P编码和8路1080P解码;不支持时,根据CPU处理能力,支持1路720P/1080P编码和4~8路720P/1080P解码。为支持低分辨率设备,在高清编码(720P/1080P)的同时,编码1路QVGA(320 * 240)的子码流,按需要推送。
计算机通常使用windows系统,windows都自带不同版本的DirectX,DirectShow则为DirectX的一个组成部分。利用现有的DirectShow,可高效的实现音视频的采集和播放/显示。并且,DirectShow可利用显卡资源,高效实现视频画面的缩放和拼接,且不依赖于特定的CPU/显卡,极大的节省了CPU运算资源。
DirectShow为计算机系统windows自带的开发包,本发明正是依靠现有的这种资源,实现视频信息的采集、处理和播放。其处理过程包括视频画面的缩放和拼接。在本发明实施例中,根据客户终端的不同,进行视频缩放和拼接的方式不同。例如,如果为计算机终端,可输出2*3布局的视频画面,如果是手机终端,可输出3*2布局的视频画面。将选定的视频显示在输出屏幕的任意位置上,实现多路画面的任意组合叠加或画中画功能。
在本发明实施例中,采用屏幕/窗口共享作为DirecxShow进行视频画面的缩放和拼接的数据源,也就是说,客户终端传送的视频信息为屏幕/窗口共享的截图。而传送截图,可使用视频方式或图片方式。
视频方式,即将截图当做视频源,通过H264编码压缩,通过视频通道投递。这种方法利用现有资源和通道,普通视频终端上可直接观看;但是由于占用视频通道,画质有损失,且图像尺寸可能过大。
图片方式,通常使用JPG压缩。但JPG比较适合照片或图像的压缩,对文字压缩时,文字边缘会有的锯齿,图文混排时尤为明显。另一种方式为PNG无损压缩,是当前网络主流图片格式,为屏幕/窗口共享的画质,故本发明方案中优先采用PNG为截图的压缩方式。
进一步地,对视频信息和音频信息进行网络发送,可以采用UDP,也可采用TCP协议传输,而为了保证可靠性和屏幕/窗口共享的画质,且保证可靠性,本发明方案优先选用TCP传输协议。
图3为本发明实施例的远程通讯的实现方法的具体处理流程示意图。如图3所示,该具体实施例包括:
步骤S1,SIP服务器想客户终端1、客户终端2……客户终端N发起远程邀请。
步骤S2,客户终端1、客户终端2……客户终端N接受邀请,返回OK应答。
步骤S3,SIP服务器接受到每一个客户终端的OK应答,即建立远程通讯组,并将接受邀请的客户终端加入到通讯组中。在该步骤中,如果某一客户终端没有发回OK应答,SIP服务器则默认该客户终端不接受远程邀请,当其建立远程通讯组时,不会将该客户终端加入其中。
步骤S4,SIP服务器将采集到的本地语音信息、客户终端1的语音信息1、客户终端2的语音信息2……客户终端N的语音信息N进行混音。
步骤S5,SIP服务器将采集到的本地视频信息、客户终端1的视频信息1、客户终端2的视频信息2……客户终端N的视频信息N进行合成。
步骤S6,SIP服务器将混音后的语音信息和合成后的视频信息发送给每一个客户终端。
从上述实施例可以看出,步骤S1、S3-S6全是SIP服务器本身所完成,也就是说,本发明通过任意一台部署了SIP协议的计算机,并结合计算机现有的CPU和图像处理工具,即可实现简易的远程通讯,例如可实现简易的小型视频会议。
具体的,在上述实施例的步骤S4中,对多个语音信息进行混音的处理过程包括语音数据的缓冲、语音数据的混音、语音数据的收敛以及按通道执行语音消除等各方面。如图4所示,为本发明实施例的语音信息混音的处理流程示意图。
步骤S41,缓冲语音数据。此步骤中,当采集到本地语音信息、客户终端1的语音信息1、客户终端2的语音信息2……客户终端N的语音信息N后,首先执行缓冲操作,进行语音的平滑,以防止语音的抖动影响到混音的输出音质。
步骤S42,定时执行混音。此步骤中,如果有新的客户终端加入到远程通讯组中,即开通了一条新通道时,自动将该通道加入混音。
步骤S43,按通道执行语音消除和收敛。此步骤中,按通道执行语音消除是指返回到每一个客户终端的混音后的语音信息中可不比包括自身的语音信息。例如,来自客户终端1的语音信息,通过语音通道1发送至SIP服务器端,则在执行混音后的语音信息发送的时候,如果是通过语音通道1发送至客户终端1,则可以消除混音后的语音信息中的语音信息1。
在本实施例中,语音信息进行混音的部分实现代码示例如下:
// 混音输入,新通道时,自动将该通道加入混音
int _AudioMix::putAudio(size_t channel, void *data, size_t size)
{
assert(channel < m_count);
assert(data);
assert(size);
if ( (channel >= m_count)
|| (NULL == data)
|| (size <= 0))
{
return -1;
}
// 丢弃被屏蔽发言的语音数据
if (ar_spk_forbit == (m_right[channel] & ar_spk_mask))
{
return 0;
}
if (m_start[channel] < audio_start)
{
m_start[channel] += size;
}
return m_in[channel]->put(data, size);
}
// 准备语音数据
void _AudioMix::prsAudio()
{
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] < audio_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=1; 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中,将采集到的本地视频信息、客户终端1的视频信息1、客户终端2的视频信息2……客户终端N的视频信息N进行合成的具体实现步骤如图5所示。
S51,绘制本地视频资源。在本步骤中,通过屏幕/窗口共享的方法进行截图作为本地视频资源,再通过H264编码压缩,实现对本地视频信息的绘制。
S52,绘制传送的客户终端的视频资源。与对本地视频信息的处理类似,通过屏幕/窗口共享的方法进行截图作为客户终端1-N的视频资源,再通过H264编码压缩,实现对客户终端的视频信息的绘制。
S53,对视频截图进行合成并进行视频编码。在获取到客户终端的视频资源后,要利用现有的DirectShow实现视频画面的缩放和拼接,将选定的任意视频画面显示在输出屏幕的任意位置上,实现多路画面的任意组合叠加或画中画功能。
在本发明实施例中,进行视频的屏幕截图和传送的部分代码如下:
void TfmMain::syncBrowser()
{
m_bmp->Width = cwb->Width;
m_bmp->Height = cwb->Height;
if (m_isDx)
{
BitBlt(m_bmp->Canvas->Handle, 0, 0, m_bmp->Width, m_bmp->Height,GetWindowDC(cwb->Handle), 0, 0, SRCCOPY); // 截屏
}
else
{
PrintWindow(cwb->Handle, m_bmp->Canvas->Handle, 0); // 截窗
}
m_png->Assign(m_bmp);
m_stream->Clear();
m_png->SaveToStream(m_stream);
// 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进行视频画面的缩放和拼接,其接口程序示例如下:
// 显示参数
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 <LPDIRECTDRAWSURFACE> VecSurface;
public:
VideoDisp(HWND hwnd);
~VideoDisp();
public:
void outParam ( DispParam ¶m);
bool setOutParam (const DispParam ¶m);
size_t inCount ();
void setInCount (size_t count);
bool inParam (size_t channel, DispParam ¶m);
bool setInParam (size_t channel, const DispParam ¶m);
public:
void clrImage (size_t channel); // 清除图像
void putImage (size_t channel, void *yuv420, size_t width,size_t height); // 输出图像
size_t getImage (void *yuv420, size_t size, size_t &width,size_t &height); // 获取图像
void updateDisplay (); // 更新显示
private:
bool initDD (); // 初始化 DirectDraw
void freeDD (); // 释放 DirectDraw
bool initOutImage (); // 初始化输出图像
void freeOutImage (); // 释放输出图像
bool initInImage (size_t channel); // 初始化输入图像
void freeInImage (size_t channel); // 释放输入图像
void initInParam (size_t count); // 初始化输入参数
void freeInParam (); // 释放输入参数
bool putYuv (LPDIRECTDRAWSURFACE lpSurface, void *yuv420,size_t width, size_t height); // 输出YUV
bool getYuv (LPDIRECTDRAWSURFACE lpSurface, void *yuv420,size_t width, size_t height); // 获取YUV
bool composeImage (size_t channel); // 合成图像
private:
HWND m_hwnd; // 窗体句柄
DispParam m_outParam; // 输出参数
VecInParam m_inParam; // 输入参数
LPDIRECTDRAW m_lpDD; // DirectDraw 对象指针
LPDIRECTDRAWSURFACE m_lpPrimary; // DirectDraw 主表面指针
LPDIRECTDRAWSURFACE m_lpBackScr; // DirectDraw 离屏表面指针
VecSurface m_lpSurface; // DirectDraw 通道表面指针
};
本发明实施例中,进行视频画面合成的部分代码如下:
// 视频窗口
typedef struct VdoWnd
{
size_t m_channel; // 通道号
size_t m_left; // 左边距
size_t m_top; // 顶边距
size_t m_width; // 宽度
size_t m_height; // 高度
} VdoWnd;
// 视频合成
typedef struct VdoCmp
{
size_t m_count; // 通道数量
VdoWnd m_wnd[mvc_sub]; // 视频窗口
} VdoCmp;
int video_set_layout (const VdoCmp *param); // 设置拼接模式
通过以上实施例可知,本发明在进行远程通讯时,只需要通过现有的计算机网络,利用普通计算机的CPU和图像处理装置,以及Windows中的DirectShow功能,省略掉独立的会议/视频服务器等硬件设备,实现了成本的压缩。
图6为本发明实施例的远程通讯的实现装置的结构示意图。如图6所示,包括:邀请发起模块101,用于向多个客户终端发起通讯邀请;信息处理模块102,用于将所述多个客户终端的语音信息进行混音,和/或将所述多个客户终端的视频信息进行合成;信息发送模块103,用于将混音后的语音信息以及合成后的视频信息发送给每一所述客户终端。
作为进一步的实施方式,所述邀请发起模块101用于向多个客户终端发起通讯邀请,具体包括:向所述多个客户终端发起语音通讯邀请或/和视频通讯邀请。
作为进一步的实施方式,所述信息处理模块102包括语音信息处理单元,具体用于:当所述客户终端不超过4个时,所述SIP服务器采用嵌位算法进行混音;当所述客户终端超过4个时,所述SIP服务器采用自适应加权算法进行混音。
作为进一步的实施方式,所述信息处理模块102包括视频信息处理单元,具体用于:采用H264视频编码,并采用DirecxShow实现所述视频信息中的视频画面的缩放和拼接。
作为进一步的实施方式,所述信息处理模块102还用于采用DirecxShow实现所述语音信息和视频信息的采集和播放。
本发明实施例还提供一种远程通讯的实现系统,其包括SIP服务器,所述SIP服务器包括图6所述的远程通讯的实现装置。也就是说,SIP服务器为部署有SIP协议模块的任意一台PC,通过调用计算机本身带有的图像处理部分和编码部分,不依赖特有的CPU和显卡,即可实现简易的远程通讯,例如小型的视频会议等。
本发明实施例的远程通讯的实现方法、装置及系统,通过现有的计算机网络,充分利用普通计算机的CPU和图形处理能力,以及Windows系统的强大功能,避免使用专用设备,保证系统灵活性和可扩展性的同时,尽可能的降低了硬件成本和系统的开发、运行、维护成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
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实现所述语音信息和视频信息的采集和播放。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610287732.2A CN105898187A (zh) | 2016-05-04 | 2016-05-04 | 一种远程通讯的实现方法、装置及系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610287732.2A CN105898187A (zh) | 2016-05-04 | 2016-05-04 | 一种远程通讯的实现方法、装置及系统 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN105898187A true CN105898187A (zh) | 2016-08-24 |
Family
ID=56702070
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610287732.2A Pending CN105898187A (zh) | 2016-05-04 | 2016-05-04 | 一种远程通讯的实现方法、装置及系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN105898187A (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107181928A (zh) * | 2017-07-21 | 2017-09-19 | 苏睿 | 会议系统及数据传输方法 |
| CN108270740A (zh) * | 2016-12-30 | 2018-07-10 | 上海华讯网络系统有限公司 | 对含有多路视频流的视频会议的直播系统和方法 |
| CN110730322A (zh) * | 2018-07-16 | 2020-01-24 | 视联动力信息技术股份有限公司 | 一种基于视联网的音频流处理方法及系统 |
| CN115174844A (zh) * | 2022-07-01 | 2022-10-11 | 深圳市炫本电子有限公司 | 基于视频监控和视频会议融合的智能系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1816134A (zh) * | 2005-02-06 | 2006-08-09 | 中兴通讯股份有限公司 | 一种多点视频会议系统及其媒体处理方法 |
| CN103595950A (zh) * | 2013-11-21 | 2014-02-19 | 东方有线网络有限公司 | 一种基于有线数字电视机顶盒进行视频通讯的方法 |
| EP3002905A1 (en) * | 2013-07-01 | 2016-04-06 | Huawei Technologies Co., Ltd. | Unified communication-based video conference call method, device and system |
| CN105472310A (zh) * | 2016-01-26 | 2016-04-06 | 邦彦技术股份有限公司 | 一种基于sip协议的视频会议的实现方法及其系统 |
-
2016
- 2016-05-04 CN CN201610287732.2A patent/CN105898187A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1816134A (zh) * | 2005-02-06 | 2006-08-09 | 中兴通讯股份有限公司 | 一种多点视频会议系统及其媒体处理方法 |
| EP3002905A1 (en) * | 2013-07-01 | 2016-04-06 | Huawei Technologies Co., Ltd. | Unified communication-based video conference call method, device and system |
| CN103595950A (zh) * | 2013-11-21 | 2014-02-19 | 东方有线网络有限公司 | 一种基于有线数字电视机顶盒进行视频通讯的方法 |
| CN105472310A (zh) * | 2016-01-26 | 2016-04-06 | 邦彦技术股份有限公司 | 一种基于sip协议的视频会议的实现方法及其系统 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108270740A (zh) * | 2016-12-30 | 2018-07-10 | 上海华讯网络系统有限公司 | 对含有多路视频流的视频会议的直播系统和方法 |
| CN107181928A (zh) * | 2017-07-21 | 2017-09-19 | 苏睿 | 会议系统及数据传输方法 |
| CN110730322A (zh) * | 2018-07-16 | 2020-01-24 | 视联动力信息技术股份有限公司 | 一种基于视联网的音频流处理方法及系统 |
| CN115174844A (zh) * | 2022-07-01 | 2022-10-11 | 深圳市炫本电子有限公司 | 基于视频监控和视频会议融合的智能系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112235626B (zh) | 视频渲染方法、装置、电子设备及存储介质 | |
| US8976220B2 (en) | Devices and methods for hosting a video call between a plurality of endpoints | |
| US11381626B2 (en) | Segmented video codec for high resolution and high frame rate video | |
| CN105323534B (zh) | 一种第三方应用的会议处理方法和通讯设备 | |
| US20120039382A1 (en) | Experience or "sentio" codecs, and methods and systems for improving QoE and encoding based on QoE experiences | |
| CN1578452A (zh) | 远程显示协议、视频显示系统、以及终端设备 | |
| WO2020042350A1 (zh) | 一种桌面投屏方法、装置、设备及存储介质 | |
| CN101888519A (zh) | 共享桌面内容的方法和智能设备 | |
| CN104184947A (zh) | 一种远程拍照调焦的方法及系统 | |
| CN105898187A (zh) | 一种远程通讯的实现方法、装置及系统 | |
| JP2020115299A (ja) | 仮想空間情報処理装置、方法、プログラム | |
| CN111773660A (zh) | 一种云游戏处理系统、方法及装置 | |
| US20220239920A1 (en) | Video processing method, related apparatus, storage medium, and program product | |
| CN109963110A (zh) | 多方视频会议的处理方法、装置、存储介质及计算设备 | |
| CN106210863A (zh) | 在压缩视频流之间平滑转换的系统和方法 | |
| CN113596571B (zh) | 屏幕分享方法、装置、系统、存储介质以及计算机设备 | |
| CN114845136A (zh) | 视频合成方法、装置、设备和存储介质 | |
| CN110990109A (zh) | 一种拼接屏回显方法、终端、系统及存储介质 | |
| CN100473163C (zh) | 动静态混合画面的投影方法和投影系统 | |
| Pohl et al. | High quality, low latency in-home streaming of multimedia applications for mobile devices | |
| CN115412559B (zh) | 端云资源协同方法、电子设备及可读存储介质 | |
| WO2021147464A1 (zh) | 视频处理方法、装置及电子设备 | |
| US20240333946A1 (en) | Wireless display sharing with dynamic resolution switching | |
| CN107277425A (zh) | 一种服务器、会场终端以及云会议处理方法 | |
| US20080052631A1 (en) | System and method for executing server applications in mobile terminal |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160824 |