本发明专利技术涉及流媒体领域,特别涉及一种数据流传输方法、计算设备及存储介质,方法包括:预先构建应用层驱动和用户态协议栈;通过管理进程根据创建多个媒体流处理进程;通过应用层驱动获取客户端发送的消息,并判断消息的消息类型和目标地址;若消息类型为媒体流数据,且目标地址为本地地址,则通过用户协议栈确定处理该媒体流数据的媒体流处理进程;通过媒体流处理进程对媒体流数据进行处理。本发明专利技术通过构建管理进程以及流媒体处理进程,通过对消息进行解析确定消息类型和目标地址,实现高效的对流媒体数据进行分发处理,提高了流媒体数据传输效率。效率。效率。
【技术实现步骤摘要】
一种数据流传输方法、计算设备及存储介质
[0001]本专利技术涉及流媒体领域,特别涉及一种数据流传输方法、计算设备及存储介质。
技术介绍
[0002]现有技术中,WebRTC技术已经为P2P网络中各种应用,如web浏览器间的音视频通信提供了完整的解决方案,并制定了相关标准。在企业应用或视频会议场景中,考虑到管理和性能需求,会使用MCU结构的WebRTC部署:将WebRTC媒体服务器作为中心服务,代理完成相应的sdp协商、ICE穿透、数据接收、编解码、混合、分发、录制等功能,如kurento、Jitsi、Janus、mediasoup服务等。
[0003]对于视频会议,媒体服务器需要处理各路音视频的解码、混合、编码、分发等,要求系统的较高性能。对于硬件实现的媒体服务器价格昂贵,在功能支持方面不如软件灵活。
[0004]为此,需要一种新的数据流传输方法。
技术实现思路
[0005]为此,本专利技术提供一种数据流传输方法,以力图解决或者至少缓解上面存在的问题。
[0006]根据本专利技术的一个方面,提供一种数据流传输方法,适于在媒体服务器中执行,媒体服务器与多个客户端通信连接,媒体服务器中运行有管理进程,方法包括:预先构建应用层驱动和用户态协议栈;通过所述管理进程根据创建多个媒体流处理进程;通过应用层驱动获取客户端发送的消息,并判断所述消息的消息类型和目标地址;若所述消息类型为媒体流数据,且目标地址为本地地址,则通过所述用户协议栈确定处理该媒体流数据的媒体流处理进程;通过所述媒体流处理进程对所述媒体流数据进行处理。
[0007]可选地,在根据本专利技术的方法中,还包括:创建多个媒体流处理进程,对每个媒体流处理进程设置一或多个接口接收队列,以便同一客户端每次发送的媒体流数据均传输到对应的接口接收队列,并由所设置的相应媒体流处理进程进行处理。
[0008]可选地,在根据本专利技术的方法中,还包括:若所述消息为信令消息,且目标地址为本地地址,通过所述管理进程处理所述信令消息,包括:确定处理该客户端的数据流信息对应的媒体流处理进程。
[0009]可选地,在根据本专利技术的方法中,通过所述用户协议栈确定处理该媒体流数据的媒体流处理进程包括:根据所述用户协议栈对所述媒体流数据进行路由处理得到客户端信息;根据所述客户端信息确定处理该媒体流数据的媒体流处理进程。
[0010]可选地,在根据本专利技术的方法中,本地虚接口适于由所述应用层驱动根据物理接口进行创建。
[0011]可选地,在根据本专利技术的方法中,通过所述媒体流处理进程对所述媒体流数据进行处理包括:通过所述媒体流处理进程进行媒体流数据的解码;将解码后的媒体流数据进行编辑。
[0012]可选地,在根据本专利技术的方法中,还包括:若编辑后的媒体流数据需要进行发送,则通过用户态协议栈确定编辑后的媒体流数据的转发信息;根据转发信息调用应用层驱动发送到目标客户端。
[0013]根据本专利技术的另一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中,一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本专利技术的数据流传输方法的指令。
[0014]根据本专利技术的再一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本专利技术的数据流传输方法。
[0015]本专利技术中的数据流传输方法,适于在计算设备中执行,计算设备与服务器连接,方法包括:预先构建应用层驱动和用户态协议栈;通过管理进程根据创建多个媒体流处理进程;通过应用层驱动获取客户端发送的消息,并判断消息的消息类型和目标地址;若消息类型为媒体流数据,且目标地址为本地地址,则通过用户协议栈确定处理该媒体流数据的媒体流处理进程;通过媒体流处理进程对媒体流数据进行处理。本专利技术通过构建管理进程以及流媒体处理进程,通过对消息进行解析确定消息类型和目标地址,实现高效的对流媒体数据进行分发处理,提高了流媒体数据传输效率。
附图说明
[0016]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本专利技术公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0017]图1示出了根据本专利技术一个示范性实施例的数据流传输方法100的示意图;
[0018]图2示出了根据本专利技术一个示范性实施例的计算设备200的结构框图。
[0019]图3示出了根据本专利技术一个示范性实施例的多媒体网络服务结构的示意图;
[0020]图4示出了根据本专利技术一个示范性实施例的多媒体网络服务启动流程的示意图;
[0021]图5示出了根据本专利技术一个示范性实施例的媒体流处理示意图。
具体实施方式
[0022]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
[0023]图1示出了根据本专利技术一个示范性实施例的数据流传输方法100的示意图。本专利技术的数据流传输方法100适于在媒体服务器中执行。媒体服务器与一个或多个客户端通信连接。本专利技术中的媒体服务器和客户端具体可实现为一种计算设备。
[0024]图2示出了根据本专利技术一个示范性实施例的计算设备的结构框图。在基本配置中,计算设备200包括至少一个处理单元220和系统存储器210。根据一个方面,取决于计算设备
的配置和类型,系统存储器210包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。根据一个方面,系统存储器210包括操作系统211。
[0025]根据一个方面,操作系统211,例如,适合于控制计算设备200的操作。此外,示例结合图形库、其他操作系统、或任何其他应用程序而被实践,并且不限于任何特定的应用或系统。在图2中通过在虚线215内的那些组件示出了该基本配置。根据一个方面,计算设备200具有额外的特征或功能。例如,根据一个方面,计算设备200包括额外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或者磁带。
[0026]如在上文中所陈述的,根据一个方面,在系统存储器210中存储程序模块212。根据一个方面,程序模块212可包括一个或多个应用程序,本专利技术不限制应用程序的类型,例如应用还包括:电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片展示应用程序、绘画或计算机辅助应用程序、网络浏览器应用程序等。
...
【技术保护点】
【技术特征摘要】
1.一种数据流传输方法,适于在媒体服务器中执行,所述媒体服务器与多个客户端通信连接,所述媒体服务器中运行有管理进程,所述方法包括:预先构建应用层驱动和用户态协议栈;通过所述管理进程根据创建多个媒体流处理进程;通过应用层驱动获取客户端发送的消息,并判断所述消息的消息类型和目标地址;若所述消息类型为媒体流数据,且目标地址为本地地址,则通过所述用户协议栈确定处理该媒体流数据的媒体流处理进程;通过所述媒体流处理进程对所述媒体流数据进行处理。2.如权利要求1所述的方法,其中,所述方法还包括:创建多个媒体流处理进程,对每个媒体流处理进程设置一或多个接口接收队列,以便同一客户端每次发送的媒体流数据均传输到对应的接口接收队列,并由所设置的相应媒体流处理进程进行处理。3.如权利要求2所述的方法,其中,所述方法还包括:若所述消息为信令消息,且目标地址为本地地址,通过所述管理进程处理所述信令消息,包括:确定处理该客户端的数据流信息对应的媒体流处理进程。4.如权利要求2或3所述的方法,其中,所述通过所述用户协议栈确定处理该媒体流数据的媒体流处理进程包括:根据所述用户协议栈对所述媒体流数据进行路由处理得到客户端信息;根据所述客户端信息确定处理该媒体流数据的媒体流处理进程。5.如权利要求1所述的方法,其中,所述方法还包括:若所述消...
【专利技术属性】
技术研发人员:苏军辉,
申请(专利权)人:北京皮尔布莱尼软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。