CN114666614B 一种媒体流发送方法、装置和设备 (华为技术有限公司)_第1页
CN114666614B 一种媒体流发送方法、装置和设备 (华为技术有限公司)_第2页
CN114666614B 一种媒体流发送方法、装置和设备 (华为技术有限公司)_第3页
CN114666614B 一种媒体流发送方法、装置和设备 (华为技术有限公司)_第4页
CN114666614B 一种媒体流发送方法、装置和设备 (华为技术有限公司)_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

201910330894.32019.04.23所述方法为进入直播间的客户端提供直播媒体户端的用于请求进入直播间的第一直播间请求则将代理服务器上缓存的第一直播媒体流发送代理服务器就能够将该直播媒体流复制并分发2所述代理服务器根据所述第一直播间请求消息确定第一客户如果所述第一客户端的角色是仆用户,则将所述代理理服务器接收到来自于所述第二客户端的用于请求进入所述直播间的第二直播间请求消媒体服务器转发来自于所述第二客户端的媒体请求消息从所述媒体服务器所述代理服务器接收来自所述第二客户端的退出直所述代理服务器在确定将所述第一客户端作为新的主用户的情况下,将所述第所述代理服务器向所述媒体服务器发送所述第一客户端的第二所述代理服务器接收所述媒体服务器根据所述第二媒体请求消息发送的第二直播媒所述代理服务器将向所述第一客户端发送的第一直播媒体流切换为所述第二直播媒确定在接收到所述第一直播间请求消息的情况下所述直播间中是否存在角色为主用所述代理服务器接收来自所述第一客户端的第一媒体请求消息,所述代理服务器向所述第一客户端发送第一媒体响应消息,所述第一媒体响所述代理服务器确定在接收到所述第一直播间请求消息的情况下所述直播间中角色如果所述直播间中角色为主用户的客户端的数量不为0且没有达到所述预设上限,则3所述代理服务器接收来自所述第二客户端的退出直所述代理服务器在确定将所述第一客户端作为新的备份主用户的情况下所述代理服务器向所述媒体服务器发送第三媒体请求消息,所述第三媒所述代理服务器接收所述媒体服务器根据所述第三媒体请求消息发送的第三直播媒所述代理服务器将所述第一直播媒体流发送给所述第一9.根据权利要求8所述的方法,其特征在于,在所述第一客户端是备份主用户的情况所述代理服务器接收来自所述第一客户端的第四所述代理服务器将所述第四媒体请求消息发送给所述所述代理服务器接收所述媒体服务器根据所述第四媒体请求消息发送的第四直播媒所述代理服务器接收来自所述第二客户端的退出直所述代理服务器在确定将所述第一客户端作为新的主要主用户的情况下所述代理服务器将向所述第一客户端发送的第一直播媒体流切换为所述第四直播媒所述代理服务器调整所述第四直播媒体流的时间戳,使得调整后的时述第一客户端发送的所述第四直播媒体流的第一帧的时间戳与向所述第一客户端发送的发送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第四直播媒体流所述代理服务器将向所述第一客户端发送的第一直播媒体流切换为所述第四直播媒所述代理服务器根据缓存的所述第一直播媒体流和所述第四直播媒体流识别分别属于所述第一直播媒体流和所述第四直播媒体流的第一I帧和第二I帧,所述第一I帧和所述所述代理服务器根据所述第一I帧和所述第二I帧确定相邻的且分别属于所述第一直4第二切换帧分别作为向所述第一客户端发送的所述第一直播媒体流的最后一帧与向所述所述代理服务器以图像组GOP为单位缓存所述第一所述代理服务器向所述第一客户端发送的所述第二直播媒体流的第一帧的时间戳与发送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第二直播媒体流所述代理服务器将向所述第一客户端发送的第一直播媒体流切换为所述第二直播媒所述代理服务器根据所述第一直播媒体流和所述第二直播媒体流识别分别属于所述所述代理服务器根据所述第一I帧和所述第二I帧确定相邻的且分别属于所述第一直第二切换帧分别作为向所述第一客户端发送的所述第一直播媒体流的最后一帧与向所述所述代理服务器在确定所述第一切换帧和所述第二切换帧之后器将来自所述第二客户端的退出直播间请求消息转发所述代理服务器向所述第一客户端发送的所述第一直播媒体流的第一帧的时间戳为接收单元,用于接收来自第一客户端的用于请求进入所述直播间的发送单元,用于在确定所述第一客户端的角色是仆用户流是代理服务器接收到来自于所述第二客户端的用于请求进入所述直播间的第二直播间5向所述媒体服务器转发来自于所述第二客户端的媒体请求消息从所述媒体服务器获取到所述接收单元,还用于将所述第一直播媒体流发送给所所述发送单元暂不向所述媒体服务器转发所述退出直所述处理单元,还用于在确定将所述第一客户端作为新的主用所述发送单元,还用于向所述媒体服务器发送所述第一客户端的第二媒体请求消息,所述第二媒体请求消息中包括所述第一客户所述接收单元,还用于接收所述媒体服务器根据所述第二媒体请求消息所述处理单元,还用于将向所述第一客户端发送的第一直播媒体流切换所述处理单元,具体用于在接收到所述第一直播间请求消息的情况所述接收单元,还用于将缓存的所述第一直播媒体流发送给所述第一所述发送单元,还用于向所述第一客户端发送第一媒体响应消息,所所述处理单元,具体用于确定在接收到所述第一直播间请求消息的所述处理单元,还用于如果所述直播间中角色为主用户的客户端的数量不为0且没有所述处理单元,还用于在确定将所述第一客户端作为新的备份主用户述第一客户端的角色从所述仆用户变更为备份主用户;所述发送单元,还用于向所述媒体服务器发送第三媒体请求消息,所述接收单元,还用于接收所述媒体服务器根据所述第三媒体请求消息6所述接收单元,还用于接收所述媒体服务器根据所述第四媒体请求消息所述处理单元,还用于在确定将所述第一客户端作为新的主要主用户述第一客户端的角色从所述备份主用户变更为主要主用户;所述处理单元,还用于将向所述第一客户端发送的第一直播媒体流切换向所述第一客户端发送的所述第四直播媒体流的第一帧的时间戳与向所述第一客户端发直播媒体流的最后一帧与向所述第一客户端发送的所述第四直播媒体流的第一帧为相邻所述处理单元,还用于将向所述第一客户端发送的第一直播媒体流切换切换帧分别作为向所述第一客户端发送的所述第一直播媒体流的最后一帧与向所述第一所述处理单元,还用于将向所述第一客户端发送的第一直播媒体流切换客户端发送的所述第二直播媒体流的第一帧的时间戳与向所述第一客户端发送的所述第7直播媒体流的最后一帧与向所述第一客户端发送的所述第二直播媒体流的第一帧为相邻所述处理单元,还用于将向所述第一客户端发送的第一直播媒体流切换分别作为向所述第一客户端发送的所述第一直播媒体流的最后一帧与向所述第一客户端所述发送单元,还用于在确定所述第一切换帧和所述第二切换所述处理单元,还用于将所述第一直播媒体流发送给所述第一客直播媒体流的第一帧的时间戳为0,并且向所述第一客户端发送的所述第一直播媒体流的8[0003]主流的互联网视频直播厂家一般采用单播传输协议来传输视频,所以对于N个用频的同时还要支持演示文档共享和文字评论等功能,在企业直播的Web页面中一边显示视[0005]在直播CDN分发音视频流的过程中,对于视频的推流和分流过程一般使用实时消则一般使用RTMP、HLS(HTTPlivestreaming)和超文本传输协议(hypertexttransfer性请求完整的数据流,而是会在服务器端将流媒体数据切割成连续的时长较短的小文件,和多个媒体服务器(mediaserver),EDC中的Web服务器负责响应客户端的直播观看请求,媒体服务器会根据预设策略将音视频的媒体流发送给下一级的区域数据中心(region体服务器缓存上级的媒体服务器分发的媒体流(直播内容)并直接为用[0007]在这个过程中,上一级RDC中的媒体服务器需要向直播间中每个请求获取媒体流9所述第一客户端作为新的主用户时,将所述第一客户端的角色从所述仆用户变更为主用为主用户的客户端的数量不为0且没有达到所述预设上限,则确定所述第一客户端的角色端发送的所述第四直播媒体流的第一帧的时间戳与向所述第一客户端发送的所述第一直第一客户端发送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第四流和所述第四直播媒体流识别分别属于所述第一直播媒体流和所述第四直播媒体流的第一I帧和所述第二I帧确定相邻的且分别属于所述第一直播媒体流和所述第四直播媒体流客户端发送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第四直播所述第一客户端发送的所述第二直播媒体流的第一帧的时间戳与向所述第一客户端发送第一客户端发送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第二述第二直播媒体流识别分别属于所述第一直播媒体流和所述第二直播媒体流的第一I帧和所述第二I帧确定相邻的且分别属于所述第一直播媒体流和所述第二直播媒体流的第一切送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第二直播媒体流的述第二客户端的退出直播间请求消息转发给所述媒述第一直播媒体流的第一帧的时间戳为0,并且向所述第一客户端发送的所述第一直播媒使得所述网络设备执行前述第一方面以及第一方面各种实现方式中的媒体确定所述第一客户端的角色是仆用户。一客户端的标识;所述收发器还用于在将所述第一直播媒体流发送给所述第一客户端之到所述第一直播间请求消息时所述直播间中角色为主用户的客户端的数量是否达到预设中角色为主用户的客户端的数量不为0且没有达到所述预设上限的情况下,确定所述第一媒体流的第一帧的时间戳与向所述第一客户端发送的所述第一直播媒体流的最后一帧的送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第四直播媒体流的换帧和所述第二切换帧分别作为向所述第一客户端发送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第四直播媒体流的送的所述第二直播媒体流的第一帧的时间戳与向所述第一客户端发送的所述第一直播媒送的所述第一直播媒体流的最后一帧与向所述第一客户端发送的所述第二直播媒体流的[0044]所述处理器还用于根据所述第一直播媒体流和所述第二直播媒体流识别分别属于所述第一直播媒体流和所述第二直播媒体流的第一I帧和第二I帧,所述第一I帧和所述第二I帧为相同视频帧;根据所述第一I帧和所述第二I帧确定相邻的且分别属于所述第一述第二切换帧分别作为向所述第一客户端发送的所述第一直播媒体流的最后一帧与向所媒体流的第一帧的时间戳为0,并且向所述第一客户端发送的所述第一直播媒体流的相邻将所述直播媒体流发送给各个客户端所占用的传输资源来说,降低了广域网链路的负载,[0069]本申请的技术方案可应用于内容分发网络(contentdeliverynetwork,CDN)系播间中角色为主用户的客户端指的是通过该代理服务器进入该直播间的客户端中被该代进入该直播间的客户端中被该代理服务器标识为仆用户的客该代理服务器进入直播间并通过该代理服务器获取该FunctionsVirtualization,NFV)的形式部署在通用客户端设备(UniversalCustomer第三客户端C3107。其中,EDC102中包括多个媒体服务器(mediaserver)和Web服务器[0078]本实施例提供了一种媒体流方法,用于解决RDC与SR之间传输直播媒体流给客户[0079]步骤101:代理服务器接收来自第一客户端的用于请求进入直播间的第一直播间第一客户端的角色可以是主用户(masterus具体可以通过接收该第一直播间请求消息时该直播间中的角色为主用户的客户端的数量[0082]所述预设上限指的是通过所述代理服务器进入所述直播间的客户端中被确定为述预设上限大于1时,即主用户客户端的数量大于等于2,具体可以包括一个主要主用户(main-masteruser)和多个备份主用户(secondary-masteruser),在这种场景可称为多[0087]其中所述第一直播媒体流是媒体服务器通过代理服务器发送给主用户角色的客收第二客户端发送的媒体请求消息后向该媒体服务器转发该媒体请求消息以获取该第一I帧(frame)又称为内部画面(intrapicture),一般指利用动态图像专家组(moving理服务器将向该直播间中的客户端(包括所述第一客户端)发送的第一直播媒体流切换为可以通过直播间用户关系表来确定,所述直播间用户关系表中记录每一个客户端的信息,[0097]另外,代理服务器在向直播间中的客户端(如第一客户端)发送直播媒体流(如第[0098]如果该媒体流为该客户端进入直播间后接收的第一路直播媒体流,如在步骤103根据该公式调整媒体流的时间戳使得调整后的时间戳满足以为代理服务器向该客户端发送的该直播媒体流的[0103]1、代理服务器向该客户端发送的前一主用户的媒体流的第一帧的时间戳与向该[0104]2、代理服务器向该客户端发送的当前主用户的媒体流的相邻帧的时间戳是连续客户端C2的且本地缓存的最新的第一直播媒体流发送给客户端C1,此时距离60s最近的直[0108]假设在第120s时,代理服务器本地缓存的3个GOP的媒体内容分别是:第105s-代理服务器发送给新的主用户客户端C1的直播媒体流在帧的时间理服务器在媒体流切换后向该客户端发送的媒体流(即当前主用户的媒体流)的第一帧修改前的时间戳,t1表示代理服务器在媒体流切换前向该客户端发送的媒体流(即前一主用二直播媒体流识别分别属于所述第一直播媒体流和所述第二直播媒体流的第一I帧和第二一切换帧和所述第二切换帧分别作为向第一客户端发送的第一直播媒体流的最后一帧与第二切换帧之后将来自第二客户端的退出直播间请求消息转发第二直播媒体流的第一帧与原来发送的第一直播媒体流的最后一求消息发送的第三直播媒体流,并且以GOP为单位在代理服务器本地缓存所述第三直播媒服务器通过第一客户端发送的第四媒体请求消息,从媒体服务器中获取第四直播媒体流,客户端作为新的主要主用户时,将第一客户端的角色从所述备份主用户变更为主要主用一客户端发送的所述第四直播媒体流的第一帧的时间戳与向第一客户端发送的所述第一第一直播媒体流和所述第四直播媒体流识别分别属于第一直播媒体流和第四直播媒体流[0120]代理服务器根据所述第一I帧和所述第二I帧确定相邻的且分别属于第一直播媒帧分别作为向第一客户端发送的所述第一直播媒体流的最后一帧与向第一客户端发送的主要主用户的客户端请求的直播媒体流,并将该直播媒体流下发给直播间中的所有用户,媒体服务器不需要为每个通过该代理服务器加入直播间的用户向该代理服务器发送直播[0126]本实施例提供了一种视频直播媒体流发送的方法,该方法可应用于图2所示视频[0130]S2:EDC中的媒体服务器接收第一直播媒体流,并将该第一媒体流发送给下一级述响应消息中包括目标媒体服务器的相关信息,例如目标媒体服务器的统一资源定位符中,所述响应消息中携带所述目标媒体服务器的相关信息,例如目标媒体服务器的URL信口号、直播间名称等信息。其中所述客户端C1的IP地址可以是数据库中缓存的主键媒体服务器将所述第一直播间响应消息通过代理服务器转服务器为目标媒体服务器。因为所述第一媒体请求消息是来自主用户的客户端C1请求的,地获取来自上一级EDC中的媒体服务器发送的第一直播媒体流,然后将该第一直播媒体流体服务器将所述第二直播间响应消息通过代理服务器转发给客户向媒体服务器请求获取直播媒体流。所述第二媒体请求消息中携带的客户端C2的第二标流是以GOP形式缓存并下发的。进一步地,以GOP形式缓存的媒体流片段参见上述S12的描客户端C1接收到媒体流的视频帧的时间来调客户端C2接收到媒体流的视频帧的时间来调向代理服务器发送直播媒体流,即媒体服务器只需要发送一份直播媒体流给代理服务器,将所述直播媒体流发送给各个客户端所占用的传输资源来说,降低了广域网链路的负载,[0176]S30:代理服务器向RDC中的媒体服务器发送用于获取媒体流的第三媒体请求消帧与本地缓存的第一直播媒体流的I帧进行比较,如果通过上述比较过程找到分别属于第一直播媒体流和第二直播媒体流且媒体内容相同的I帧(后续分别称为I帧a和I帧b),则确确定切换点,即确定向各客户端发送的第一直播媒体流的最后一帧(后续称为切换帧x)和向各客户端发送的第二直播媒体流的第一帧(后续称为切换帧y),切换帧x与切换帧y为相一帧的y和第一直播媒体流的最后一帧x的时间戳连续,对应的时间间隔为帧率参数f的倒术场景,其中所述多个主用户是指直播间中设置的主用户角色的客户端的数量(即预设上获取第三直播间请求消息时,当前直播间中主用户角色的数量已经达到预设上限(所述预第一直播媒体流给角色是备份主用户的客户端C2和仆端的用户角色做标识,使得代理服务器仅从媒体服务器中获取角色是主用户的直播媒体[0242]S51:代理服务器接收媒体服务器根据所述第三媒体请求消息反馈的第三媒体响三直播媒体流和第二直播媒体流,具体地对齐直播媒体流的过程与前述实施例一中的S34直播间中所有角色不是Exiting用户的务器接收到主要主用户的客户端C1发送的退出请求消息后,延缓转发该用户退出请求消[0259]本申请实施例提供的视频直播单边技术,代理服务器通低出口带宽成本和广域链路负载,另外本方法不需要媒体服务器配置单独的鉴权给客户[0263]具体地,接收单元901用于接收来自第一客户端的用于请求进入直播间的第一直及确定所述第一客户端的角色;发送单元903用于在确定所述第一客户端的角色是仆用户发所述第一媒体请求消息给所述媒体服务器;发送单元903还用于向第一客户端发送第一第一客户端的角色标识;接收单元901还用于将所述第一直播媒体流发送给所述第一客户述第一客户端作为新的主用户时,将所述第一客户端的角色从所述仆用户变更为主用户;发送单元903还用于向所述媒体服务器发送第二媒体请求消息,所述第二媒体请求消息中包括所述第一客户端的角色标识;接收单元901还用于接收所述媒体服务器根据所述第二媒体请求消息发送的第二直播媒体流;发送单元903还用于将向所述第一客户端发送的第述直播间中角色为主用户的客户端的数量不为0且没有达到所述预设上限,则确定所述第一客户端的角色是备份主用户。情况下,接收单元901还用于接收来自所述第二客户端的退出直播间请求消息;处理单元902还用于在确定将所述第一客户端作为新的备份主用户时,将所述第一客户端的角色从所述仆用户变更为备份主用户;发送单元903还用于向所述媒体服务器发送第三媒体请求媒体服务器根据所述第三媒体请求消息发送的第三媒体服务器根据所述第四媒体请求消息发送的第元902还用于在确定将所述第一客户端作为新的主要主用户时,将所述第一客户端的角色从所述备份主用户变更为主要主用户;发送单元903还用于将向所述第一客户端发送的第播媒体流的第一帧的时间戳与向所述第一客户端发送的所述第一直播媒体流的最后一帧[0275

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论