CN112153411A - 一种提升聊天室流媒体服务器性能的方法和*** - Google Patents
一种提升聊天室流媒体服务器性能的方法和*** Download PDFInfo
- Publication number
- CN112153411A CN112153411A CN202010829589.1A CN202010829589A CN112153411A CN 112153411 A CN112153411 A CN 112153411A CN 202010829589 A CN202010829589 A CN 202010829589A CN 112153411 A CN112153411 A CN 112153411A
- Authority
- CN
- China
- Prior art keywords
- media
- user
- video
- audio
- resources
- 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 44
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000011664 signaling Effects 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 230000002708 enhancing effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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/632—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 using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
-
- 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)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种提升聊天室平台性能的方法,其特征在于,包括:根据媒体服务器上的硬件资源,确定媒体服务器总的音视频资源处理能力;根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建含有对应的、不同数量的媒体资源的媒体资源池;当用户进入聊天室时,媒体服务器查询媒体资源池,根据用户传入和接收的音视频格式,从媒体资源池中获取所需资源;当用户离开聊天室时,媒体服务器回收用户占用的媒体资源,并归还媒体资源池。本发明公开的一种提升聊天室平台性能的方法,实现逻辑简单,易实现。并且实用性强,效果好,避免频繁创建销毁资源,稳定可靠。
Description
技术领域
本发明涉及的是通信及流媒体技术领域,特别涉及一种提升聊天室流媒体服务器性能的方法和***。
背景技术
随着网络通信技术的飞速发展,人们沟通方式愈发多元化、简单,网络音视频单人对聊、多人群聊的应用更是与我们日常生活密不可分。便捷背后是技术的沉淀与发展,人们网络音视频聊天,需要后台服务器支持,服务器性能直接影响用户通话质量和使用感受,聊天平台服务器高效、稳定工作是一项基本需求。
用户一对一网络音视频聊天,通过P2P对等网络实现,聊天平台提供网络打洞服务、信令服务和转发服务,无需对外提供音视频编解码服务。用户多人网络音视频群聊,现今存在三种主流的实现方案,分别为Mesh、MCU和SFU。
具体的,Mesh方案,多个终端间直接两两相连,形成一个网状结构,用户间媒体数据直抵对方,无需媒体服务器提供支持;MCU方案,全称Multipoint Conferencing Unit,多点会议单元,此方案所有用户的媒体数据均发送给媒体服务器,服务器解码、合成、编码其它用户的视频和音频后再发给指定用户;SFU方案,全称Selective Forwarding Unit,选择性转发单元,此方案所有用户的媒体数据均发送给媒体服务器,服务器转发用户数据给聊天室间内的其他用户。
其中MCU使用最为广泛。MCU方案,聊天平台对外提供音视频编解码等服务,媒体服务器根据用户数创建对应数量的音视频编解码器、视频缩放器、视频合成器、音频重采样和音频混音器等,在用户聊天过程中,媒体服务器持续解码每位用户的音视频数据,画面合成解码后的视频数据,混音解码后的音频数据,编码音视频原始数据,待用户群聊结束,媒体服务器释放相关服务资源,聊天平台的媒体服务器在其能力范围内,可支持多个聊天室同时音视频聊天,每个聊天室的音视频处理逻辑基本相同。提升用户群聊质量,保证媒体服务器高效稳健运行一直是业界永恒追求目标。然而,现有技术中,MCU方案中,MCU架构频繁创建销毁音视频编解码器、合成器和混音器等,不仅影响媒体服务器性能,还会造成音视频延时大的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种提升聊天室平台性能的方法和***。
一种提升聊天室平台性能的方法,其特征在于,包括:
S100.根据媒体服务器上的GPU和CPU硬件资源,确定媒体服务器总的处理能力;
S200.根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建含有对应的、不同数量媒体资源的媒体资源池,分别为创建的同一类型媒体资源编号,并将创建的所有媒体资源状态标记为空闲;
S300.当用户进入聊天室时,媒体服务器查询媒体资源池,根据用户传入和接收的音视频格式,查询媒体资源池中的媒体资源是否空闲,若媒体资源池中的媒体资源为空闲状态,从媒体资源池中获取所需资源,并将获取的资源对应状态标记为忙碌;
S400.当用户离开聊天室时,媒体服务器回收用户占用的媒体资源,并归还媒体资源池,并重新将媒体资源池状态置标记为空闲。
进一步地,S100中,GPU优先用于处理视频媒体资源,CPU优先处理音频媒体资源。
进一步地,S200中,媒体资源池中的媒体资源至少包括:解码器、编码器、合成器和混音器。
进一步地,S300具体方法为,媒体服务器根据用户传入的视频分辨率和视频格式从媒体资源池选取对应的视频解码器,根据服务端与用户协商的用户接收视频分辨率和视频格式从媒体资源池选取视频合成器和视频编码器,并将被选取的媒体资源状态置为忙碌;媒体服务器还用于根据用户传入的音频格式从媒体资源池选取对应的音频解码器,根据服务端与用户协商的用户接收音频格式从媒体资源池选取音频混音器和编码器,并将被选取的媒体资源状态置标记为忙碌;
进一步地,S300还包括:当媒体服务器从媒体资源池中获取媒体资源时,若媒体资源池中某类资源全部处于忙碌状态,但当前用户未分配到当前媒体资源,从预留的媒体服务器处理能力内新建媒体资源,满足用户需求,并将新建的媒体资源标记为临时媒体资源。
进一步地,S300中,用户和信令服务器间采用SDP协议沟通用户传入的音视频格式,同时信令服务器也会告知用户接收的音视频格式。
进一步地,S400还包括:当用户离开聊天室时,若用户占用的媒体资源为临时媒体资源,将临时媒体资源直接销毁。
进一步地,S300中,还会预先设定聊天室最大成员数,当用户进入聊天室时,信令服务器对聊天室当前人数进行判断,若聊天室当前人数为最大成员数,告知用户无法加入聊天室。
本发明还公开了一种提升聊天室平台性能的***,包括:信令服务器和媒体服务器;其中:
信令服务器,用于和加入聊天室用户进行信息交互,当用户加入聊天室时,通过判断当前聊天室人数是否已满足聊天室预设最大聊天人数,告知用户能否进入聊天室;还用于当用户加入聊天室后,接收用户传入的音视频格式,同时信令服务器也会告知用户接收的音视频格式;
媒体服务器,用于根据自身的GPU和CPU硬件资源,预先确定媒体服务器总的处理能力;用于根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建对应的、不同数量的媒体资源池;还用于根据用户进入聊天室后,用户传入的音视频格式和用户接收的音视频格式,从媒体资源池中获取所需资源。
进一步地,媒体服务器根据用户进入聊天室后,用户传入的音视频格式和用户接收的音视频格式,从媒体资源池中获取所需资源具体方法为:媒体服务器根据用户传入的视频分辨率和视频格式从媒体资源池选取对应的视频解码器,根据服务端与用户协商的用户接收视频分辨率和视频格式从媒体资源池选取视频合成器和视频编码器,并将被选取的媒体资源状态置为忙碌;媒体服务器还用于根据用户传入的音频格式从媒体资源池选取对应的音频解码器,根据服务端与用户协商的用户接收音频格式从媒体资源池选取音频混音器和编码器,并将被选取的媒体资源状态置标记为忙碌。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明公开的一种提升聊天室平台性能的方法和***,通过媒体服务器自身的硬件资源,预先确定媒体服务器总的处理能力;并根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建对应的、不同数量的媒体资源池,当用户进入聊天室后,通过信令服务器与用户进行信息交互,获取用户传入和接收的音视频格式,根据用户传入和接收的音视频格式,从媒体资源池中获取所需资源。本发明实现逻辑简单,易实现。并且实用性强,效果好,避免频繁创建销毁资源池,稳定可靠。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中,一种提升聊天室平台性能的方法的流程图;
图2为本发明实施例1中,用户进入聊天室流程图;
图3为本发明实施例1中,用户退出聊天室流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例1
本实施例公开了一种提升聊天室平台性能的方法,如图1,包括:
S100.根据媒体服务器上的GPU和CPU硬件资源,确定媒体服务器总的处理能力。
具体的,单个确定型号的CPU和GPU最大处理能力通过查用户手册是可知的,用户手册会详细说明某一分辨率下,单个CPU、GPU同时支持的视频最大解码数、视频合成数和编码数,音频处理能力用户手册也有详细记载。可以通过CPU和GPU个数及单个CPU、GPU计算能力,统计出媒体服务器总的处理能力。假定每块GPU的处理能力是编解码2路帧率60,分辨率为1920x1080的视频,每块CPU的处理能力是编解码3路帧率60,分辨率为1920x1080的视频,能得出GPU的视频编解码能力是2x 60x 1920x 1080x GPU总数,CPU视频编解码能力是3x60x 1920x 1080x CPU总数。两者处理能力之和即为媒体服务器总的处理能力。
S200.根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建含有对应的、不同数量媒体资源的媒体资源池,分别为创建的同一类型媒体资源编号,并将创建的所有媒体资源状态标记为空闲。
优选的,GPU优先用于处理视频媒体资源,CPU优先处理音频媒体资源。视频处理消耗的服务器资源远大于音频,GPU进行视频处理效果更好,在创建媒体资源池时,视频解码器、视频合成器和视频编码器优先从GPU分配计算资源,保证GPU资源完全利用,CPU计算资源用于创建音频解码器、音频混音器、音频编码器及视频解码器、视频合成器和视频编码器,根据服务器部署情况,在分配CPU计算资源前,设定一个百分比阈值,阈值内的CPU资源用于媒体资源池创建,剩余CPU资源用于服务器运行和资源备用。阈值设定需结合部署环境上服务进程的数量,如信令服务器、Web服务器可能会与媒体服务器一同部署,媒体服务器音视频数据处理占用CPU计算能力最多,信令服务器、Web服务器占用CPU计算能力少,通过实验得知,阈值优选为为CPU总计算能力的60%。
在创建媒体资源池时,单个视频解码器、合成器、编码器消耗的能力是分辨率x帧率,如30帧率,720P分辨率的视频需消耗的计算能力是1280x 720x 30,每成功创建一个视频媒体资源就从S100确定的视频总能力减去此媒体资源消耗的能力。音频处理过程同理,查手册获取对应型号CPU处理音频能力,单个音频媒体资源消耗的能力为采样率x单个样本占用字节数x声道数,如44.1K采样率,采样精度2Byte,立体声道的AAC音频需消耗的计算能力是44100x 2x 2,每成功创建一个音频媒体资源就从S100确定的音频总能力减去此媒体资源消耗的能力。
S300.当用户进入聊天室时,如图2,媒体服务器查询媒体资源池,根据用户传入和接收的音视频格式,查询媒体资源池中的媒体资源是否空闲,若媒体资源池中的媒体资源为空闲状态,从媒体资源池中获取所需资源,并将获取的资源对应状态标记为忙碌。
优选的,S300具体方法为,媒体服务器根据用户传入的视频分辨率和视频格式从媒体资源池选取对应的视频解码器,根据服务端与用户协商的用户接收视频分辨率和视频格式从媒体资源池选取视频合成器和视频编码器,并将被选取的媒体资源状态置为忙碌;媒体服务器还用于根据用户传入的音频格式从媒体资源池选取对应的音频解码器,根据服务端与用户协商的用户接收音频格式从媒体资源池选取音频混音器和编码器,并将被选取的媒体资源状态置标记为忙碌。
在一些优选实施例中,S300还包括:当媒体服务器从媒体资源池中获取媒体资源时,若媒体资源池中某类资源全部处于忙碌状态,但当前用户未分配到当前媒体资源,从预留的媒体服务器处理能力内新建媒体资源,满足用户需求,并将新建的媒体资源标记为临时媒体资源。
在一些优选实施例中,S300中,还会预先设定聊天室最大成员数,当用户进入聊天室时,信令服务器对聊天室当前人数进行判断,若聊天室当前人数为最大成员数,告知用户无法加入聊天室。
具体的,为了更好理解本实施例,列举一个特定例子进行解释。当用户申请进入聊天室间时,已与信令服务器间采用SDP(Session Description Protocol)协议沟通了用户传给媒体服务器的音视频格式,如传入的视频为30帧率,720P,H264编码格式,传入的音频为44.1K采样率,单样本字节数为2,双声道,AAC编码格式,同时,信令服务器也会告知用户将收到的音视频格式,如用户收到的视频为25帧率,1080P,H264编码格式,收到的音频为48K采样率,单样本字节数为2,双声道,OPUS编码格式。
当用户进入房间后,媒体服务器根据协商的输入、输出音视频格式,从媒体资源池查找对应型号的媒体资源,如找寻720P的H264解码器,1080P的H264编码器,AAC音频解码器和OPUS音频编码器。在资源池中分别遍历720P的H264解码器、1080P的H264编码器、AAC音频解码器和OPUS音频编码器,并逐一查看媒体资源状态。
若媒体资源池中存在状态为空闲的720P的H264解码器,便可直接获得此解码器句柄,用于解码用户发送的视频数据,同时将此720P的H264解码器状态置为忙碌。同理,若资源池剩有空闲状态的1080P的H264编码器、AAC音频解码器和OPUS音频编码器,也是获取句柄,并将其状态置为忙碌。
媒体资源池中所有720P的H264解码器状态均为忙碌,从CPU创建临时解码器,获取新建解码器句柄,标记解码器源于临时创建。同理,若媒体资源池中1080P的H264编码器、AAC音频解码器或OPUS音频编码器状态均为忙碌,也从CPU临时创建。
S400.当用户离开聊天室时,媒体服务器回收用户占用的媒体资源,并归还媒体资源池,并重新将媒体资源池状态置标记为空闲。
优选的,如图3,S400还包括:当用户离开聊天室时,若用户占用的媒体资源为临时媒体资源,将临时媒体资源直接销毁。
具体的,当用户从聊天室退出,信令服务器收到用户退出消息,更新聊天室当前人数,通知媒体服务器回收媒体资源。媒体服务器收到信令服务器通知后,开始回收指定用户占用的媒体资源。媒体资源有标记表明此资源来自资源池或来自CPU临时创建。如720P的H264解码器、1080P的H264编码器、OPUS音频编码器来自资源池,AAC音频解码器来自CPU临时创建。来自资源池的资源,释放时只需将状态置为空闲。来自CPU临时创建的资源,释放时需关闭AAC音频解码器句柄,销毁此解码器,归还CPU资源。
本发明公开的一种提升聊天室平台性能的方法,通过媒体服务器自身的硬件资源,预先确定媒体服务器总的处理能力;并根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建对应的、不同数量的媒体资源池,当用户进入聊天室后,通过信令服务器与用户进行信息交互,获取用户传入和接收的音视频格式,根据用户传入和接收的音视频格式,从媒体资源池中获取所需资源。本发明实现逻辑简单,易实现。并且实用性强,效果好,避免频繁创建销毁资源池,稳定可靠。
实施例2
本实施例公开了一种提升聊天室平台性能的***,包括:信令服务器和媒体服务器;其中:
信令服务器,用于和加入聊天室用户进行信息交互,当用户加入聊天室时,通过判断当前聊天室人数是否已满足聊天室预设最大聊天人数,告知用户能否进入聊天室;还用于当用户加入聊天室后,接收用户传入的音视频格式,同时信令服务器也会告知用户接收的音视频格式,并将用户传入和接收的音视频格式发送给媒体服务器。
具体的,信令服务器设定聊天室最大成员数,最大人数限定能提升群内用户群聊质量,避免媒体服务器有限媒体资源被无效占用,从而为尽可能多的用户提供群聊服务。目前主流的应用程序,最大群聊人数设定为9人。当用户申请进入聊天室间时,已与信令服务器间采用SDP(Session Description Protocol)协议沟通了用户传给媒体服务器的音视频格式,同时,信令服务器也会告知用户将收到的音视频格式。
媒体服务器,用于根据自身的GPU和CPU硬件资源,预先确定媒体服务器总的处理能力;用于根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建对应的、不同数量的媒体资源池;还用于根据用户进入聊天室后,用户传入的音视频格式和用户接收的音视频格式,从媒体资源池中获取所需资源。
具体的,媒体服务器根据自身的GPU和CPU硬件资源,预先确定媒体服务器总的处理能力的方法已在实施例1中进行了详细描述,在此不再进行赘述。
媒体服务器根据用户传入的视频分辨率和视频格式从媒体资源池选取对应的视频解码器,根据服务端与用户协商的用户接收视频分辨率和视频格式从媒体资源池选取视频合成器和视频编码器,并将被选取的媒体资源状态置为忙碌;媒体服务器还用于根据用户传入的音频格式从媒体资源池选取对应的音频解码器,根据服务端与用户协商的用户接收音频格式从媒体资源池选取音频混音器和编码器,并将被选取的媒体资源状态置标记为忙碌。
媒体服务器还用于当媒体服务器从媒体资源池中获取媒体资源时,若媒体资源池中某类资源全部处于忙碌状态,但当前用户未分配到当前媒体资源,从预留的媒体服务器处理能力内新建媒体资源,满足用户需求,并将新建的媒体资源标记为临时媒体资源。媒体服务器对于具体不同类型的音视频处理方法已在实施例1中进行详细描述,再次不再进行赘述。
本发明公开的一种提升聊天室平台性能的***,通过媒体服务器自身的硬件资源,预先确定媒体服务器总的处理能力;并根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建对应的、不同数量的媒体资源池,当用户进入聊天室后,通过信令服务器与用户进行信息交互,获取用户传入和接收的音视频格式,根据用户传入和接收的音视频格式,从媒体资源池中获取所需资源。本发明实现逻辑简单,易实现。并且实用性强,效果好,避免频繁创建销毁资源池,稳定可靠。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个***所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (10)
1.一种提升聊天室平台性能的方法,其特征在于,包括:
S100.根据媒体服务器上的GPU和CPU硬件资源,确定媒体服务器总的音视频资源处理能力;
S200.根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建含有对应的、不同数量媒体资源的媒体资源池,分别为创建的同一类型媒体资源编号,并将创建的所有媒体资源状态标记为空闲;
S300.当用户进入聊天室时,媒体服务器查询媒体资源池,根据用户传入和接收的音视频格式,查询媒体资源池中的媒体资源是否空闲,若媒体资源池中的媒体资源为空闲状态,从媒体资源池中获取所需资源,并将获取的资源对应状态标记为忙碌;
S400.当用户离开聊天室时,媒体服务器回收用户占用的媒体资源,归还媒体资源池,并重新将媒体资源池状态标记为空闲。
2.如权利要求1的一种提升聊天室平台性能的方法,其特征在于,S100中,GPU优先用于处理视频媒体资源,CPU优先处理音频媒体资源。
3.如权利要求1的一种提升聊天室平台性能的方法,其特征在于,S200中,媒体资源池中的媒体资源至少包括:解码器、编码器、合成器和混音器。
4.如权利要求1的一种提升聊天室平台性能的方法,其特征在于,S300具体方法为:媒体服务器根据用户传入的视频分辨率和视频格式从媒体资源池选取对应的视频解码器,根据服务端与用户协商的用户接收视频分辨率和视频格式从媒体资源池选取视频合成器和视频编码器,并将被选取的媒体资源状态置为忙碌;媒体服务器还用于根据用户传入的音频格式从媒体资源池选取对应的音频解码器,根据服务端与用户协商的用户接收音频格式从媒体资源池选取音频混音器和编码器,并将被选取的媒体资源状态置标记为忙碌。
5.如权利要求1的一种提升聊天室平台性能的方法,其特征在于,S300还包括:当媒体服务器从媒体资源池中获取媒体资源时,若媒体资源池中某类资源全部处于忙碌状态,但当前用户未分配到当前媒体资源,从预留的媒体服务器处理能力内新建媒体资源,满足用户需求,并将新建的媒体资源标记为临时媒体资源。
6.如权利要求1的一种提升聊天室平台性能的方法,其特征在于,S300中,用户和信令服务器间采用SDP协议沟通用户传入的音视频格式,同时信令服务器通过SDP协议告知用户接收的音视频格式。
7.如权利要求5的一种提升聊天室平台性能的方法,其特征在于,S400还包括:当用户离开聊天室时,若用户占用的媒体资源为临时媒体资源,将临时媒体资源直接销毁。
8.如权利要求1的一种提升聊天室平台性能的方法,其特征在于,S300中,还会预先设定聊天室最大成员数,当用户进入聊天室时,信令服务器对聊天室当前人数进行判断,若聊天室当前人数为最大成员数,告知用户无法加入聊天室。
9.一种提升聊天室平台性能的***,其特征在于,包括:信令服务器和媒体服务器;其中:
信令服务器,用于和加入聊天室用户进行信息交互,当用户加入聊天室时,通过判断当前聊天室人数是否已满足聊天室预设最大聊天人数,告知用户能否进入聊天室;还用于当用户加入聊天室后,接收用户传入的音视频格式,同时信令服务器也会告知用户接收的音视频格式,并将用户传入和接收的音视频格式发送给媒体服务器;
媒体服务器,用于根据自身的GPU和CPU硬件资源,预先确定媒体服务器总的处理能力;用于根据网络聊天设备主流的视频分辨率、视频编码格式和音频编码格式,在媒体服务器处理能力的阈值范围内预先创建对应的、不同数量的媒体资源池;还用于根据用户进入聊天室后,用户传入的音视频格式和用户接收的音视频格式,从媒体资源池中获取所需资源。
10.如权利要求9的一种提升聊天室平台性能的***,其特征在于,媒体服务器根据用户进入聊天室后,用户传入的音视频格式和用户接收的音视频格式,从媒体资源池中获取所需资源具体方法为:媒体服务器根据用户传入的视频分辨率和视频格式从媒体资源池选取对应的视频解码器,根据服务端与用户协商的用户接收视频分辨率和视频格式从媒体资源池选取视频合成器和视频编码器,并将被选取的媒体资源状态置为忙碌;媒体服务器还用于根据用户传入的音频格式从媒体资源池选取对应的音频解码器,根据服务端与用户协商的用户接收音频格式从媒体资源池选取音频混音器和编码器,并将被选取的媒体资源状态置标记为忙碌。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010829589.1A CN112153411A (zh) | 2020-08-18 | 2020-08-18 | 一种提升聊天室流媒体服务器性能的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010829589.1A CN112153411A (zh) | 2020-08-18 | 2020-08-18 | 一种提升聊天室流媒体服务器性能的方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112153411A true CN112153411A (zh) | 2020-12-29 |
Family
ID=73888824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010829589.1A Pending CN112153411A (zh) | 2020-08-18 | 2020-08-18 | 一种提升聊天室流媒体服务器性能的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112153411A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227644A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 资源配置方法和装置 |
US20110249681A1 (en) * | 2010-04-09 | 2011-10-13 | Ayyar Kodandaraman S | Systems, methods, and computer readable media for loose coupling of multimedia resource function controllers and multimedia resource function processors |
CN102624743A (zh) * | 2012-04-09 | 2012-08-01 | 苏州工业园区云视信息技术有限公司 | 媒体服务器进行资源分配处理的方法 |
CN104253807A (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种媒体资源控制方法及装置 |
CN104836983A (zh) * | 2015-05-26 | 2015-08-12 | 苏州科达科技股份有限公司 | 视频会议资源管理***及资源服务器 |
CN104952096A (zh) * | 2014-03-31 | 2015-09-30 | 中国电信股份有限公司 | Cpu和gpu混合云渲染方法、装置和*** |
CN105429964A (zh) * | 2015-11-05 | 2016-03-23 | 河北远东通信***工程有限公司 | 一种媒体服务器资源控制分配方法 |
CN106161459A (zh) * | 2016-08-10 | 2016-11-23 | 广州海格通信集团股份有限公司 | 可同时支持多平台接入的媒体资源管理*** |
CN107124575A (zh) * | 2017-04-14 | 2017-09-01 | 苏州科达科技股份有限公司 | 一种媒体处理方法、装置及媒体服务器 |
WO2018019309A1 (zh) * | 2016-07-25 | 2018-02-01 | 中兴通讯股份有限公司 | 一种云会议的媒体资源管理方法及装置 |
CN110430386A (zh) * | 2019-07-26 | 2019-11-08 | 四川新东盛科技发展有限公司 | 一种基于云资源池技术的视频会议***及其工作方法 |
-
2020
- 2020-08-18 CN CN202010829589.1A patent/CN112153411A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227644A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 资源配置方法和装置 |
US20110249681A1 (en) * | 2010-04-09 | 2011-10-13 | Ayyar Kodandaraman S | Systems, methods, and computer readable media for loose coupling of multimedia resource function controllers and multimedia resource function processors |
CN102624743A (zh) * | 2012-04-09 | 2012-08-01 | 苏州工业园区云视信息技术有限公司 | 媒体服务器进行资源分配处理的方法 |
CN104253807A (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种媒体资源控制方法及装置 |
CN104952096A (zh) * | 2014-03-31 | 2015-09-30 | 中国电信股份有限公司 | Cpu和gpu混合云渲染方法、装置和*** |
CN104836983A (zh) * | 2015-05-26 | 2015-08-12 | 苏州科达科技股份有限公司 | 视频会议资源管理***及资源服务器 |
CN105429964A (zh) * | 2015-11-05 | 2016-03-23 | 河北远东通信***工程有限公司 | 一种媒体服务器资源控制分配方法 |
WO2018019309A1 (zh) * | 2016-07-25 | 2018-02-01 | 中兴通讯股份有限公司 | 一种云会议的媒体资源管理方法及装置 |
CN106161459A (zh) * | 2016-08-10 | 2016-11-23 | 广州海格通信集团股份有限公司 | 可同时支持多平台接入的媒体资源管理*** |
CN107124575A (zh) * | 2017-04-14 | 2017-09-01 | 苏州科达科技股份有限公司 | 一种媒体处理方法、装置及媒体服务器 |
CN110430386A (zh) * | 2019-07-26 | 2019-11-08 | 四川新东盛科技发展有限公司 | 一种基于云资源池技术的视频会议***及其工作方法 |
Non-Patent Citations (1)
Title |
---|
李青等: "媒体资源云化关键技术研究", 《电信科学》, no. 06, 20 June 2013 (2013-06-20) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5781441B2 (ja) | マルチビットレートストリームを使用するビデオ会議のサブスクリプション | |
US8243905B2 (en) | Multi-participant conference setup | |
US8787547B2 (en) | Selective audio combination for a conference | |
KR20110103953A (ko) | 화상 회의 레이트 매칭 | |
US20110310216A1 (en) | Combining multiple bit rate and scalable video coding | |
CN110995946A (zh) | 混音方法、装置、设备、***及可读存储介质 | |
CN107678801B (zh) | 一种插件加载的方法和装置 | |
JP2004140850A (ja) | 音声信号を配布するための方法及びシステム | |
CN102893603B (zh) | 一种视频会议的处理方法、装置和通信*** | |
CN109688365B (zh) | 视频会议的处理方法和计算机可读存储介质 | |
CN102404543B (zh) | 级联会议中级联会场的处理方法、装置及级联会议*** | |
CN112104836A (zh) | 一种音频服务器混音方法、***、存储介质及设备 | |
CN113992883B (zh) | 视频会议处理方法、处理设备、会议***以及存储介质 | |
CN107613312A (zh) | 一种直播的方法和装置 | |
CN101489091A (zh) | 一种语音信号传输处理方法及装置 | |
CN110070878A (zh) | 音频码流的解码方法及电子设备 | |
CN103220258A (zh) | 会议混音方法、终端和媒体资源服务器 | |
CN112153411A (zh) | 一种提升聊天室流媒体服务器性能的方法和*** | |
JP2007251501A (ja) | テレビ会議システム及びテレビ会議方法 | |
CN111741177B (zh) | 在线会议的混音方法、装置、设备和介质 | |
CN112019488B (zh) | 一种语音处理的方法、装置、设备和存储介质 | |
JP4425887B2 (ja) | ビデオ会議システム、ビデオ会議システムに使用される端末、端末の処理方法、そのプログラム | |
US9578283B1 (en) | Audio level based management of communication resources | |
JP5086366B2 (ja) | 会議端末装置、中継装置、および会議システム | |
CN107770567A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201229 |
|
RJ01 | Rejection of invention patent application after publication |