CN116132717A - 入向码流码率获取方法、收流处理方法、电子设备、介质 - Google Patents

入向码流码率获取方法、收流处理方法、电子设备、介质 Download PDF

Info

Publication number
CN116132717A
CN116132717A CN202111337644.6A CN202111337644A CN116132717A CN 116132717 A CN116132717 A CN 116132717A CN 202111337644 A CN202111337644 A CN 202111337644A CN 116132717 A CN116132717 A CN 116132717A
Authority
CN
China
Prior art keywords
code rate
current
stream
incoming
time interval
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
Application number
CN202111337644.6A
Other languages
English (en)
Inventor
陈奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN202111337644.6A priority Critical patent/CN116132717A/zh
Priority to PCT/CN2022/130363 priority patent/WO2023083143A1/zh
Publication of CN116132717A publication Critical patent/CN116132717A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • H04N21/234381Processing 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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/64Addressing
    • H04N21/6408Unicasting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种入向码流码率获取方法、收流处理方法、电子设备、计算机可读存储介质,入向码流码率获取方法包括:计算本次时间间隔对应的平均码率;根据上一次入向码流码率和所述本次时间间隔对应的平均码率计算本次码率波动的权重系数;根据所述本次码率波动的权重系数确定本次入向码流码率和下一次时间间隔,延迟预设时间间隔后继续执行计算下一次时间间隔对应的平均码率的步骤。

Description

入向码流码率获取方法、收流处理方法、电子设备、介质
技术领域
本申请实施例涉及互联网技术领域,特别涉及入向码流码率获取方法、收流处理方法、电子设备、计算机可读存储介质。
背景技术
随着网络协议电视(IPTV,Internet Protocol Television)的快速发展,特别是用户数的不断增长,为了给用户带来更好的体验,在流媒体服务器和终端间引入丢包恢复和避免缓存上下溢的机制。例如,针对组播丢包恢复的机制是前向纠错(FEC,ForwardError Correction),针对单播丢包恢复的机制是自动要求重传(ARQ,Automatic RepeatreQuest),针对单播避免缓存上下溢的机制是流量控制。但是这些机制并没有考虑到直播业务场景下流媒体服务器因为如下码流码率的变化而导致的收流处理的包出错的问题。
针对直播业务场景,目前需要由流媒体服务器的运维人员将入向码流码率输入到流媒体服务器中,然后由流媒体服务器根据入向码流码率构建收流信息,继而流媒体服务器根据收流信息对入向码流中的包进行收流处理。这种方式中流媒体服务器用来构建收流信息的入向码流码率一般不会发生变化,但是由于运维人员有可能输入错误的码率,也有可能实际的入向码流码率发生变化,从而导致运维人员输入的入向码流码率与实际的入向码流码率的匹配程度差距很大,导致直播业务质量下降。
发明内容
本申请实施例提供一种入向码流码率获取方法、收流处理方法、电子设备、计算机可读存储介质。
第一方面,本申请实施例提供一种入向码流码率获取方法,包括:计算本次时间间隔对应的平均码率;根据上一次入向码流码率和所述本次时间间隔对应的平均码率计算本次码率波动的权重系数;根据所述本次码率波动的权重系数确定本次入向码流码率和下一次时间间隔,延迟预设时间间隔后继续执行计算下一次时间间隔对应的平均码率的步骤。
第二方面,本申请实施例提供一种收流处理方法,包括:根据本次入向码流码率计算本次任务对应的最大接收包数量;其中,所述本次入向码流码率为采用上述任意一种入向码流码率获取方法确定的本次入向码流码率;根据所述本次任务对应的最大接收包数量将入向码流中属于所述本次任务的包进行收流处理,发送收流处理后的包。
第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器;存储器,存储器上存储有至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,实现上述任意一种入向码流码率获取方法,或实现上述任意一种收流处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种入向码流码率获取方法,或实现上述任意一种收流处理方法。
本申请实施例提供的入向码流码率获取方法,对入向码流码率进行了自适应评估,为后续进行收流处理奠定了基础。
本申请实施例提供的收流处理方法,基于自适应评估的入向码流码率进行收流处理,而不需要运维人员输入入向码流码率,继而根据运维人员输入的入向码流码率构建收流进行进行收流处理,从而自适应评估的入向码流码率与实际的入向码流码率的匹配程度差距较小,从而提升了直播业务质量。
附图说明
图1为本申请实施例提供的直播业务场景1对应的架构示意图;
图2为本申请实施例提供的直播业务场景2对应的架构示意图;
图3为本申请实施例提供的直播业务场景3对应的架构示意图;
图4为本申请一个实施例提供的入向码流码率获取方法的流程图;
图5为本申请另一个实施例提供的收流处理方法的流程图;
图6为本申请另一个实施例提供的流媒体服务器的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图对本申请提供的入向码流码率获取方法、收流处理方法、电子设备、计算机可读存储介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本申请透彻和完整,并将使本领域技术人员充分理解本申请的范围。
在不冲突的情况下,本申请各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括至少一个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本申请。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加至少一个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本申请的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
在介绍本申请实施例的入向码流码率获取方法和收流处理方法之前,首先介绍本申请实施例的入向码流码率获取方法和收流处理方法所适用的几种直播业务场景。
图1为本申请实施例提供的直播业务场景1对应的架构示意图。如图1所示的直播业务场景中,入向码流为入向组播码流,出向码流为出向组播码流,两个或两个以上终端一将入向组播码流发送给组播交换机,组播交换机将入向组播码流发送给流媒体服务器,流媒体服务器接收入向组播码流,对入向组播码流进行收流处理得到出向组播码流,将出向组播码流发送给组播交换机,组播交换机将出向组播码流发送给两个或两个以上终端二。
图2为本申请实施例提供的直播业务场景2对应的架构示意图。如图2所示的直播业务场景中,入向码流为入向单播码流,出向码流为出向组播码流,终端三将入向单播码流发送给流媒体服务器,流媒体服务器接收入向单播码流,对入向单播码流进行收流处理得到出向组播码流,将出向组播码流发送给组播交换机,组播交换机将出向组播码流发送给两个或两个以上终端四。
图3为本申请实施例提供的直播业务场景3对应的架构示意图。如图3所示的直播业务场景中,入向码流为入向单播码流,出向码流为出向单播码流,终端五将入向单播码流发送给流媒体服务器,流媒体服务器接收入向单播码流,对入向单播码流进行收流处理得到出向单播码流,将出向单播码流发送给终端六。
根据以上描述的三种直播业务场景,本申请实施例中的入向码流可以是入向组播码流,也可以是入向单播码流;出向码流可以是出向组播码流,也可以是出向单播码流。
图4为本申请一个实施例提供的入向码流码率获取方法的流程图。
第一方面,参照图4,本申请一个实施例提供一种入向码流码率获取方法,包括:
步骤400、计算本次时间间隔t对应的平均码率。
在一些示例性实施例中,根据本次时间间隔t内接收的所有包的总大小recvlen和本次时间间隔t计算本次时间间隔t对应的平均码率cur_b。例如,本次时间间隔t对应的平均码率cur_b为本次时间间隔t内接收的所有包的总大小recvlen和本次时间间隔t的比值,即
Figure BDA0003351459210000031
第一次和第二次计算时,本次时间间隔t可以初始化为t0
步骤401、根据上一次入向码流码率和本次时间间隔对应的平均码率计算本次码率波动的权重系数。
第一次计算时,上一次入向码流码率可以初始化为第1次时间间隔对应的平均码率。
在一些示例性实施例中,根据上一次入向码流码率和本次时间间隔对应的平均码率计算本次码率波动的权重系数包括:按照公式
Figure BDA0003351459210000032
计算本次码率波动的权重系数;其中,flucoeff为本次码率波动的权重系数,cur_b为本次时间间隔对应的平均码率,last_b为上一次入向码流码率。
步骤402、根据本次码率波动的权重系数确定本次入向码流码率和下一次时间间隔,延迟预设时间间隔后继续执行计算下一次时间间隔对应的平均码率的步骤。
在一些示例性实施例中,根据本次码率波动的权重系数确定本次入向码流码率和下一次时间间隔包括以下至少之一:在本次码率波动的权重系数小于预设阈值的情况下,说明当前入向码流码率的波动不大,确定本次入向码流码率与上一次入向码流码率相同,确定下一次时间间隔与本次时间间隔相同;在本次码率波动的权重系数大于或等于预设阈值的情况下,说明当前入向码流码率的波动较大,确定本次入向码流码率为本次时间间隔对应的平均码率,确定下一次时间间隔小于本次时间间隔。
在本次码率波动的权重系数大于或等于预设阈值的情况下,本申请实施例对下一次时间间隔的具体取值不作限定,只要下一次时间间隔小于本次时间间隔即可,这样可以保证在入向码流码率波动剧烈时减少检测周期,从而达到快速收敛入向码流码率的目的。例如,确定下一次时间间隔小于本次时间间隔包括:根据本次时间间隔和本次码率波动的权重系数确定下一次时间间隔。更具体的,可以按照公式
Figure BDA0003351459210000041
确定下一次时间间隔;其中,tnext为下一次时间间隔,tcur为本次时间间隔,flucoeff为本次码率波动的权重系数。
在一些示例性实施例中,预设阈值可以根据实际情况设置,例如设置预设阈值为0.1。
在一些示例性实施例中,预设时间可以是0,即不作延迟直接计算下一次时间间隔对应的平均码率,也可以是本次时间间隔,也可以是下一次时间间隔,每一次延迟的预设时间可以相同,也可以不相同。
本申请实施例提供的入向码流码率获取方法,对入向码流码率进行了自适应评估,为后续进行收流处理奠定了基础。
图5为本申请另一个实施例提供的收流处理方法的流程图。
第二方面,参照图5,本申请另一个实施例提供一种收流处理方法,包括:
步骤500、根据本次入向码流码率计算本次任务对应的最大接收包数量;其中,本次入向码流码率为采用上述任意一种入向码流码率获取方法确定的本次入向码流码率。
在一些示例性实施例中,可以不根据本次入向码流码率确定入向码流码率是否有波动,直接按照公式
Figure BDA0003351459210000042
计算本次任务对应的最大接收包数量;其中,recvpktcnt为本次任务对应的最大接收包数量,recviter为固定收流间隔,bcur为本次入向码流码率,pktlen为每个包的大小,recvcoeff为固定收流系数。
在一些示例性实施例中,为了减少计算资源,也可以先根据本次入向码流码率确定入向码流码率是否有波动,再确定是否需要重新计算本次任务对应的最大接收包数量。也就是说,根据本次入向码流码率计算本次任务对应的最大接收包数量包括以下至少之一:在根据本次入向码流码率确定入向码流码率没有波动的情况下,确定本次任务对应的最大接收包数量与上一次任务对应的最大接收包数量相同;在根据本次入向码流码率确定入向码流码率有波动的情况下,按照公式
Figure BDA0003351459210000043
计算本次任务对应的最大接收包数量;其中,recvpktcnt为本次任务对应的最大接收包数量,recviter为固定收流间隔(即相邻两次任务的开始时间之间的时间间隔),bcur为本次入向码流码率,pktlen为每个包的大小,recvcoeff为固定收流系数。
在一些示例性实施例中,根据本次入向码流码率确定入向码流码率没有波动包括:本次入向码流码率与上一次入向码流码率相同。
在一些示例性实施例中,根据本次入向码流码率确定入向码流码率有波动包括:本次入向码流码率与上一次入向码流码率不同。
步骤501、根据本次任务对应的最大接收包数量将入向码流中属于本次任务的包进行收流处理。
在一些示例性实施例中,根据本次任务对应的最大接收包数量将入向码流中属于本次任务的包进行收流处理包括:依次从内核协议栈中读取接收的包进行收流处理,直到内核协议栈中没有可读取的包,或从内核协议栈中读取的包数量大于或等于本次任务对应的最大接收包数量。
在本申请实施例中,接收到入向码流中的包后先存入内核协议栈中,再从内核协议栈中依次读取包进行收流处理。
本申请实施例提供的收流处理方法,基于自适应评估的入向码流码率进行收流处理,而不需要运维人员输入入向码流码率,继而根据运维人员输入的入向码流码率构建收流进行进行收流处理,从而自适应评估的入向码流码率与实际的入向码流码率的匹配程度差距较小,从而提升了直播业务质量。
为了使得本申请实施例的入向码流码率获取方法和收流处理方法更直观的呈现,下面通过具体示例详细说明具体的实现过程,所列举的示例不用于限定本申请实施例的保护范围。
示例
初始化第1次时间间隔t1为t0
按照公式
Figure BDA0003351459210000051
计算第1次时间间隔对应的平均码率b1;其中,b1为第1次时间间隔对应的平均码率,recvlen1为第1次时间间隔内接收的所有包的总大小,t1为第1次时间间隔。
按照公式
Figure BDA0003351459210000052
计算第1次码率波动的权重系数;其中,flucoeff1为第1次码率波动的权重系数,b1为第1次时间间隔对应的平均码率,b0为第0次入向码流码率(初始化为b1)。
由于第1次码率波动的权重系数flucoeff1小于0.1,说明当前入向码流码率的波动不大,确定第1次入向码流码率为b0,确定第2次时间间隔t2为t0
延迟t0时间后按照公式
Figure BDA0003351459210000053
计算第2次时间间隔对应的平均码率b2;其中,b2为第2次时间间隔对应的平均码率,recvlen2为第2次时间间隔内接收的所有包的总大小,t2为第2次时间间隔。
按照公式
Figure BDA0003351459210000054
计算第2次码率波动的权重系数;其中,flucoeff2为第2次码率波动的权重系数,b2为第2次时间间隔对应的平均码率,b0为第0次入向码流码率(初始化为b1)。
在第2次码率波动的权重系数flucoeff2小于0.1的情况下,说明当前入向码流码率的波动不大,第2次入向码流码率仍然为b0,第3次时间间隔t3仍然为t0
在第2次码率波动的权重系数flucoeff2大于或等于0.1的情况下,说明当前入向码流码率的波动较大,第2次入向码流码率为b2,第3次时间间隔t3
Figure BDA0003351459210000055
下面基于第2次码率波动的权重系数flucoeff2大于或等于0.1的情况进行描述。
延迟t3时间后按照公式
Figure BDA0003351459210000056
计算第3次时间间隔对应的平均码率b3;其中,b3为第3次时间间隔对应的平均码率,recvlen3为第3次时间间隔内接收的所有包的总大小,t3为第3次时间间隔。
按照公式
Figure BDA0003351459210000061
计算第3次码率波动的权重系数;其中,flucoeff3为第3次码率波动的权重系数,b3为第3次时间间隔对应的平均码率,b2为第2次入向码流码率。
在第3次码率波动的权重系数flucoeff3小于0.1的情况下,说明当前入向码流码率的波动不大,第3次入向码流码率仍然为b2,第4次时间间隔t4仍然为t3
在第3次码率波动的权重系数flucoeff3大于或等于0.1的情况下,说明当前入向码流码率的波动较大,第3次入向码流码率为b4,第4次时间间隔t4
Figure BDA0003351459210000062
以此类推一直检测下去。
得到第1次入向码流码率后,按照公式
Figure BDA0003351459210000063
计算第1次入向码流码率对应的本次任务对应的最大接收包数量;其中,recvpktcnt1为本次任务对应的最大接收包数量,recviter为固定收流间隔,b1为第1次入向码流码率,pktlen为每个包的大小,recvcoeff为固定收流系数。
依次从内核协议栈中读取接收的包进行收流处理,直到内核协议栈中没有可读取的包,或从内核协议栈中读取的包数量大于或等于第1次入向码流码率对应的本次任务对应的最大接收包数量。
在每一次从内核协议栈中读取接收的包进行收流处理后,判断内核协议栈中是否还有可读取的包,如果没有可读取的包则结束本次任务;如果有可读取的包则判断从内核协议栈中读取的包数量是否大于或等于第1次入向码流码率对应的本次任务对应的最大接收包数量;如果是,则结束本次任务;如果不是则继续从内核协议栈中读取接收的包进行收流处理。
得到第2次入向码流码率后,判断第2次入向码流码率与第1次入向码流码率是否相同,如果相同,则直接采用第1次入向码流码率对应的本次任务对应的最大接收包数量作为第2次入向码流码率对应的本次任务对应的最大接收包数量;如果不相同,则按照公式
Figure BDA0003351459210000064
计算本次任务对应的最大接收包数量;其中,recvpktcnt2为第2次入向码流码率对应的本次任务对应的最大接收包数量,recviter为固定收流间隔,b2为第2次入向码流码率,pktlen为每个包的大小,recvcoeff为固定收流系数。
依次从内核协议栈中读取接收的包进行收流处理,直到内核协议栈中没有可读取的包,或从内核协议栈中读取的包数量大于或等于第2次入向码流码率对应的本次任务对应的最大接收包数量。
在每一次从内核协议栈中读取接收的包进行收流处理后,判断内核协议栈中是否还有可读取的包,如果没有可读取的包则结束本次任务;如果有可读取的包则判断从内核协议栈中读取的包数量是否大于或等于第1次入向码流码率对应的本次任务对应的最大接收包数量;如果是,则结束本次任务;如果不是则继续从内核协议栈中读取接收的包进行收流处理。
以此类推一直持续下去。
第三方面,本申请另一个实施例提供一种电子设备,包括:至少一个处理器;存储器,存储器上存储有至少一个程序,当至少一个程序被至少一个处理器执行时,实现上述任意一种入向码流码率获取方法,或实现上述任意一种收流处理方法。
其中,处理器为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH)。
在一些实施例中,处理器、存储器通过总线相互连接,进而与计算设备的其它组件连接。
第四方面,本申请另一个实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意一种入向码流码率获取方法,或实现上述任意一种收流处理方法。
图6为本申请另一个实施例提供的流媒体服务器的组成框图。
第五方面,参照图6,本申请另一个实施例提供一种流媒体服务器,包括:入向码流码率检测模块601、收流模块602、发流模块603。
其中,入向码流码率检测模块601用于实现上述任意一种入向码流码率获取方法,收流模块602用于实现上述任意一种收流处理方法,发流模块603用于发送收流处理后的包。
在具体实现时,入向码流码率检测模块601可以每一次均更新入向码流码率,也可以先判断当前入向码流码率的波动是否大,如果波动不大,则不需要更新入向码流码率;如果波动较大,则需要更新入向码流码率。
在具体实现时,入向码流码率检测模块601可以在每一次得到入向码流码率时,将本次获得的入向码流码率发送给收流模块602,也可以先判断本次获得的入向码流码率是否与上一次获得的入向码流码率相同,如果相同,则不需要将本次获得的入向码流码率发送给收流模块602;如果不相同,则将本次获得的入向码流码率发送给收流模块602。
在具体实现时,收流模块602如果没有收到新的入向码流码率,则根据上一次收到的入向码流码率计算本次任务对应的最大接收包数量,根据本次任务对应的最大接收包数量进行收流处理;收流模块602如何接收到新的入向码流码率,则根据新的入向码流码率计算本次任务对应的最大接收包数量,根据本次任务对应的最大接收包数量进行收流处理。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储器、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本申请的范围的情况下,可进行各种形式和细节上的改变。

Claims (12)

1.一种入向码流码率获取方法,包括:
计算本次时间间隔对应的平均码率;
根据上一次入向码流码率和所述本次时间间隔对应的平均码率计算本次码率波动的权重系数;
根据所述本次码率波动的权重系数确定本次入向码流码率和下一次时间间隔,延迟预设时间间隔后继续执行计算下一次时间间隔对应的平均码率的步骤。
2.根据权利要求1所述的入向码流码率获取方法,其中,所述本次时间间隔对应的平均码率为所述本次时间间隔内接收的所有包的总大小和所述本次时间间隔的比值。
3.根据权利要求1所述的入向码流码率获取方法,其中,所述根据上一次入向码流码率和所述本次时间间隔对应的平均码率计算本次码率波动的权重系数包括:
按照公式
Figure FDA0003351459200000011
计算所述本次码率波动的权重系数;
其中,flucoeff为所述本次码率波动的权重系数,cur_b为所述本次时间间隔对应的平均码率,last_b为所述上一次入向码流码率。
4.根据权利要求1所述的入向码流码率获取方法,其中,所述根据所述本次码率波动的权重系数确定本次入向码流码率和下一次时间间隔包括以下至少之一:
在所述本次码率波动的权重系数小于预设阈值的情况下,确定所述本次入向码流码率与上一次入向码流码率相同,确定所述下一次时间间隔与所述本次时间间隔相同;
在所述本次码率波动的权重系数大于或等于预设阈值的情况下,确定所述本次入向码流码率为所述本次时间间隔对应的平均码率,确定所述下一次时间间隔小于所述本次时间间隔。
5.根据权利要求4所述的入向码流码率获取方法,其中,所述确定所述下一次时间间隔小于所述本次时间间隔包括:
按照公式
Figure FDA0003351459200000012
确定所述下一次时间间隔;
其中,tnext为所述下一次时间间隔,tcur为所述本次时间间隔,flucoeff为所述本次码率波动的权重系数。
6.一种收流处理方法,包括:
根据本次入向码流码率计算本次任务对应的最大接收包数量;其中,所述本次入向码流码率为采用权利要求1-5任意一项所述的入向码流码率获取方法确定的本次入向码流码率;
根据所述本次任务对应的最大接收包数量将入向码流中属于所述本次任务的包进行收流处理。
7.根据权利要求6所述的收流处理方法,其中,所述根据本次入向码流码率计算本次任务对应的最大接收包数量包括以下至少之一:
在根据所述本次入向码流码率确定入向码流码率没有波动的情况下,确定所述本次任务对应的最大接收包数量与上一次任务对应的最大接收包数量相同;
在根据所述本次入向码流码率确定入向码流码率有波动的情况下,按照公式
Figure FDA0003351459200000021
计算所述本次任务对应的最大接收包数量;其中,recvpktcnt为所述本次任务对应的最大接收包数量,recviter为固定收流间隔,bcur为所述本次入向码流码率,pktlen为每个包的大小,recvcoeff为固定收流系数。
8.根据权利要求7所述的收流处理方法,其中,所述根据所述本次入向码流码率确定入向码流码率没有波动包括:所述本次入向码流码率与上一次入向码流码率相同。
9.根据权利要求7所述的收流处理方法,其中,所述根据所述本次入向码流码率确定入向码流码率有波动包括:所述本次入向码流码率与上一次入向码流码率不同。
10.根据权利要求6所述的收流处理方法,其中,所述根据所述本次任务对应的最大接收包数量将入向码流中属于所述本次任务的包进行收流处理包括:
依次从内核协议栈中读取接收的包进行收流处理,直到所述内核协议栈中没有可读取的包,或从所述内核协议栈中读取的包数量大于或等于所述本次任务对应的最大接收包数量。
11.一种电子设备,包括:
至少一个处理器;
存储器,所述存储器上存储有至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,实现权利要求1-5任意一项所述的入向码流码率获取方法,或实现权利要求6-10任意一项所述的收流处理方法。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任意一项所述的入向码流码率获取方法,或实现权利要求6-10任意一项所述的收流处理方法。
CN202111337644.6A 2021-11-12 2021-11-12 入向码流码率获取方法、收流处理方法、电子设备、介质 Pending CN116132717A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111337644.6A CN116132717A (zh) 2021-11-12 2021-11-12 入向码流码率获取方法、收流处理方法、电子设备、介质
PCT/CN2022/130363 WO2023083143A1 (zh) 2021-11-12 2022-11-07 入向码流码率获取方法、收流处理方法、电子设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111337644.6A CN116132717A (zh) 2021-11-12 2021-11-12 入向码流码率获取方法、收流处理方法、电子设备、介质

Publications (1)

Publication Number Publication Date
CN116132717A true CN116132717A (zh) 2023-05-16

Family

ID=86299565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111337644.6A Pending CN116132717A (zh) 2021-11-12 2021-11-12 入向码流码率获取方法、收流处理方法、电子设备、介质

Country Status (2)

Country Link
CN (1) CN116132717A (zh)
WO (1) WO2023083143A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8885702B2 (en) * 2011-10-17 2014-11-11 Google Inc. Rate-distortion-complexity optimization of video encoding guided by video description length
CN106028085B (zh) * 2016-06-14 2019-01-08 浙江工业大学 基于dash的多客户端码率自适应及震荡补偿方法
CN107026856A (zh) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 一种网络推流质量的优化方法及优化系统
CN107277568A (zh) * 2017-08-16 2017-10-20 广州市千钧网络科技有限公司 一种推流配置参数动态调整方法及装置
CN110913245A (zh) * 2019-11-08 2020-03-24 网宿科技股份有限公司 一种控制视频转码码率的方法和装置
CN113347138B (zh) * 2020-03-02 2024-04-26 广州虎牙科技有限公司 转码数据流的传输方法、装置、计算机设备及存储介质
CN111193673B (zh) * 2020-04-10 2020-08-25 亮风台(上海)信息科技有限公司 数据传输速率控制方法、系统和用户设备

Also Published As

Publication number Publication date
WO2023083143A1 (zh) 2023-05-19

Similar Documents

Publication Publication Date Title
US9872198B2 (en) Systems and methods for data transmission
CN107342848B (zh) 一种自适应码流传输方法、装置及设备
US20170346601A1 (en) Data transmission method and computing apparatus having data transmission function
CN114584833B (zh) 音视频的处理方法、装置及存储介质
CN104702972B (zh) 一种自适应图像数据发送方法和装置
KR20150007411A (ko) 데이터 전송 방법 및 장치, 데이터 수신 방법 및 장치 및 기록 매체
US20190068502A1 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
US8904246B2 (en) Variable acknowledge rate to reduce bus contention in presence of communication errors
US9350484B2 (en) Transport accelerator implementing selective utilization of redundant encoded content data functionality
CN110830460A (zh) 一种连接建立方法、装置、电子设备及存储介质
CN105245562A (zh) 操作高速缓存器的方法以及对应的高速缓存器
US10326677B2 (en) Communication device, available band calculation system, available band calculation method, and program
CN116132717A (zh) 入向码流码率获取方法、收流处理方法、电子设备、介质
CN116318545A (zh) 视频数据传输方法、装置、设备及存储介质
CN116920364A (zh) 数据处理方法、装置、电子设备及存储介质
US11212232B2 (en) Transmission and reception of a data stream
CN108667563B (zh) 一种前向纠错包个数获取方法及装置
CN116489472A (zh) 一种视频流的传输方法、装置、电子设备及存储介质
CN112351049B (zh) 数据传输方法、装置、设备及存储介质
CN112866767B (zh) 一种投屏控制方法、装置、电子设备及存储介质
CN111970578B (zh) 音视频数据传输中修复方法和装置
US8953469B2 (en) Communication device and computer program product
US20180123965A1 (en) Method for packet transmission apparatus to transmit packet in real time, packet transmission apparatus, and computer program
US8791981B2 (en) Bit rate control apparatus and method thereof
US8379675B2 (en) Jitter buffering control for controlling storage locations of a jitter buffer, and a method therefor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication