CN112291496A - 一种基于内容的即时通信方法和*** - Google Patents
一种基于内容的即时通信方法和*** Download PDFInfo
- Publication number
- CN112291496A CN112291496A CN201910638070.2A CN201910638070A CN112291496A CN 112291496 A CN112291496 A CN 112291496A CN 201910638070 A CN201910638070 A CN 201910638070A CN 112291496 A CN112291496 A CN 112291496A
- Authority
- CN
- China
- Prior art keywords
- terminal
- content
- real
- video
- time
- 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 60
- 230000005540 biological transmission Effects 0.000 claims abstract description 267
- 230000006854 communication Effects 0.000 claims abstract description 122
- 238000004891 communication Methods 0.000 claims abstract description 119
- 230000011664 signaling Effects 0.000 claims abstract description 88
- 230000001360 synchronised effect Effects 0.000 claims abstract description 63
- 238000004806 packaging method and process Methods 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 230000003993 interaction Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000005538 encapsulation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000000873 masking effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000012856 packing Methods 0.000 claims 2
- 230000006872 improvement Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
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/141—Systems for two-way working between two video terminals, e.g. videophone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L65/4015—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/402—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
- H04L65/4025—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services where none of the additional parallel sessions is real time or time sensitive, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/47815—Electronic shopping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于内容的即时通信方法和***,方法包括:参与通信的终端建立通信链路;终端上报性能参数,用于生成传输策略;传输内容的源终端提供实时同步的内容;参与终端展示由传输内容的源终端提供的实时同步内容;参与终端可以同步控制和操作展示的实时内容。服务提供***包括终端性能管理模块、传输策略控制和管理模块、实时同步信令控制模块、通信链路辅助建立模块和通信模块,用户终端***包括性能检测和反馈模块、文件管理和传输模块、音视频流捕获与传输模块、文件内容接收展示和控制模块、音视频数据接收播放和控制模块、音视频数据编码和打包模块和通信模块。本发明实现多终端同时进行实时语音会话、实时视频会话和实时内容会话。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于内容的即时通信方法和***。
背景技术
随着移动通信技术的高速发展,用户终端的上下行速率得以大幅提升,传输时延降低到毫秒级别,并且支持高速移动下的性能可靠性,为实现基于内容的即时通信提供了有利的网络条件,同时伴随用户终端中央处理器CPU和图像处理器GPU性能的提升,用户终端的计算处理能力、视音频编解码能力和图像渲染能力有了极大的提高,为实现基于内容的即时通信提供了更强的硬件支撑,随着通信技术的提升和终端处理能力的增强,用户对于基于内容实时通信的需求也越来越普遍,当前在实时音频通信和实时视频通信领域的技术已经比较成熟,而基于内容的通信功能,当前主要集中在同屏功能、白板功能、视频会议功能、文件传输和文件共享等功能上有较多的研究和应用,而对于能够随时随地让用户终端能将访问到的所有资源内容,包括文件类型内容和音视频流类型内容,都能应用于进行实时内容通信的需求尚未能全部满足,用户不能随心所欲的将其终端上的视音频流形式的内容有选择的用于与其他用户终端进行实时同步通信,其它用户终端也不能方便的实时同步共享、浏览和操作源终端的资源内容,给用户基于内容的实时通信带来了极大的不方便,现有的基于内容的即时通讯***,多数属于异步通信***,用户终端在发送共享的内容时,不能明确的知道当前对方的实时接收和浏览状态,不能实现基于文件的内容和音视频流内容的实时同步共享。
为解决以上所述的部分问题,公开号为101141470 B的中国发明申请公开了一种共享资源方法及***,包括步骤:A、共享发起方和共享接受方分别在本地存储相同的共享资源;B、双方以所述共享资源中的文件具有的标识进行交互,实现同步激活相同的文件。
该方案通过互联双方存储相同的共享资源,根据文件具有的标识同步激活共享资源中的相同文件,并针对该文件展开会话,解决了双人会话过程中的不能基于文件内容实时同步共享和浏览的问题,但是该方案仅对双人通信中的基于文件内容的实时共享提出了解决方案,缺少对于多人通信中文件共享传输问题的解决方案,同时该方案也只能完成文件内容的实时共享,而用户当前对音视频流形式的内容需求日益增大,该方案无法满足用户对音视频流形式的内容进行实时共享的需求。
可见当前在基于内容的实时通信领域,还存在影响用户体验和操作不便等问题,因此急需一种基于内容的即时通信方法和***来完善相应功能和优化用户体验。
发明内容
为解决上述技术问题,本发明公开了一种基于内容的即时通信方法和***,其技术方案如下:
一种基于内容的即时通信方法,其特征在于,包括下列步骤:
参与通信的终端建立通信链路;
终端上报性能参数,用于生成传输策略;
传输内容的源终端提供实时同步的内容;
参与终端展示由传输内容的源终端提供的实时同步内容;
参与终端可以同步控制和操作展示的实时内容。
参与通信的终端建立通信链路,用于同时进行实时语音会话、实时视频会话和实时内容会话,建立的通信链路包括三类:实时音视频通信链路、实时共享数据链路和实时控制信令链路。
实时音视频通信链路是用于传输实时语音数据和实时视频数据的通信链路,参与通信的终端可以通过实时音视频通信链路同时进行实时语音会话、实时视频会话和实时内容会话,实时语音会话是指参与终端可以进行实时语音交流,实时视频会话是指参与终端可以通过实时视频进行面对面交流,实时内容会话是指参与终端在会话时,可以实时同步浏览和操作文件内容或捕获的音视频流内容。
实时共享数据链路用于传输包括视频、音乐、图片、文本、word、excel或PPT文件数据,不同类型的文件数据通过实时共享数据链路进行传输,可以实时同步的共享浏览和操作文件内容。
实时控制信令链路用于终端与服务器之间的信令交互,以及终端与终端之间的信令交互,传输的信令内容包括:终端上报性能参数的信令、终端发起文件同步的信令、终端进行视音频数据传输的信令、服务器下发文件传输策略的信令、终端上报传输状态的信令、服务器下发传输状态的信令、终端获取控制权限的信令、以及终端对实时内容的浏览和操作的信令。
终端上报性能参数,用于生成传输策略,包括四个步骤。
步骤一:上报终端性能参数,上报终端性能参数包括:终端硬件性能评级和终端网络性能评级。
步骤二:服务器生成终端综合性能评级,服务器生成终端综合性能评级,服务器根据终端的性能参数为每个终端打分,然后按照终端性能分数从高到低进行排序,再按照不同综合性能评级终端的数量比例为每个终端设置综合性能评级,所述终端综合性能评级包括三类:高级、中级和低级。
步骤三:根据终端综合性能评级制定不同的传输策略,根据终端综合性能评级制定不同的传输策略,每条具体的传输策略包括以下内容:文件名称、文件大小、文件分块信息、目标获取终端、目标发送终端、传输顺序优先级和获取超时时长。
步骤四:终端动态反馈性能参数,服务器调整终端综合性能评级,终端动态反馈性能参数,是指终端在执行传输策略的过程中,根据终端的实际传输效率,将终端性能参数进行动态反馈给服务器,服务器可以动态的调整终端的综合性能评级。
目标获取终端是指用户终端用于获取传输文件内容的目标终端,包括主目标获取终端和从目标获取终端,目标发送终端是指用户终端需要将传输策略中的传输文件主动推送给目标终端,包括一个或多个目标终端的传输地址,传输顺序优先级规定了终端在执行一系列的传输策略时的优先级顺序,优先级高的传输策略比优先级低的传输策略要优先被执行,获取超时时长是传输策略执行终端等待推送文件内容的时长,在等待获取超时时长的时间之后,还没有其它终端主动推送所述传输策略中的文件内容至传输策略执行终端时,则传输策略执行终端可以主动向目标获取终端发起获取请求。
终端性能评级为高级和中级的用户终端,需要设置目标获取终端和目标发送终端,而所述终端性能评级为低级的用户终端,只需要设置目标获取终端,终端性能评级为高级的用户终端设置的目标获取终端范围包括:发起文件传输的源终端或其他终端性能评级为高级的用户终端,终端性能评级为中级的用户终端设置的目标获取终端范围包括:发起文件传输的源终端、其他终端性能评级为中级的用户终端或终端性能评级为高级的用户终端,终端性能评级为低级的用户终端设置的目标获取终端范围包括:发起文件传输的源终端、其他终端性能评级为低级的用户终端、终端性能评级为中级的用户终端或终端性能评级为高级的用户终端。
终端性能评级为高级的用户终端设置的目标发送终端范围包括:其他终端性能评级为高级的用户终端、终端性能评级为中级的用户终端或终端性能评级为低级的用户终端,终端性能评级为中级的用户终端设置的目标发送终端范围包括:其他终端性能评级为中级的用户终端或终端性能评级为低级的用户终端,终端性能评级为低级的用户终端不设置的目标推送终端。
终端性能评级为高级的用户终端在传输策略中平均设置的目标发送终端数目,要多于终端性能评级为中级的用户终端在传输策略中平均设置的目标发送终端数目。
当用户终端在等待获取超时时长之后,没有接收到传输策略中的文件内容时,可以主动根据目标获取终端请求传输策略中的文件数据,当终端性能评级为高级和中级的用户终端,在接收到对应的文件后,再寻找对应的目标发送终端,将文件数据传输给目标终端,任意终端获取文件数据的传输路径所包含的传输次数,距离发起文件传输的源终端都不能超过两次。
当终端执行传输策略出现问题时,执行终端反馈传输结果,并重新向服务器请求该条传输策略的更新信息,终端根据传输策略执行完毕后,上报服务器传输完毕信息,服务器根据统计的传输信息结果,通过实时控制信令链路来统一下发传输状态指令。
当传输内容的源终端提供实时同步的内容为文件内容时,传输方法包括4个步骤。
步骤一:上报终端待传输的文件信息,待传输的文件信息包括:文件类型、文件大小、文件名称、文件分块信息和文件获取终端地址,文件分块信息包括:文件分块编号、文件分块大小和文件分块起始位置,当传输大文件时,将文件进行分块处理,再按分块进行传输。
步骤二:服务器根据文件信息和终端性能评级为每个终端生成不同的传输策略,判断所述待传输的文件大小,如果为小文件,则为一个小文件生成一条对应的传输策略,判断所述待传输的文件大小,如果为大文件,则将大文件进行分块处理,为每一个分块生成一条对应的传输策略。
步骤三:服务器将传输策略下发给所有参与的终端,服务器将传输策略下发给所有参与的终端,是指服务器与所有参与的终端都建立了实时控制信令链路,服务器通过实时控制信令链路将传输策略分发给各个终端。
步骤四:各终端执行接收到的传输策略,终端执行的每条传输策略都包含了两个任务内容:获取传输策略中的文件内容和推送已获取的文件内容,终端执行任务的顺序是先获取传输策略中的文件内容,再推送已获取的文件内容,终端获取到文件数据后,再根据传输策略中的目标发送终端,将文件数据推送给目标发送终端。
获取每条传输策略的文件,包括四个状态:未获取状态、获取中状态、获取失败状态和获取成功状态,推送每条传输策略的文件,包括四个状态:未推送状态、推送中状态、推送失败状态和推送成功状态。
终端上报传输策略执行结果,服务器下发传输状态指令给终端,终端在完成所有传输策略后,将传输策略执行的结果上报给服务器,服务器统计所有终端的执行策略结果,当所有终端都接收数据完毕时,服务器统一下发传输成功的指令给各终端。
传输内容的源终端提供实时同步的内容为音视频内容时,传输方法包括4个步骤。
步骤一:建立终端之间的实时音视频通信链路。
实时音视频通信链路有两种建立方式:网状式通信链路和中心制通信链路,网状式通信链路,是指当参与终端数目的规模比较小时,传输视音频内容流的源终端通过与其它终端相互之间建立网状结构的连接,音视频流的数据内容直接通过点对点的通信链路进行传输,中心制通信链路:是指当参与终端数目的规模比较大时,传输视音频内容流的源终端与其它终端都与媒体服务器建立连接,音视频流的数据内容都通过媒体服务器进行合成和转发来实现传输。
步骤二:传输视音频内容流的源终端选择实时传输视频流和音频流的内容。
终端的实时语音数据的内容包括四种:来源于终端麦克风捕获的音频数据、来源于终端播放器播放音视频文件中的音频数据、来源于终端***播放产生的音频数据、以及来源于在终端内指定的具体应用播放出的音频数据,所述终端的实时语音数据可以是所述四种语音数据来源中的任何一种,也可以是来源于麦克风的音频数据与其它三种来源中的任意一种音频数据进行混合生成的音频数据。
终端的实时视频数据包括四种:来源于获取终端摄像头捕获的视频数据、来源于获取终端播放器播放的视频文件中的视频数据、来源于获取终端全部屏幕或部分屏幕画面的视频数据、以及来源于获取终端内指定的具体应用全部或局部屏幕画面的视频数据,所述终端的实时视频数据可以是所述四种视频数据来源中的任何一种,也可以是来源于获取由终端摄像头捕获的视频数据与其它三种来源中的任意一种视频数据组合产生的视频数据。
来源于获取终端全部屏幕或部分屏幕画面的视频数据,包括所有屏幕或指定区域屏幕上显示的视频画面,可以包括所有应用运行时所显示画面的视频数据。
来源于获取终端内指定的具体应用全部或局部屏幕画面的视频数据,只包括捕获当前指定的具体应用的全部或局部视频画面数据,当指定的具体应用不显示在屏幕上时或指定的具体应用被关闭时,终端不能捕获到任何与指定应用无关的视频数据。
步骤三:选择待传输的视频流的传输方式。
待传输的视频流的传输方式有三种:多视频源复用同一视频通信链路进行传输、动态混合视频源进行传输和动态切换视频源进行传输,多视频源复用同一视频通信链路进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定的具体应用全部或局部屏幕画面的视频数据,传输视频内容流的源终端,通过将所述两种视频数据分别进行编码和打包后,通过同一通信链路进行传输,其中编码后的数据包中包含了视频数据的归属标志,用于在解码端区分不同的视频数据源。
动态混合视频源进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定具体应用的全部或局部屏幕画面的视频数据,传输视频内容流的源终端可以动态的将这两类数据源内容进行画面混合,由两路视频源生成一路视频源之后,再进行编码、打包和传输。
动态切换视频源进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定具体应用的全部或局部屏幕画面的视频数据,传输视频内容流的源终端同一时间只传输一种视频源,可以在两类视频数据源之间进行动态的切换,选择其中一种作为当前被传输的视频源。
所述部分屏幕画面的视频数据,是指通过选定数据捕获区域或通过画面遮罩的方式来获取屏幕画面的原始视频数据,再通过画面裁剪的方式来获取部分屏幕画面的视频数据。
步骤四:传输视音频内容流的源终端开始视频流和音频流的实时传输,传输视音频内容流的源终端,根据选择的实时传输视频流和音频流的内容,以及待传输的视频流的传输方式,开始视频流和音频流的实时传输过程。
参与终端展示由传输内容的源终端提供的实时同步内容,包括展示文件类型的内容和展示实时音视频数据流类型的内容。
当参与终端展示文件类型的内容时,终端提供一个当前同步展示区域,同步展示区域只显示当前实时的内容,所有终端的同步展示区域保持实时同步,选择需要实时展示的文件内容,终端显示同步状态为正在同步中,当文件都成功同步至其它所有终端时,开始实时同步展示文件内容,所有终端用户都可以观看到同样画面的文件内容,同时也能进行语音和视频对话交流。
当参与终端展示实时数据流类型的内容时,传输视音频内容流的源终端不显示当前的同步展示区域,其它终端显示当前的同步展示区域,其它终端显示的同步展示区域展示的内容来自传输视音频内容流的源终端获取的实时数据流内容,所有终端都可以观看到同样的视频画面,并听到同步的声音。
参与终端可以同步控制和操作展示的实时内容,包括三个步骤。
步骤一:传输内容的源终端设置内容控制权限的方式。
传输内容的源终端可选择控制权限方式有两种:独占式控制权限、争抢式控制权限,独占式控制权限是指,传输内容的源终端可以赋予其它终端当前的内容控制权限,传输内容的源终端可以重新收回内容控制权限,被赋予控制权限的终端拥有独立控制权,当前对共享内容的控制只能由被赋予控制权限的终端来完成,直到内容控制权限被传输内容的源终端收回,争抢式控制权限是指,所有终端都可以尝试向服务器获取当前的内容控制权限,当前的内容控制权限能且只能被一个终端获取到,当获取内容控制权限的终端在一定时间内,没有发生控制操作时,控制权限自动被服务器收回,所有终端可以重新争抢内容控制权限。
步骤二:终端获取内容控制权限。
当传输内容的源终端设置内容控制权限的方式为独占式控制权限时,传输内容的源终端指定某个终端获取当前的内容控制权限,当传输内容的源终端设置内容控制权限的方式为争抢式控制权限时,终端通过争抢进行获取内容控制权限。
步骤三:获得权限的终端可以进行实时控制操作。
展示文件类型的内容时,如果展示音频文件或视频文件,则拥有内容控制权限的终端可以进行同步播放,控制播放状态、播放速度和播放进度,如果展示图片、文本、word、excel或PPT文件,则拥有内容控制权限的终端可以选择实时同步打开、浏览、编辑、切换和关闭所述文件,控制信令都通过实时控制信令链路来传输。
展示实时数据流类型的内容时,拥有内容控制权限的终端可以对实时数据流进行控制,包括开始、暂停或播放实时数据流,也包括对实时数据流中的视频画面的内容进行控制,控制信令通过实时控制信令链路来传输。
当传输内容的源终端获取当前播放的视频流或音频流的数据时,拥有内容控制权限的终端可以通过视频画面对播放视频的播放进度、播放音量或播放亮度进行控制,也可以通过对播放音频的播放进度和播放音量进行控制,控制信令通过实时控制信令链路来传输。
一种基于内容的即时通信***,包括服务提供***和用户终端***,服务提供***包括终端性能管理模块、传输策略控制和管理模块、实时同步信令控制模块、通信链路辅助建立模块和通信模块,用户终端***包括性能检测和反馈模块、文件管理和传输模块、音视频流捕获与传输模块、文件内容接收展示和控制模块、音视频数据接收播放和控制模块、音视频数据编码和打包模块和通信模块。
服务提供***包括终端性能管理模块、传输策略控制和管理模块、实时同步信令控制模块、通信链路辅助建立模块和通信模块,终端性能管理模块,用于接收终端上报的性能参数,生成终端综合性能评级,还用于接收终端动态反馈性能参数,并动态调整终端综合性能评级,传输策略控制和管理模块,用于根据文件信息和终端性能评级为每个终端生成和下发不同的传输策略,并管理终端的传输策略状态,实时同步信令控制模块,用于终端与服务器之间的信令交互,以及辅助终端与终端之间的信令交互,通信链路辅助建立模块,用于辅助终端和终端之间建立实时音视频通信链路和实时共享数据链路,通信模块,用于对实时控制信令链路提供服务器传输协议的封装和解析。
用户终端***包括性能检测和反馈模块、文件管理和传输模块、音视频流捕获与传输模块、音视频数据接收播放和控制模块、文件内容接收展示和控制模块、音视频数据编码和打包模块和通信模块。
性能检测和反馈模块,用于检测终端的硬件性能评级和终端网络性能评级,以及在实时内容通信过程中,动态监控并反馈终端性能参数,文件管理和传输模块,用于提供和管理实时同步的文件内容,根据传输策略接收和发送文件或文件块,并上报传输策略的执行状态,音视频流捕获与传输模块,用于提供实时同步的音视频内容,捕获实时传输视频流和音频流的内容,按照视频流设定的传输方式,进行视频流和音频流的实时传输,文件内容接收展示和控制模块,用于接收传输实时同步的文件数据,并提供一个当前同步展示区域,来实时同步展示文件内容,根据设置内容控制权限的方式,可以对文件内容的操作进行控制,音视频数据接收播放和控制模块,用于接收并播放传输实时同步的音视频数据,根据设置内容控制权限的方式,可以对视音频播放的操作进行控制,音视频数据编码和打包模块,用于完成音频数据的混合、编码和打包功能,根据视频流的不同传输方式,对视频数据进行对应的处理,包括动态混合视频源和动态切换视频源功能,通信模块用于对实时控制信令链路提供终端传输协议的封装和解析,用户终端可以是任意智能终端,包括但不限于Android终端、IOS终端、PC终端、Web端、智能电视、嵌入式智能终端、VR设备终端和AR设备终端。
附图说明
图1为本发明实施提供的一种基于内容的即时通信方法的流程图;
图2为本发明实施提供的终端上报性能参数生成传输策略的流程图;
图3为本发明实施提供的源终端提供实时同步的文件类型内容的流程图;
图4为本发明实施提供的源终端提供实时同步的音视频流类型内容的流程图;
图5为本发明实施提供的参与终端展示和控制实时同步内容的流程图;
图6为本发明实施提供的一种基于内容的即时通信***结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的一种基于内容的即时通信方法和***进行详细描述。
本发明实施例包括:一种基于内容的即时通信***,如图6所示,为本发明实施提供的一种基于内容的即时通信***的结构示意图,其中包括服务提供***600和多个用户终端***,多个用户终端***使用用户终端***700、用户终端***800和用户终端***900来示意表示。
服务提供***600包括终端性能管理模块601、传输策略控制和管理模块602、实时同步信令控制模块603、通信链路辅助建立模块604和通信模块605。
终端性能管理模块601用于接收终端上报的性能参数,生成终端综合性能评级,还用于接收终端动态反馈性能参数,并动态调整终端综合性能评级,传输策略控制和管理模块602用于根据文件信息和终端性能评级为每个终端生成和下发不同的传输策略,并管理终端的传输策略状态,实时同步信令控制模块603用于终端与服务器之间的信令交互,以及辅助终端与终端之间的信令交互,通信链路辅助建立模块604用于辅助终端和终端之间建立实时音视频通信链路和实时共享数据链路,通信模块605用于对实时控制信令链路提供服务器传输协议的封装和解析。
用户终端***700包括性能检测和反馈模块701、文件管理和传输模块702、音视频流捕获与传输模块703、文件内容接收展示和控制模块704、音视频数据接收播放和控制模块705、音视频数据编码和打包模块706和通信模块707。
性能检测和反馈模块701用于检测终端的硬件性能评级和终端网络性能评级,以及在实时内容通信过程中,动态监控并反馈终端性能参数,文件管理和传输模块702用于提供和管理实时同步的文件内容,根据传输策略接收和发送文件或文件块,并上报传输策略的执行状态,音视频流捕获与传输模块703,用于提供实时同步的音视频内容,捕获实时传输视频流和音频流的内容,按照视频流设定的传输方式,进行视频流和音频流的实时传输,文件内容接收展示和控制模块704用于接收传输实时同步的文件数据,并提供一个当前同步展示区域,来实时同步展示文件内容,根据设置内容控制权限的方式,可以对文件内容的操作进行控制,音视频数据接收播放和控制模块705用于接收并播放传输实时同步的音视频数据,根据设置内容控制权限的方式,可以对视音频播放的操作进行控制,音视频数据编码和打包模块706用于完成音频数据的混合、编码和打包功能,根据视频流的不同传输方式,对视频数据进行对应的处理,包括动态混合视频源和动态切换视频源功能,所述通信模块707用于对实时控制信令链路提供终端传输协议的封装和解析。
图1为本发明实施提供的一种基于内容的即时通信方法的流程图,如图1所示,本实施例的方法可以包括:
步骤101、参与通信的终端建立通信链路。
建立通信链路用于同时进行实时语音会话、实时视频会话和实时内容会话,建立的通信链路包括三类:实时音视频通信链路、实时共享数据链路和实时控制信令链路,实时音视频通信链路,是用于传输实时语音数据和实时视频数据的通信链路,参与通信的终端可以通过实时音视频通信链路同时进行实时语音会话、实时视频会话和实时内容会话,实时语音会话是指参与终端可以进行实时语音交流,所述实时视频会话是指参与终端可以通过实时视频进行面对面交流,所述实时内容会话是指参与终端在会话时,可以实时同步浏览和操作文件内容或捕获的音视频流内容,实时共享数据链路,用于传输包括视频、音乐、图片、文本、word、excel或PPT文件数据,不同类型的文件数据通过实时共享数据链路进行传输,可以实时同步的共享浏览和操作文件内容,实时控制信令链路,用于终端与服务器之间的信令交互,以及终端与终端之间的信令交互,传输的信令内容包括:终端上报性能参数的信令、终端发起文件同步的信令、终端进行视音频数据传输的信令、服务器下发文件传输策略的信令、终端上报传输状态的信令、服务器下发传输状态的信令、终端获取控制权限的信令、以及终端对实时内容的浏览和操作的信令。
举例来说,在本实施例中,建立的实时音视频通信链路可以基于常见的公开协议如WebRTC协议、SIP协议、RTSP协议或RTMP协议,也可以采用自定义实时音视频通信协议,建立的实时共享数据链路可以基于P2P协议或RTP/RTCP协议,也可以采用自定义实时共享数据协议,建立的实时控制信令链路可以基于WebSocket协议、HTTP协议、XMPP协议或MQTT协议,也可以采用自定义实时控制信令协议,本领域技术人员可以采用任何常见通信协议或自定义协议实现三类通信链路的建立,此处不再赘述。
步骤102、终端上报性能参数,用于生成传输策略。
步骤103、传输内容的源终端提供实时同步的内容。
步骤104、参与终端展示由传输内容的源终端提供的实时同步内容。
步骤105、参与终端可以同步控制和操作展示的实时内容。
图2为本发明实施提供的终端上报性能参数生成传输策略的流程图,如图2所示,本实施例的方法包括以下步骤:
步骤201、上报终端性能参数。
上报终端性能参数包括:终端硬件性能评级和终端网络性能评级。
步骤202:服务器生成终端综合性能评级。
服务器生成终端综合性能评级,服务器根据终端的性能参数为每个终端打分,然后按照终端性能分数从高到低进行排序,再按照不同综合性能评级终端的数量比例为每个终端设置综合性能评级,所述终端综合性能评级包括三类:高级、中级和低级。
步骤203、根据终端综合性能评级制定不同的传输策略。
根据终端综合性能评级制定不同的传输策略,每条具体的传输策略包括以下内容:文件名称、文件大小、文件分块信息、目标获取终端、目标发送终端、传输顺序优先级和获取超时时长,目标获取终端是指用户终端用于获取传输文件内容的目标终端,包括主目标获取终端和从目标获取终端,目标发送终端是指用户终端需要将传输策略中的传输文件主动推送给目标终端,包括一个或多个目标终端的传输地址,传输顺序优先级规定了终端在执行一系列的传输策略时的优先级顺序,优先级高的传输策略比优先级低的传输策略要优先被执行,获取超时时长是传输策略执行终端等待推送文件内容的时长,在等待获取超时时长的时间之后,还没有其它终端主动推送所述传输策略中的文件内容至传输策略执行终端时,则传输策略执行终端可以主动向目标获取终端发起获取请求。
举例来说,在本实施例中,终端性能评级为高级和中级的用户终端,需要设置目标获取终端和目标发送终端,而所述终端性能评级为低级的用户终端,只需要设置目标获取终端,终端性能评级为高级的用户终端设置的目标获取终端范围包括:发起文件传输的源终端或其他终端性能评级为高级的用户终端,终端性能评级为中级的用户终端设置的目标获取终端范围包括:发起文件传输的源终端、其他终端性能评级为中级的用户终端或终端性能评级为高级的用户终端,终端性能评级为低级的用户终端设置的目标获取终端范围包括:发起文件传输的源终端、其他终端性能评级为低级的用户终端、终端性能评级为中级的用户终端或终端性能评级为高级的用户终端。
举例来说,在本实施例中,终端性能评级为高级的用户终端设置的目标发送终端范围包括:其他终端性能评级为高级的用户终端、终端性能评级为中级的用户终端或终端性能评级为低级的用户终端,终端性能评级为中级的用户终端设置的目标发送终端范围包括:其他终端性能评级为中级的用户终端或终端性能评级为低级的用户终端,终端性能评级为低级的用户终端不设置的目标推送终端。
举例来说,在本实施例中,终端性能评级为高级的用户终端在传输策略中平均设置的目标发送终端数目,要多于终端性能评级为中级的用户终端在传输策略中平均设置的目标发送终端数目,当用户终端在等待获取超时时长之后,没有接收到传输策略中的文件内容时,可以主动根据目标获取终端请求传输策略中的文件数据,当终端性能评级为高级和中级的用户终端,在接收到对应的文件后,再寻找对应的目标发送终端,将文件数据传输给目标终端,任意终端获取文件数据的传输路径所包含的传输次数,距离发起文件传输的源终端都不能超过两次,当终端执行传输策略出现问题时,执行终端反馈传输结果,并重新向服务器请求该条传输策略的更新信息。
举例来说,在本实施例中,终端根据传输策略执行完毕后,上报服务器传输完毕信息,服务器根据统计的传输信息结果,通过实时控制信令链路来统一下发传输状态指令,以上仅为制定传输策略规则的示例,本领域技术人员可以依据本实施例的方法进行任意组合,此处不再赘述。
步骤204、终端动态反馈性能参数,服务器调整终端综合性能评级。
终端动态反馈性能参数,指终端在执行传输策略的过程中,根据终端的实际传输效率,将终端性能参数进行动态反馈给服务器,服务器可以动态的调整终端的综合性能评级。
图3为本发明实施提供的源终端提供实时同步的文件类型内容的流程图,如图3所示,本实施例的方法包括以下步骤:
步骤301、上报终端待传输的文件信息。
待传输的文件信息包括:文件类型、文件大小、文件名称、文件分块信息和文件获取终端地址,文件分块信息包括:文件分块编号、文件分块大小和文件分块起始位置,当传输大文件时,将文件进行分块处理,再按分块进行传输。
步骤302、服务器根据文件信息和终端性能评级为每个终端生成不同的传输策略。
判断所述待传输的文件大小,如果为小文件,则为一个小文件生成一条对应的传输策略,判断所述待传输的文件大小,如果为大文件,则将大文件进行分块处理,为每一个分块生成一条对应的传输策略。
步骤303、服务器将传输策略下发给所有参与的终端。
服务器将传输策略下发给所有参与的终端,是指服务器与所有参与的终端都建立了实时控制信令链路,服务器通过实时控制信令链路将传输策略分发给各个终端。
步骤304:各终端执行接收到的传输策略。
终端执行的每条传输策略都包含了两个任务内容:获取传输策略中的文件内容和推送已获取的文件内容,终端执行任务的顺序是先获取传输策略中的文件内容,再推送已获取的文件内容,终端获取到文件数据后,再根据传输策略中的目标发送终端,将文件数据推送给目标发送终端。
获取每条传输策略的文件包括四个状态:未获取状态、获取中状态、获取失败状态和获取成功状态,推送每条传输策略的文件包括四个状态:未推送状态、推送中状态、推送失败状态和推送成功状态,终端上报传输策略执行结果,服务器下发传输状态指令给终端,终端在完成所有传输策略后,将传输策略执行的结果上报给服务器,服务器统计所有终端的执行策略结果,当所有终端都接收数据完毕时,服务器统一下发传输成功的指令给各终端。
本实施例中,在传输大文件时通过分块传输加快了大文件传输的效率,也降低了服务端的负载,同时通过对不同性能的终端制定不同的传输策略,降低了源终端文件得传输负载,多层级的传输策略实现了参与终端的传输负载均衡。
图4为本发明实施提供的源终端提供实时同步的音视频流类型内容的流程图,如图4所示,本实施例的方法包括以下步骤:
步骤401、建立终端之间的实时音视频通信链路。
实时音视频通信链路有两种建立方式:网状式通信链路和中心制通信链路,网状式通信链路,是指当参与终端数目的规模比较小时,传输视音频内容流的源终端通过与其它终端相互之间建立网状结构的连接,音视频流的数据内容直接通过点对点的通信链路进行传输,中心制通信链路:是指当参与终端数目的规模比较大时,传输视音频内容流的源终端与其它终端都与媒体服务器建立连接,音视频流的数据内容都通过媒体服务器进行合成和转发来实现传输。
步骤402、传输视音频内容流的源终端选择实时传输视频流和音频流的内容。
终端的实时语音数据的内容包括四种:来源于终端麦克风捕获的音频数据、来源于终端播放器播放音视频文件中的音频数据、来源于终端***播放产生的音频数据、以及来源于在终端内指定的具体应用播放出的音频数据,所述终端的实时语音数据可以是所述四种语音数据来源中的任何一种,也可以是来源于麦克风的音频数据与其它三种来源中的任意一种音频数据进行混合生成的音频数据。
终端的实时视频数据包括四种:来源于获取终端摄像头捕获的视频数据、来源于获取终端播放器播放的视频文件中的视频数据、来源于获取终端全部屏幕或部分屏幕画面的视频数据、以及来源于获取终端内指定的具体应用全部或局部屏幕画面的视频数据,所述终端的实时视频数据可以是所述四种视频数据来源中的任何一种,也可以是来源于获取由终端摄像头捕获的视频数据与其它三种来源中的任意一种视频数据组合产生的视频数据。
来源于获取终端全部屏幕或部分屏幕画面的视频数据,包括所有屏幕或指定区域屏幕上显示的视频画面,可以包括所有应用运行时所显示画面的视频数据。
举例来说,在本实施例中,当获取的实时音频数据来源于播放的音乐时,参与终端可以实时同步的听音乐,还可以基于音乐内容进行讨论和交流,当获取的实时视频数据为浏览器的画面时,参与终端可以实时同步浏览网页,同时还可以基于网页中的内容进行相互讨论和交流,当获取的实时视频数据为购物应用的画面时,如淘宝、京东等,参与终端可以实时同步浏览商品,同时还可以基于商品内容进行相互讨论和交流,当获取的实时视频数据为小说、新闻或漫画类的画面时,参与终端可以实时同步浏览小说、新闻或漫画,同时还可以基于小说、新闻或漫画的内容进行讨论和交流,当获取的实时视频数据为地图应用时,参与终端可以实时同步浏览地图,还可以基于地图内容进行讨论和交流,当获取的实时视频数据为视频应用时,参与终端可以实时同步浏览视频,还可以基于视频内容进行讨论和交流,以上仅为应用场景的示例,本领域技术人员可以依据本实施例的方法进行任意组合,此处不再赘述。
来源于获取终端内指定的具体应用全部或局部屏幕画面的视频数据,只包括捕获当前指定的具体应用的全部或局部视频画面数据,当指定的具体应用不显示在屏幕上时或指定的具体应用被关闭时,终端不能捕获到任何与指定应用无关的视频数据。
步骤403、选择待传输的视频流的传输方式。
待传输的视频流的传输方式有三种:多视频源复用同一视频通信链路进行传输、动态混合视频源进行传输和动态切换视频源进行传输。
多视频源复用同一视频通信链路进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定的具体应用全部或局部屏幕画面的视频数据,传输视频内容流的源终端,通过将所述两种视频数据分别进行编码和打包后,通过同一通信链路进行传输,其中编码后的数据包中包含了视频数据的归属标志,用于在解码端区分不同的视频数据源。
动态混合视频源进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定具体应用的全部或局部屏幕画面的视频数据,传输视频内容流的源终端可以动态的将这两类数据源内容进行画面混合,由两路视频源生成一路视频源之后,再进行编码、打包和传输。
动态切换视频源进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定具体应用的全部或局部屏幕画面的视频数据,传输视频内容流的源终端同一时间只传输一种视频源,可以在两类视频数据源之间进行动态的切换,选择其中一种作为当前被传输的视频源。
部分屏幕画面的视频数据,是指通过选定数据捕获区域或通过画面遮罩的方式来获取屏幕画面的原始视频数据,再通过画面裁剪的方式来获取部分屏幕画面的视频数据。
步骤404、传输视音频内容流的源终端开始视频流和音频流的实时传输。
传输视音频内容流的源终端,根据选择的实时传输视频流和音频流的内容,以及待传输的视频流的传输方式,开始视频流和音频流的实时传输过程。
图5为本发明实施提供的参与终端展示和控制实时同步内容的流程图,如图5所示,本实施例的方法包括以下步骤:
步骤501、传输内容的源终端设置内容控制权限的方式。
传输内容的源终端可选择控制权限方式有两种:独占式控制权限、争抢式控制权限,独占式控制权限是指,传输内容的源终端可以赋予其它终端当前的内容控制权限,传输内容的源终端可以重新收回内容控制权限,被赋予控制权限的终端拥有独立控制权,当前对共享内容的控制只能由被赋予控制权限的终端来完成,直到内容控制权限被传输内容的源终端收回,争抢式控制权限是指,所有终端都可以尝试向服务器获取当前的内容控制权限,当前的内容控制权限能且只能被一个终端获取到,当获取内容控制权限的终端在一定时间内,没有发生控制操作时,控制权限自动被服务器收回,所有终端可以重新争抢内容控制权限。
步骤502、终端获取内容控制权限。
当传输内容的源终端设置内容控制权限的方式为独占式控制权限时,传输内容的源终端指定某个终端获取当前的内容控制权限,当传输内容的源终端设置内容控制权限的方式为争抢式控制权限时,终端通过争抢进行获取内容控制权限。
步骤503、获得权限的终端可以进行实时控制操作。
展示文件类型的内容时,如果展示音频文件或视频文件,则拥有内容控制权限的终端可以进行同步播放,控制播放状态、播放速度和播放进度,如果展示图片、文本、word、excel或PPT文件,则拥有内容控制权限的终端可以选择实时同步打开、浏览、编辑、切换和关闭所述文件,控制信令都通过实时控制信令链路来传输。
展示实时数据流类型的内容时,拥有内容控制权限的终端可以对实时数据流进行控制,包括开始、暂停或播放实时数据流,也包括对实时数据流中的视频画面的内容进行控制,控制信令通过实时控制信令链路来传输。
当传输内容的源终端获取当前播放的视频流或音频流的数据时,拥有内容控制权限的终端可以通过视频画面对播放视频的播放进度、播放音量或播放亮度进行控制,也可以通过对播放音频的播放进度和播放音量进行控制,控制信令通过实时控制信令链路来传输。
在本实施例中,提供的一种基于内容的即时通信方法和***,通过参与终端建立通信链路,并上报性能参数,传输内容的源终端提供实时同步的内容,服务端生成传输策略,参与终端展示由传输内容的源终端提供的实时同步内容,同时可以同步控制和操作展示的实时内容,实现了参与终端实时同步共享、浏览和操作源终端的资源内容,同时在传输大文件时通过分块传输的方法加快了大文件传输的效率,也降低了服务端的负载,通过对不同性能的终端制定不同的传输策略,降低了源终端文件得传输负载,多层级的传输策略实现了参与终端的传输负载均衡,实现了基于内容的即时通信方法和***。
综上所述,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此,对于本领域内的普通技术人员而言,在不脱离本发明的原理和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (10)
1.一种基于内容的即时通信方法,其特征在于,包括下列步骤:
参与通信的终端建立通信链路;
终端上报性能参数,用于生成传输策略;
传输内容的源终端提供实时同步的内容;
参与终端展示由传输内容的源终端提供的实时同步内容;
参与终端可以同步控制和操作展示的实时内容。
2.根据权利要求1所述的一种基于内容的即时通信方法,其特征在于,所述参与通信的终端建立通信链路,用于同时进行实时语音会话、实时视频会话和实时内容会话,建立的通信链路包括三类:实时音视频通信链路、实时共享数据链路和实时控制信令链路;
所述实时音视频通信链路,是用于传输实时语音数据和实时视频数据的通信链路,参与通信的终端可以通过实时音视频通信链路同时进行实时语音会话、实时视频会话和实时内容会话;
所述实时语音会话是指参与终端可以进行实时语音交流,所述实时视频会话是指参与终端可以通过实时视频进行面对面交流,所述实时内容会话是指参与终端在会话时,可以实时同步浏览和操作文件内容或捕获的音视频流内容;
所述实时共享数据链路,用于传输包括视频、音乐、图片、文本、word、excel或PPT文件数据,不同类型的文件数据通过实时共享数据链路进行传输,可以实时同步的共享浏览和操作文件内容;
所述实时控制信令链路,用于终端与服务器之间的信令交互,以及终端与终端之间的信令交互,传输的信令内容包括:终端上报性能参数的信令、终端发起文件同步的信令、终端进行视音频数据传输的信令、服务器下发文件传输策略的信令、终端上报传输状态的信令、服务器下发传输状态的信令、终端获取控制权限的信令、以及终端对实时内容的浏览和操作的信令。
3.根据权利要求1所述的一种基于内容的即时通信方法,其特征在于,所述终端上报性能参数,用于生成传输策略,包括以下步骤:
步骤一:上报终端性能参数;
所述上报终端性能参数包括:终端硬件性能评级和终端网络性能评级;
步骤二:服务器生成终端综合性能评级;
所述服务器生成终端综合性能评级,服务器根据终端的性能参数为每个终端打分,然后按照终端性能分数从高到低进行排序,再按照不同综合性能评级终端的数量比例为每个终端设置综合性能评级,所述终端综合性能评级包括三类:高级、中级和低级;
步骤三:根据终端综合性能评级制定不同的传输策略;
所述根据终端综合性能评级制定不同的传输策略,每条具体的传输策略包括以下内容:文件名称、文件大小、文件分块信息、目标获取终端、目标发送终端、传输顺序优先级和获取超时时长;
所述目标获取终端是指用户终端用于获取传输文件内容的目标终端,包括主目标获取终端和从目标获取终端;
所述目标发送终端是指用户终端需要将传输策略中的传输文件主动推送给目标终端,包括一个或多个目标终端的传输地址;
所述传输顺序优先级规定了终端在执行一系列的传输策略时的优先级顺序,优先级高的传输策略比优先级低的传输策略要优先被执行;
所述获取超时时长是传输策略执行终端等待推送文件内容的时长,在等待获取超时时长的时间之后,还没有其它终端主动推送所述传输策略中的文件内容至传输策略执行终端时,则传输策略执行终端可以主动向目标获取终端发起获取请求;
步骤四:终端动态反馈性能参数,服务器调整终端综合性能评级;
所述终端动态反馈性能参数,是指终端在执行传输策略的过程中,根据终端的实际传输效率,将终端性能参数进行动态反馈给服务器,服务器可以动态的调整终端的综合性能评级。
4.根据权利要求1所述的一种基于内容的即时通信方法,其特征在于,所述传输内容的源终端提供实时同步的内容,提供实时同步的内容为文件内容时,其步骤如下:
步骤一:上报终端待传输的文件信息;
所述待传输的文件信息包括:文件类型、文件大小、文件名称、文件分块信息和文件获取终端地址;
所述文件分块信息包括:文件分块编号、文件分块大小和文件分块起始位置,当传输大文件时,将文件进行分块处理,再按分块进行传输;
步骤二:服务器根据文件信息和终端性能评级为每个终端生成不同的传输策略;
判断所述待传输的文件大小,如果为小文件,则为一个小文件生成一条对应的传输策略,判断所述待传输的文件大小,如果为大文件,则将大文件进行分块处理,为每一个分块生成一条对应的传输策略;
步骤三:服务器将传输策略下发给所有参与的终端;
所述服务器将传输策略下发给所有参与的终端,是指服务器与所有参与的终端都建立了实时控制信令链路,服务器通过实时控制信令链路将传输策略分发给各个终端;
步骤四:各终端执行接收到的传输策略;
终端执行的每条传输策略都包含了两个任务内容:获取传输策略中的文件内容和推送已获取的文件内容,终端执行任务的顺序是先获取传输策略中的文件内容,再推送已获取的文件内容,终端获取到文件数据后,再根据传输策略中的目标发送终端,将文件数据推送给目标发送终端;
获取每条传输策略的文件,包括四个状态:未获取状态、获取中状态、获取失败状态和获取成功状态;
推送每条传输策略的文件,包括四个状态:未推送状态、推送中状态、推送失败状态和推送成功状态;
终端上报传输策略执行结果,服务器下发传输状态指令给终端;
终端在完成所有传输策略后,将传输策略执行的结果上报给服务器,服务器统计所有终端的执行策略结果,当所有终端都接收数据完毕时,服务器统一下发传输成功的指令给各终端。
5.根据权利要求1所述的一种基于内容的即时通信方法,其特征在于,所述传输内容的源终端提供实时同步的内容,提供实时同步的内容为音视频内容时,其步骤如下:
步骤一:建立终端之间的实时音视频通信链路;
所述实时音视频通信链路有两种建立方式:网状式通信链路和中心制通信链路;
所述网状式通信链路,是指当参与终端数目的规模比较小时,传输视音频内容流的源终端通过与其它终端相互之间建立网状结构的连接,音视频流的数据内容直接通过点对点的通信链路进行传输;
所述中心制通信链路:是指当参与终端数目的规模比较大时,传输视音频内容流的源终端与其它终端都与媒体服务器建立连接,音视频流的数据内容都通过媒体服务器进行合成和转发来实现传输;
步骤二:传输视音频内容流的源终端选择实时传输视频流和音频流的内容;
所述终端的实时语音数据的内容包括四种:来源于终端麦克风捕获的音频数据、来源于终端播放器播放音视频文件中的音频数据、来源于终端***播放产生的音频数据、以及来源于在终端内指定的具体应用播放出的音频数据,所述终端的实时语音数据可以是所述四种语音数据来源中的任何一种,也可以是来源于麦克风的音频数据与其它三种来源中的任意一种音频数据进行混合生成的音频数据;
所述终端的实时视频数据包括四种:来源于获取终端摄像头捕获的视频数据、来源于获取终端播放器播放的视频文件中的视频数据、来源于获取终端全部屏幕或部分屏幕画面的视频数据、以及来源于获取终端内指定的具体应用全部或局部屏幕画面的视频数据,所述终端的实时视频数据可以是所述四种视频数据来源中的任何一种,也可以是来源于获取由终端摄像头捕获的视频数据与其它三种来源中的任意一种视频数据组合产生的视频数据;
所述来源于获取终端全部屏幕或部分屏幕画面的视频数据,包括所有屏幕或指定区域屏幕上显示的视频画面,可以包括所有应用运行时所显示画面的视频数据;
所述来源于获取终端内指定的具体应用全部或局部屏幕画面的视频数据,只包括捕获当前指定的具体应用的全部或局部视频画面数据,当指定的具体应用不显示在屏幕上时或指定的具体应用被关闭时,终端不能捕获到任何与指定应用无关的视频数据;
步骤三:选择待传输的视频流的传输方式;
所述待传输的视频流的传输方式有三种:多视频源复用同一视频通信链路进行传输、动态混合视频源进行传输和动态切换视频源进行传输;
所述多视频源复用同一视频通信链路进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定的具体应用全部或局部屏幕画面的视频数据,传输视频内容流的源终端,通过将所述两种视频数据分别进行编码和打包后,通过同一通信链路进行传输,其中编码后的数据包中包含了视频数据的归属标志,用于在解码端区分不同的视频数据源;
所述动态混合视频源进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定具体应用的全部或局部屏幕画面的视频数据,传输视频内容流的源终端可以动态的将这两类数据源内容进行画面混合,由两路视频源生成一路视频源之后,再进行编码、打包和传输;
所述动态切换视频源进行传输,在同时传输的两种视频数据时,一种是终端摄像头捕获的视频数据,另一种可以是终端播放器播放的视频文件中的视频数据,也可以是终端全部屏幕或部分屏幕画面的视频数据,还可以是终端内指定具体应用的全部或局部屏幕画面的视频数据,传输视频内容流的源终端同一时间只传输一种视频源,可以在两类视频数据源之间进行动态的切换,选择其中一种作为当前被传输的视频源;
所述部分屏幕画面的视频数据,是指通过选定数据捕获区域或通过画面遮罩的方式来获取屏幕画面的原始视频数据,再通过画面裁剪的方式来获取部分屏幕画面的视频数据;
步骤四:传输视音频内容流的源终端开始视频流和音频流的实时传输;
传输视音频内容流的源终端,根据选择的实时传输视频流和音频流的内容,以及待传输的视频流的传输方式,开始视频流和音频流的实时传输过程。
6.根据权利要求1所述的一种基于内容的即时通信方法,其特征在于,所述参与终端展示由传输内容的源终端提供的实时同步内容,包括展示文件类型的内容和展示实时音视频数据流类型的内容;
当参与终端展示文件类型的内容时,终端提供一个当前同步展示区域,同步展示区域只显示当前实时的内容,所有终端的同步展示区域保持实时同步,选择需要实时展示的文件内容,终端显示同步状态为正在同步中,当文件都成功同步至其它所有终端时,开始实时同步展示文件内容,所有终端用户都可以观看到同样画面的文件内容,同时也能进行语音和视频对话交流;
当参与终端展示实时数据流类型的内容时,传输视音频内容流的源终端不显示当前的同步展示区域,其它终端显示当前的同步展示区域,其它终端显示的同步展示区域展示的内容来自传输视音频内容流的源终端获取的实时数据流内容,所有终端都可以观看到同样的视频画面,并听到同步的声音。
7.根据权利要求1所述的一种基于内容的即时通信方法,其特征在于,所述参与终端可以同步控制和操作展示的实时内容,包括以下步骤:
步骤一:传输内容的源终端设置内容控制权限的方式;
传输内容的源终端可选择控制权限方式有两种:独占式控制权限、争抢式控制权限;
所述独占式控制权限是指,传输内容的源终端可以赋予其它终端当前的内容控制权限,传输内容的源终端可以重新收回内容控制权限;
所述被赋予控制权限的终端拥有独立控制权,当前对共享内容的控制只能由被赋予控制权限的终端来完成,直到内容控制权限被传输内容的源终端收回;
所述争抢式控制权限是指,所有终端都可以尝试向服务器获取当前的内容控制权限,当前的内容控制权限能且只能被一个终端获取到,当获取内容控制权限的终端在一定时间内,没有发生控制操作时,控制权限自动被服务器收回,所有终端可以重新争抢内容控制权限;
步骤二:终端获取内容控制权限;
当传输内容的源终端设置内容控制权限的方式为独占式控制权限时,传输内容的源终端指定某个终端获取当前的内容控制权限;
当传输内容的源终端设置内容控制权限的方式为争抢式控制权限时,终端通过争抢进行获取内容控制权限;
步骤三:获得权限的终端可以进行实时控制操作;
展示文件类型的内容时,如果展示音频文件或视频文件,则拥有内容控制权限的终端可以进行同步播放,控制播放状态、播放速度和播放进度,如果展示图片、文本、word、excel或PPT文件,则拥有内容控制权限的终端可以选择实时同步打开、浏览、编辑、切换和关闭所述文件,控制信令都通过实时控制信令链路来传输;
展示实时数据流类型的内容时,拥有内容控制权限的终端可以对实时数据流进行控制,包括开始、暂停或播放实时数据流,也包括对实时数据流中的视频画面的内容进行控制,控制信令通过实时控制信令链路来传输;
当传输内容的源终端获取当前播放的视频流或音频流的数据时,拥有内容控制权限的终端可以通过视频画面对播放视频的播放进度、播放音量或播放亮度进行控制,也可以通过对播放音频的播放进度和播放音量进行控制,控制信令通过实时控制信令链路来传输。
8.一种基于内容的即时通信***,其特征在于,包括服务提供***和用户终端***,所述服务提供***包括终端性能管理模块、传输策略控制和管理模块、实时同步信令控制模块、通信链路辅助建立模块和通信模块;
所述用户终端***包括性能检测和反馈模块、文件管理和传输模块、音视频流捕获与传输模块、文件内容接收展示和控制模块、音视频数据接收播放和控制模块、音视频数据编码和打包模块和通信模块。
9.根据权利要求8所述的一种基于内容的即时通信***,其特征在于,所述服务提供***包括终端性能管理模块、传输策略控制和管理模块、实时同步信令控制模块、通信链路辅助建立模块和通信模块;
所述终端性能管理模块,用于接收终端上报的性能参数,生成终端综合性能评级,还用于接收终端动态反馈性能参数,并动态调整终端综合性能评级;
所述传输策略控制和管理模块,用于根据文件信息和终端性能评级为每个终端生成和下发不同的传输策略,并管理终端的传输策略状态;
所述实时同步信令控制模块,用于终端与服务器之间的信令交互,以及辅助终端与终端之间的信令交互;
所述通信链路辅助建立模块,用于辅助终端和终端之间建立实时音视频通信链路和实时共享数据链路;
所述通信模块,用于对实时控制信令链路提供服务器传输协议的封装和解析。
10.根据权利要求8所述的一种基于内容的即时通信***,其特征在于,所述用户终端***包括性能检测和反馈模块、文件管理和传输模块、音视频流捕获与传输模块、音视频数据接收播放和控制模块、文件内容接收展示和控制模块、音视频数据编码和打包模块和通信模块;
所述性能检测和反馈模块,用于检测终端的硬件性能评级和终端网络性能评级,以及在实时内容通信过程中,动态监控并反馈终端性能参数;
所述文件管理和传输模块,用于提供和管理实时同步的文件内容,根据传输策略接收和发送文件或文件块,并上报传输策略的执行状态;
所述音视频流捕获与传输模块,用于提供实时同步的音视频内容,捕获实时传输视频流和音频流的内容,按照视频流设定的传输方式,进行视频流和音频流的实时传输;
所述文件内容接收展示和控制模块,用于接收传输实时同步的文件数据,并提供一个当前同步展示区域,来实时同步展示文件内容,根据设置内容控制权限的方式,可以对文件内容的操作进行控制;
所述音视频数据接收播放和控制模块,用于接收并播放传输实时同步的音视频数据,根据设置内容控制权限的方式,可以对视音频播放的操作进行控制;
所述音视频数据编码和打包模块,用于完成音频数据的混合、编码和打包功能,根据视频流的不同传输方式,对视频数据进行对应的处理,包括动态混合视频源和动态切换视频源功能;
所述通信模块用于对实时控制信令链路提供终端传输协议的封装和解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910638070.2A CN112291496A (zh) | 2019-07-24 | 2019-07-24 | 一种基于内容的即时通信方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910638070.2A CN112291496A (zh) | 2019-07-24 | 2019-07-24 | 一种基于内容的即时通信方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112291496A true CN112291496A (zh) | 2021-01-29 |
Family
ID=74418789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910638070.2A Pending CN112291496A (zh) | 2019-07-24 | 2019-07-24 | 一种基于内容的即时通信方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112291496A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113110234A (zh) * | 2021-05-11 | 2021-07-13 | 武汉灏存科技有限公司 | 联动控制***及方法 |
CN114422460A (zh) * | 2021-12-12 | 2022-04-29 | 路九阳 | 一种在即时通信应用中建立同屏交流分享的方法、*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035796A (zh) * | 2009-09-30 | 2011-04-27 | 华为技术有限公司 | 一种在视频共享中提供差异化服务的方法及设备 |
US20120133727A1 (en) * | 2010-11-26 | 2012-05-31 | Centre De Recherche Informatique De Montreal Inc. | Screen sharing and video conferencing system and method |
CN102572368A (zh) * | 2010-12-16 | 2012-07-11 | 中兴通讯股份有限公司 | 分布式视频的处理方法、***及多点控制单元 |
CN103297458A (zh) * | 2012-02-27 | 2013-09-11 | 联想(北京)有限公司 | 一种文件共享方法和终端 |
CN103428642A (zh) * | 2013-07-16 | 2013-12-04 | 北京邮电大学 | 基于中继的簇内d2d多播方法 |
CN106162236A (zh) * | 2015-03-23 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 一种分享视频的方法及装置 |
-
2019
- 2019-07-24 CN CN201910638070.2A patent/CN112291496A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035796A (zh) * | 2009-09-30 | 2011-04-27 | 华为技术有限公司 | 一种在视频共享中提供差异化服务的方法及设备 |
US20120133727A1 (en) * | 2010-11-26 | 2012-05-31 | Centre De Recherche Informatique De Montreal Inc. | Screen sharing and video conferencing system and method |
CN102572368A (zh) * | 2010-12-16 | 2012-07-11 | 中兴通讯股份有限公司 | 分布式视频的处理方法、***及多点控制单元 |
CN103297458A (zh) * | 2012-02-27 | 2013-09-11 | 联想(北京)有限公司 | 一种文件共享方法和终端 |
CN103428642A (zh) * | 2013-07-16 | 2013-12-04 | 北京邮电大学 | 基于中继的簇内d2d多播方法 |
CN106162236A (zh) * | 2015-03-23 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 一种分享视频的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113110234A (zh) * | 2021-05-11 | 2021-07-13 | 武汉灏存科技有限公司 | 联动控制***及方法 |
CN113110234B (zh) * | 2021-05-11 | 2023-03-31 | 武汉灏存科技有限公司 | 联动控制***及方法 |
CN114422460A (zh) * | 2021-12-12 | 2022-04-29 | 路九阳 | 一种在即时通信应用中建立同屏交流分享的方法、*** |
CN114422460B (zh) * | 2021-12-12 | 2024-03-01 | 路九阳 | 一种在即时通信应用中建立同屏交流分享的方法、*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113423018B (zh) | 一种游戏数据处理方法、装置及存储介质 | |
RU2392753C2 (ru) | Способ подачи устройству команды не выполнять синхронизацию или ввести задержку синхронизации для мультимедийных потоков | |
JP6325741B2 (ja) | メッシュエンドポイントと非メッシュエンドポイントのハイブリッドをサポートするフレームワーク | |
US10678393B2 (en) | Capturing multimedia data based on user action | |
KR101392122B1 (ko) | 멀티캐스트 배신 시스템 및 멀티캐스트 배신 방법 | |
US20160261827A1 (en) | Flow-Control Based Switched Group Video Chat and Real-Time Interactive Broadcast | |
EP2437491A1 (en) | Method and system for video conference control, network equipment and meeting places for video conference | |
US20110161836A1 (en) | System for processing and synchronizing large scale video conferencing and document sharing | |
EP2472858A1 (en) | Method, device and system for presenting virtual conference site of video conference | |
US20110157298A1 (en) | System for processing and synchronizing large scale video conferencing and document sharing | |
CN110012362B (zh) | 一种直播语音处理方法、装置、设备及存储介质 | |
US20100302346A1 (en) | System for processing and synchronizing large scale video conferencing and document sharing | |
US9521366B2 (en) | Method and apparatus for playing conference signal, video conference terminal, and mobile device | |
CN114546308B (zh) | 应用界面投屏方法、装置、设备以及存储介质 | |
CN112291496A (zh) | 一种基于内容的即时通信方法和*** | |
CN116319790A (zh) | 全真场景的渲染方法、装置、设备和存储介质 | |
CN113992949B (zh) | 混流服务切换方法及其装置、设备、介质、产品 | |
US9264662B2 (en) | Chat preauthorization | |
EP3734967A1 (en) | Video conference transmission method and apparatus, and mcu | |
CN110784731A (zh) | 一种数据流转码方法、装置、设备及介质 | |
US20210227005A1 (en) | Multi-user instant messaging method, system, apparatus, and electronic device | |
CN114697876B (zh) | 一种局域网投屏方法、装置和电子设备 | |
CN115278324A (zh) | 一种显示设备、蓝牙设备和bis音频传输方法 | |
CN112995573B (zh) | 一种视频会议直播***及方法 | |
CN114978935B (zh) | 服务质量资源申请方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |