CN112511702A - 视频彩铃的推送方法、服务器、电子设备和存储介质 - Google Patents
视频彩铃的推送方法、服务器、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112511702A CN112511702A CN202011511447.7A CN202011511447A CN112511702A CN 112511702 A CN112511702 A CN 112511702A CN 202011511447 A CN202011511447 A CN 202011511447A CN 112511702 A CN112511702 A CN 112511702A
- Authority
- CN
- China
- Prior art keywords
- queue
- sliding window
- pushing
- capacity
- level
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000001514 detection method Methods 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 15
- 238000013139 quantization Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 16
- 238000004891 communication Methods 0.000 abstract description 2
- 230000014509 gene expression Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 208000019116 sleep disease Diseases 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42017—Customized ring-back tones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network 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/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/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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例涉及、通信技术领域,公开了一种视频彩铃的流控方法、系统、电子设备和存储介质。视频彩铃的流控方法包括:以一定码率处理媒体帧;根据滑动窗口控制处理后的所述媒体帧进入队列;根据所述队列的容量确定推送周期,其中,所述容量为所述队列中处理后的所述媒体帧的数量,所述推送周期是从所述队列中获取处理后的所述媒体帧的时间间隔;以所述推送周期向主叫用户推送所述队列中处理后的所述媒体帧。应用在视频推送的过程中,达到为视频彩铃服务器的视频推送过程提供进行针对性强、准确的流控管理的目的。
Description
技术领域
本发明实施例涉及通信技术领域,特别涉及一种视频彩铃的推送方法、服务器、电子设备和存储介质。
背景技术
视频彩铃是一项由被叫用户定制的为主叫用户提供视频来代替普通网络回铃音的业务。主叫用户在拨打被叫用户时,视频彩铃服务器会与主叫用户进行视频协商,并根据协商的结果以媒体流的形式向主叫用户发送被叫用户定制的视频内容。
然而,媒体流的发送过程缺乏流控管理,即使利用现有的外部组件对媒体流进行流控管理,也会由于外部组件不是专门针对视频彩铃的设计,导致针对性不强,控制不够灵活、精准,进而使得主叫用户在接收媒体流后播放视频时出现卡顿等情况,影响用户体验。
发明内容
本发明实施方式的目的在于提供一种视频彩铃的推送方法、服务器、电子设备和存储介质,使得能够在视频彩铃服务器上进行流控管理,提高对视频推送的控制的灵活性和准确性,提升用户体验。
为解决上述技术问题,本发明的实施方式提供了一种视频彩铃的推送方法,包括以下步骤:根据实际可用带宽和单位时间内发送的媒体帧占用的带宽对滑动窗口初始化;以一定码率处理所述媒体帧;根据所述滑动窗口控制处理后的所述媒体帧进入队列;根据所述队列的容量确定推送周期,其中,所述容量为所述队列中处理后的所述媒体帧的数量,所述推送周期是从所述队列中获取处理后的所述媒体帧的时间间隔;以所述推送周期向主叫用户推送所述队列中处理后的所述媒体帧。
本发明的实施方式还提供了一种视频彩铃服务器,包括:滑动窗口管理模块,用于根据实际可用带宽和单位时间内发送的媒体帧占用的带宽对滑动窗口初始化;媒体帧处理模块,用于以一定码率处理所述媒体帧;队列控制模块,用于根据所述滑动窗口管理模块设置的所述滑动窗口控制经过所述媒体帧处理模块处理后的所述媒体帧进入队列;推送模块,用于根据所述队列控制模块中所述队列的容量确定推送周期,以所述推送周期向主叫用户推送所述队列中处理后的所述媒体帧其中,所述容量为所述队列中处理后的所述媒体帧的数量,所述推送周期是从所述队列中获取处理后的所述媒体帧的时间间隔。
本发明的实施方式还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述视频彩铃的推送方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述视频彩铃的推送方法。
本发明实施方式相对于现有技术而言,根据实际可用带宽和单位时间内发送的媒体帧占用的带宽对滑动窗口初始化,使得后续能够对存储媒体帧的队列进行控制管理,进一步地通过控制媒体帧入队数量来调整媒体帧的推送周期,最后以得到的推送周期来向主叫用户推送队列中的媒体帧,从而实现了针对视频彩铃的流控管理。由于能够在视频彩铃服务器上通过设置滑动窗口对存储媒体帧的队列进行管理,进一步通过队列管理对媒体帧的推送周期进行管理,实现了针对视频彩铃的流控管理,提高对视频推送的控制的灵活性和准确性,提升用户体验。
另外,本发明实施方式提供的视频彩铃的推送方法,所述根据实际可用带宽和单位时间内发送的媒体帧占用的带宽对滑动窗口初始化之前,还包括:根据所述主叫用户反馈的网络信息对所述主叫用户的带宽进行预测,获取预测带宽,其中,所述网络信息包含所述主叫用户可用带宽的历史数据;根据默认带宽和所述预测带宽获取所述实际可用带宽,其中,所述默认带宽是音频流和视频流的默认使用带宽,所述实际可用带宽是所述默认带宽和所述预测带宽的平均值。在实际可用带宽中不仅考虑视频彩铃服务器的可用带宽,还需要考虑主叫用户侧的可用带宽,使得媒体帧的传输过程与主叫用户终端的性能相适应。
另外,本发明实施方式提供的视频彩铃的推送方法,所述根据所述队列的容量确定推送周期,包括:根据所述队列本次检测时的所述容量和上一次检测的所述容量,计算所述队列的容量增长率;根据所述容量增长率和所述推送周期的等级检测是否更新所述推送周期,其中,所述推送周期的等级是上一次检测时所述推送周期的等级;若是,根据所述容量增长率、所述推送周期的等级、预定义的所述容量增长率和所述推送周期的对应关系更新所述推送周期的等级和所述推送周期的调整规则,并根据所述调整规则更新所述推送周期。通过对推送周期的适应性调整,提高了视频帧推送的效率。
另外,本发明实施方式提供的视频彩铃的推送方法,还包括:采集网络数据,其中,所述网络数据包含基站数据和丢包数据;根据当前网络数据和预定义的量化函数获取所述网络数据的增长率,其中,所述量化函数是根据默认网络数据对所述当前网络数据的变化进行量化的函数,所述默认网络数据是根据媒体协商得到的网络质量默认级别对应的所述网络数据;
根据所述网络数据的增长率和历史网络质量级别获取当前网络质量级别,所述历史网络质量级别是上一次采集的网络数据对应的网络质量级别。通过采集网络数据对当前的网络质量进行评估,得到网络质量的等级,实现对网络质量及其变化的量化。
另外,本发明实施方式提供的视频彩铃的推送方法,所述获取当前网络质量级别之后,还包括:检测所述当前网络质量级别是否与所述历史网络级别相同;若否,根据所述当前网络质量级别和所述网络数据的增长率确定所述滑动窗口的调整规则,并根据所述滑动窗口的调整规则更新所述滑动窗口。根据网络质量的变化对处理滑动窗口的长度进行调整,使得能够在当前环境下获取最合适的滑动窗口,从而使得流控更加精细、准确,进一步使得流控管理对网络质量的适应性更强、灵敏度更高。
另外,本发明实施方式提供的视频彩铃的推送方法,所述获取当前网络质量级别之后,还包括:检测所述当前网络质量级别是否和所述历史网络级别相同;若否,根据所述当前网络质量级别和所述网络数据的变化率确定所述码率的调整规则,根据所述码率的所述调整规则更新所述码率。根据网络质量的变化对处理媒体帧的码率进行调整,提高了处理效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明的第一实施方式提供的视频彩铃的推送方法的流程图;
图2是图1所示的本发明的第一实施方式提供的视频彩铃的推送方法中步骤103的流程图;
图3是本发明的第二实施方式提供的视频彩铃的推送方法的流程图;
图4是本发明的第三实施方式提供的视频彩铃的推送方法的流程图;
图5是本发明的第四实施方式提供的视频彩铃的推送方法的流程图;
图6是本发明的第五实施方式提供的视频彩铃的推送方法的流程图;
图7是本发明的第六实施方式提供的服务器的结构示意图;
图8是本发明的第七实施方式提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种视频彩铃的推送方法,应用在视频彩铃服务器上,其流程如图1所示,包括:
步骤101,以一定码率处理媒体帧。
在本实施方式中,媒体帧在传送时,实际上是传送的是经过编码的视频文件,码率是将视频中的某一帧画面经过编码转化为一串数据的速率,用来衡量媒体帧的处理速度。
步骤102,根据滑动窗口控制处理后的媒体帧进入队列。
滑动窗口将彩铃视频服务器中媒体帧数据划分为四类:第一类是已经发送成功并已经被确认的数据,这些数据其实的位置是在滑动窗口之外了,因为窗口内顺序最低的被确认之后,要移除滑动窗口,实际上是滑动窗口进行合拢,同时打开窗口接收新的待发送的数据;第二类是发送但没有被确认的数据,数据被发送出去,没有收到主叫用户的确认字符(ACKnowledge Character,ACK),认为并没有完成发送,这个属于窗口内的数据;第三类是尽快发送的数据,这部分数据已经被加载到缓存中,也就是滑动窗口中了,等待发送,需要视频彩铃服务器尽快的发送这些数据;第四类属于未发送,同时当前也不允许发送的,因为这些数据已经超出了主叫用户所接收的范围。滑动窗口基于上述的数据划分对被叫用户定制的视频进行处理,从而实现对媒体帧入队的控制。
具体地,如图2所示,步骤102包括:
步骤201,检测队列当前的容量是否大于滑动窗口的长度,若是,执行步骤202,若否,执行步骤203。
需要说明的是,由于滑动窗口的长度和队列的容量都是由媒体帧的数量进行衡量的,因此可以直接通过数值的比价得到滑动窗口的长度和队列的容量的比较结果。
具体地说,在第一次推送媒体帧之前对存储媒体帧的队列进行初始化,默认初始队列的大小为窗口的初始长度。然后媒体帧入队和出队操作的不断进行,队列在检测时得到的当前容量不断发生变化,与滑动窗口的相对大小关系也在不断变化,因此获取队列中媒体帧的数量和滑动窗口的长度后直接比较数值的大小。
步骤202,在m个推送周期内不向所述队列中添加媒体帧,其中,m为当前的容量与滑动窗口的长度之间的差值。
具体地说,第n次检测时,检测到当前队列的容量LEN(Q,n)大于当前滑动窗口长度W(n)时,那么按照媒体帧的推送周期为单位,在接下来的m个周期内不往队列中放入媒体帧,其中,m=LEN(Q,n)-W(n)。
步骤203,向队列中添加m个媒体帧,其中,m为当前的容量与滑动窗口的长度之间的差值。
具体地说,第n次检测时,检测到当前队列的大小LEN(Q,n)小于等于当前滑动窗口长度W(n)时,那么按照媒体帧的推送周期为单位,在接下来的m个周期内不往队列中放入媒体帧,其中,m=LEN(Q,n)-W(n)。
需要说明的是,步骤202和步骤203之后均执行步骤103。
步骤103,根据队列的容量确定推送周期,其中,容量为检测时队列中的处理后的媒体帧的数量,推送周期是从队列中获取处理后的媒体帧的时间间隔。
步骤104,以推送周期向主叫用户推送队列中处理后的媒体帧。
在本实施方式中,根据步骤104确定的推送周期从存储媒体帧的队列中依次取出队列中的媒体帧,然后发送出去,由于队列遵从先进先出,因此是先取出最先入队的视频帧再取出后入队的视频帧。
更具体地说,检测队列中是否存在媒体帧,若队列中存在媒体帧,视频彩铃服务器的推送线程从队列中依据先进先出的原则获取媒体帧,并且向相应的主叫用户推送获取到的媒体帧,若队列中不存在媒体帧,继续检测是否达到超时时间,如果达到超时时间,则结束整个流程,若没有达到超时时间,则进入休眠,休眠一段时间后,再次检测队列中是否存在媒体帧。
本发明实施方式相对于现有技术而言,根据实际可用带宽和单位时间内发送的媒体帧占用的带宽对滑动窗口初始化,使得后续能够对存储媒体帧的队列进行控制管理,进一步地通过控制媒体帧入队数量来调整媒体帧的推送周期,最后以得到的推送周期来向主叫用户推送队列中的媒体帧,从而实现了针对视频彩铃的流控管理。由于能够在视频彩铃服务器上通过设置滑动窗口对存储媒体帧的队列进行管理,进一步通过队列管理对媒体帧的推送周期进行管理,实现了针对视频彩铃的流控管理,提高对视频推送的控制的灵活性和准确性,提升用户体验。
本发明的第二实施方式涉及一种视频彩铃的推送方法,该方法与本发明的第一实施例提供的视频彩铃的推送方法基本相同,其区别在于,还需要考虑主叫用户的可用带宽,如图3所示,包括:
步骤301,根据主叫用户反馈的网络信息对主叫用户的带宽进行预测,获取预测带宽,其中,网络信息包含主叫用户可用带宽的历史数据。
在本实施方式中,预测可以是采用统计的方法通过对历史数据的统计分析获取对未来带宽的变化趋势进行预测从而得到未来带宽的合理推测,还可以是采用机器学习的方法根据大量的历史数据训练模型进而获取预测的数据。当然,以上仅为具体的举例说明,在实际的使用过程中预测还可以包括其他方法,此处不做一一赘述。
更具体地说,可以采用如下计算表达式对主叫用户的可用带宽进行统计方法上的预测:
其中,Pb是预测带宽,b1,b2,…,bn是主叫用户可用带宽的最近n(n>2)次的历史数据,bmin是集合{b1,b2,…,bn}中的最小值,bmax是集合{b1,b2,…,bn}中的最大值,当然在实际实现的过程中,预测带宽的数值还可以根据实际情况进一步调整优化。上述表达式采用最近的历史数据提高了预测的可靠性,取出最大、最小值能够避免个别特殊情况的影响,获得更加具有代表性的数据,进一步提高预测的可靠性。因此还可以采用能够体现统计预测思想的表达式。
步骤302,根据默认带宽和预测带宽获取实际可用带宽,其中,默认带宽是为音频流和视频流规划的带宽,实际可用带宽是默认带宽和预测带宽的平均值。
在本实施方式中,步骤302获取的实际可用带宽实际上是需要视频彩铃平台和主叫用户经过多次协商才能确定的。具体地说,协商开始时,视频彩铃服务器首先向主叫用户发送协商的报文,该报文中携带了视频彩铃服务器给出的默认带宽,然后主叫用户接收到视频彩铃服务器发送的报文后,将自身所处的网络环境中的网络信息反馈给视频彩铃平台,尤其是主叫用户可用带宽的历史数据,接着视频彩铃平台根据接收到的历史数据对主叫用户侧的可用带宽进行预测,得到预测带宽,并进一步得到实际可用带宽,最后视频彩铃服务器和主叫用户关于是否使用实际可用带宽再次协商,若协商成功,则执行步骤203,若协商不成功,则作为异常结束处理,结束该推送过程。
需要说明的是,本实施方式在实际使用的过程中,还可以记录默认带宽和预测带宽的最大值,并将这个最大值作为参考信息使用。
步骤303,根据实际可用带宽和单位时间内发送的媒体帧占用的带宽对滑动窗口初始化。
在本实施方式中,视频彩铃是以流媒体的形式进行推送的。媒体流是指视频在推送前并不下载整个视频文件,而是随时接收视频彩铃服务器传送随时推送,当视频文件传输到用户的计算机、推送之前该视频文件的一部分已经缓存下来了。而媒体帧就是组成视频文件的基本单位。
具体地说,在本实施方式中是根据实际可用带宽和单位时间内发送的媒体帧占用的带宽可以计算出滑动窗口的初始长度,然后根据得到的初始长度设置滑动窗口,完成滑动窗口的初始化,其中,利用滑动窗口中包含的媒体帧的数量来衡量滑动窗口的初始长度。
步骤304,以一定码率处理媒体帧。
具体地说,本实施方式中的步骤304和第一实施方式中的步骤102相同,此处不进行一一赘述。
步骤305,根据滑动窗口控制处理后的媒体帧进入队列。
具体地说,本实施方式中的步骤305和第一实施方式中的步骤103相同,此处不进行一一赘述。
步骤306,根据队列的容量确定推送周期,其中,容量为检测时队列中的处理后的媒体帧的数量,推送周期是从队列中获取处理后的媒体帧的时间间隔。
具体地说,本实施方式中的步骤306和第一实施方式中的步骤104相同,此处不进行一一赘述。
步骤307,以推送周期向主叫用户推送队列中的媒体帧。
具体地说,本实施方式中的步骤307和第一实施方式中的步骤105相同,此处不进行一一赘述。
本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,可以为视频彩铃服务器提供针对性强的流控管理的同时,在实际可用带宽中不仅考虑视频彩铃服务器的可用带宽,还需要考虑主叫用户侧的可用带宽,使得媒体帧的传输过程与主叫用户终端的性能相适应,不会由于传输过程主叫用户的可用带宽与默认带宽相差较大而影响传输质量。
本发明的第三实施方式涉及一种视频彩铃的推送方法,该方法与第一实施方式提供的视频彩铃的推送方法基本相同,其区别在于,对步骤104进一步进行了细化,如图4所示,包括:
步骤401,以一定码率处理媒体帧。
具体地说,本实施方式中的步骤401和第一实施方式中的步骤101相同,此处不进行一一赘述。
步骤402,根据滑动窗口控制处理后的媒体帧进入队列。
具体地说,本实施方式中的步骤402和第一实施方式中的步骤103相同,此处不进行一一赘述。
步骤403,根据队列本次检测时的容量和上一次检测时的容量,计算队列的容量增长率。
在本实施方式中,队列的容量的增长率可以采用如下计算表达式:
其中,Y为队列的容量的增长率,LEN(Q,n)为第n次检测时的队列大小,LEN(Q,n-1)为第n-1次检测时的队列大小。
需要说明的是,本实施方式不对本次检测和上一次检测的时间间隔进行限定,可以以推送周期作为间隔的时间进行检测,还可以设通过函数来设定间隔时间。
步骤404,根据容量变化率和推送周期的等级检测是否更新推送周期,其中,推送周期的等级是上一次检测后确定的推送周期的等级,若是,执行步骤405,若否,执行步骤406。
具体地说,本实施方式中,当步骤404得到的增长率Y达到一定的范围之后,需要更新推送周期,因此可以通过检测是否达到范围来判断是否更新推送周期。
更具体地说,首先检测Y和推送周期的等级满足下表中的哪个等级的条件,接着判断满足的这个条件是否会导致推送周期的等级发生变化,若是,执行步骤405,若否,执行步骤406。需要说明的是,下表中的等级P_LEVEL-2的含义是,在等级P_LEVEL-1的前提下仍然向负方向增长,即可将等级由P_LEVEL-1更新为P_LEVEL-2。同理P_LEVEL2也具有类似的含义。下表中的Y为步骤403得到的增长率,条件可根据不同网络环境调整对应的取值范围大小,T0是推送周期的第一个数值或者是默认值。
步骤405,根据容量增长率、推送周期的等级、预定义的容量变化率和推送周期的关系更新推送周期的等级和推送周期的调整规则,根据调整规则更新推送周期。
具体地说,本实施方式中,根据容量增长率和推送周期的等级可以在上表中查询得到更新后的推送周期的等级和推送周期的调整规则,将数据代入根据上表中相应的更新推送周期的表达式得到的结果就是更新后的推送周期。
步骤406,保持推送周期不变。
具体地说,本实施方式中,当队列的容量变化不大时,可以保持推送周期不变,避免过多计算带来资源的浪费。
步骤407,以推送周期向主叫用户推送队列中的媒体帧。
具体地说,本实施方式中的步骤407和第一实施方式中的步骤104相同,此处不进行一一赘述。
本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,可以为视频彩铃提供针对性强的流控管理的同时,还能够对媒体帧的推送周期进行调整,使得推送效率更高。
本发明的第四实施方式涉及一种视频彩铃的推送方法,该方法与第一实施方式提供的视频彩铃的推送方法基本相同,其区别在于,还能够调整滑动窗口,如图5所示,包括:
步骤501,采集网络数据。
在本实施方式中,网络数据是视频彩铃服务器和主叫用户所处的网络中的数据,包括:基站数据和丢包数据。基站数据S(n)是指第n次采集时呼叫用户到最近的一个基站的距离或到多个基站的距离的平均值,即k为选取的基站的个数,优选的k为小于等于3的正整数,s1,…,sk是每个基站到主叫用户的距离。丢包数据P(n)可以是第n次采集时丢包率。当然,以上仅为具体的举例说明,在实际的使用过程中网络数据还可以包括其他数据,此处不做一一赘述。
步骤502,根据当前网络数据和预定义的量化函数获取网络数据的增长率,其中,量化函数是根据默认网络数据对当前网络数据的变化进行量化的函数,默认网络数据是根据媒体协商得到的网络质量默认级别对应的网络数据。
具体地说,在本实施方式中,根据媒体协商结果能够直接获取默认质量级别下的默认网络数据,然后将步骤501得到的网络数据和默认网络数据代入预定义的量化函数中,计算得到网络数据的变化率。
更具体地说,当以基站数据和丢包数据来代表网络数据时,默认级别下:基站数据S(0)和丢包数据P(0),步骤502获取的网络数据:基站数据S(n)和丢包数据P(n),相应地,量化函数可以为:
将数据代入上述量化函数得到结果为网络数据的增长率R。
需要说明的是,以上仅为具体的举例说明,在实际的使用过程中还可以使用其他通过默认的网络数据对当前网络数据的变化进行量化的方法,此处不做一一赘述。
步骤503,根据网络数据的增长率和网络质量的等级检测是否更新滑动窗口,其中,推送周期的等级是上一次检测后确定的推送周期的等级,若是,执行步骤504,若否,执行步骤505。
具体地说,本实施方式中,当步骤502得到的增长率R达到一定的范围之后,需要更新滑动窗口,因此可以通过检测是否达到范围来判断是否更新滑动窗口。
更具体地说,首先检测增长率R和网络质量级别满足下表中的哪个等级的条件,接着判断满足的这个条件是否会导致网络质量级别发生变化,若是,执行步骤504,若否,执行步骤505。需要说明的是,下表中的等级P_LEVEL-2的含义是,在等级P_LEVEL-1的前提下仍然向负方向增长,即可将等级由P_LEVEL-1更新为P_LEVEL-2。同理P_LEVEL2也具有类似的含义。下表中的R为步骤403得到的增长率,条件可根据不同网络环境调整对应的取值范围大小,W0是第一个滑动窗口的长度或者是滑动窗口的默认长度。
步骤504,根据网络数据的增长率、历史网络级别等级、预定义的网络数据的增长率和滑动窗口的关系更新网络级别等级和滑动窗口的调整规则,根据滑动窗口的调整规则更新滑动窗口,其中,历史网络质量级别是上一次采集的网络数据对应的网络质量级别。
具体地说,本实施方式中,根据网络数据的增长率和网络质量级别可以在上表中查询得到更新后的网络质量级别和滑动周期的调整规则,将数据代入根据上表中相应的更新滑动窗口长度更新的表达式得到的结果就是更新后的长度。
步骤505,保持滑动窗口不变。
步骤506,以一定码率处理媒体帧。
具体地说,本实施方式中的步骤506和第一实施方式中的步骤101相同,此处不进行一一赘述。
步骤507,根据滑动窗口控制处理后的媒体帧进入队列。
具体地说,本实施方式中的步骤507和第一实施方式中的步骤102相同,此处不进行一一赘述。
步骤508,根据队列的容量确定推送周期,其中,容量为检测时队列中的处理后的媒体帧的数量,推送周期是从队列中获取处理后的媒体帧的时间间隔。
具体地说,本实施方式中的步骤508和第一实施方式中的步骤103相同,此处不进行一一赘述。
步骤509,以推送周期向主叫用户推送队列中的媒体帧。
具体地说,本实施方式中的步骤509和第一实施方式中的步骤104相同,此处不进行一一赘述。
本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,可以为视频彩铃提供针对性强的流控管理的同时,根据网络质量的变化对处理滑动窗口的长度进行调整,使得能够在当前环境下获取最合适的滑动窗口,从而使得流控更加精细、准确,对网络质量的适应性更强。
本发明的第五实施方式涉及一种视频彩铃的推送方法,该方法与第四实施方式提供的视频彩铃的推送方法基本相同,其区别在于,如图6所示,步骤504之后还包括:
步骤601,根据当前网络质量级别和网络数据的增长率确定所述码率的调整规则,并根据码率的调整规则更新码率。
在本实施方式中,码率的调整公式可以采用如下表达式:
BR(n)=BR(0)×(1+x)
其中,BR(n)为第n次进行检测后的码率,BR(0)为初始码率或者是默认码率,x为变动范围(百分比数值),可根据实际情况设置调整,用于获取最接近的合适码率值。
本发明实施方式相对于现有技术而言,在实现第五实施方式带来的有益效果基础上,可以为视频彩铃提供针对性强的流控管理、调整滑动窗口以适应网络质量的变化的同时,还能够根据网络质量的变化对处理媒体帧的码率进行调整,使得媒体帧的处理过程能够适应网络质量变化,提高处理效果。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第六实施方式涉及一种视频彩铃服务器,如图7所示,包括:
滑动窗口管理模块701,用于提供滑动窗口并管理滑动窗口。
媒体帧处理模块702,用于以一定码率处理媒体帧。
队列控制模块703,用于根据滑动窗口管理模块提供的滑动窗口控制经过媒体帧处理模块处理后的媒体帧进入队列。
推送模块704,用于根据队列控制模块中队列的容量确定推送周期,以推送周期向主叫用户推送队列中处理后的媒体帧其中,容量为队列中处理后的媒体帧的数量,推送周期是从队列中获取处理后的媒体帧的时间间隔。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第七实施方式涉及一种电子设备,如图8所示,包括:
至少一个处理器801;以及,
与所述至少一个处理器801通信连接的存储器802;其中,
所述存储器802存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器801执行,以使所述至少一个处理器801能够执行本发明第一至第五实施方式所述的视频彩铃的推送方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种视频彩铃的推送方法,其特征在于,包括:
以一定码率处理媒体帧;
根据滑动窗口控制处理后的所述媒体帧进入队列;
根据所述队列的容量确定推送周期,其中,所述容量为所述队列中处理后的所述媒体帧的数量,所述推送周期是从所述队列中获取处理后的所述媒体帧的时间间隔;
以所述推送周期向主叫用户推送所述队列中处理后的所述媒体帧。
2.根据权利要求1所述的方法,其特征在于,所述以一定码率处理所述媒体帧之前,还包括:
根据所述主叫用户反馈的网络信息对所述主叫用户的带宽进行预测,获取预测带宽,其中,所述网络信息包含所述主叫用户可用带宽的历史数据;
根据默认带宽和所述预测带宽获取实际可用带宽,其中,所述默认带宽是为音频流和视频流规划的带宽,所述实际可用带宽是所述默认带宽和所述预测带宽的平均值;
根据所述实际可用带宽和单位时间内发送的媒体帧占用的带宽对所述滑动窗口进行初始化。
3.根据权利要求1所述的方法,其特征在于,所述根据滑动窗口控制处理后的所述媒体帧进入队列,包括:
检测所述队列当前的容量是否大于所述滑动窗口的长度;
若是,在m个所述推送周期内不向所述队列中添加所述媒体帧,其中,m为所述当前的容量与所述滑动窗口的长度之间的差值;
若否,向所述队列中添加m个所述媒体帧。
4.根据权利要求1所述的方法,其特征在于,所述根据所述队列的容量确定推送周期,包括:
根据所述队列在本次检测时的所述容量和上一次检测的所述容量,计算所述队列的容量增长率;
根据所述容量增长率和所述推送周期的等级检测是否更新所述推送周期,其中,所述推送周期的等级是上一次检测时所述推送周期的等级;
若是,根据所述容量增长率、所述推送周期的等级、预定义的所述容量增长率和所述推送周期的对应关系更新所述推送周期的等级和所述推送周期的调整规则,并根据所述调整规则更新所述推送周期。
5.根据权利要求1所述的方法,其特征在于,还包括:
采集网络数据,其中,所述网络数据包含基站数据和丢包数据;
根据当前网络数据和预定义的量化函数获取所述网络数据的增长率,其中,所述量化函数是根据默认网络数据对所述当前网络数据的变化进行量化的函数,所述默认网络数据是根据媒体协商得到的网络质量默认级别对应的所述网络数据;
根据所述网络数据的增长率和历史网络质量级别获取当前网络质量级别,所述历史网络质量级别是上一次采集的网络数据对应的网络质量级别。
6.根据权利要求5所述的方法,其特征在于,所述获取当前网络质量级别之后,还包括:
检测所述当前网络质量级别是否与所述历史网络级别相同;
若否,根据所述当前网络质量级别和所述网络数据的增长率确定所述滑动窗口的调整规则,并根据所述滑动窗口的调整规则更新所述滑动窗口。
7.根据权利要求5所述的方法,其特征在于,所述获取当前网络质量级别之后,还包括:
检测所述当前网络质量级别是否和所述历史网络级别相同;
若否,根据所述当前网络质量级别和所述网络数据的变化率确定所述码率的调整规则,根据所述码率的所述调整规则更新所述码率。
8.一种视频彩铃服务器,其特征在于,包括:
滑动窗口管理模块,用于提供滑动窗口并管理所述滑动窗口;
媒体帧处理模块,用于以一定码率处理所述媒体帧;
队列控制模块,用于根据所述滑动窗口管理模块提供的所述滑动窗口控制经过所述媒体帧处理模块处理后的所述媒体帧进入队列;
推送模块,用于根据所述队列控制模块中所述队列的容量确定推送周期,以所述推送周期向主叫用户推送所述队列中处理后的所述媒体帧其中,所述容量为所述队列中处理后的所述媒体帧的数量,所述推送周期是从所述队列中获取处理后的所述媒体帧的时间间隔。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7任一所述的视频彩铃的推送方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的视频彩铃的推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011511447.7A CN112511702B (zh) | 2020-12-18 | 2020-12-18 | 媒体帧的推送方法、服务器、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011511447.7A CN112511702B (zh) | 2020-12-18 | 2020-12-18 | 媒体帧的推送方法、服务器、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112511702A true CN112511702A (zh) | 2021-03-16 |
CN112511702B CN112511702B (zh) | 2022-06-03 |
Family
ID=74921757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011511447.7A Active CN112511702B (zh) | 2020-12-18 | 2020-12-18 | 媒体帧的推送方法、服务器、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511702B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041229A (zh) * | 2023-10-09 | 2023-11-10 | 吉林省气象服务中心(吉林省专业气象台、吉林省气象影视宣传中心) | 基于VoLTE技术的主叫等待气象多媒体播放系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110135008A1 (en) * | 2009-12-07 | 2011-06-09 | Electronics And Telecommunications Research Institute | Video processing system |
CN103780971A (zh) * | 2012-10-23 | 2014-05-07 | 北京网动网络科技股份有限公司 | 一种互联网条件下基于rudp的实时视频传输方法 |
CN104661112A (zh) * | 2013-11-18 | 2015-05-27 | 南京中兴力维软件有限公司 | 基于可伸缩选择窗口的视频流文件传输方法及装置 |
CN111741248A (zh) * | 2020-05-26 | 2020-10-02 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
-
2020
- 2020-12-18 CN CN202011511447.7A patent/CN112511702B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110135008A1 (en) * | 2009-12-07 | 2011-06-09 | Electronics And Telecommunications Research Institute | Video processing system |
CN103780971A (zh) * | 2012-10-23 | 2014-05-07 | 北京网动网络科技股份有限公司 | 一种互联网条件下基于rudp的实时视频传输方法 |
CN104661112A (zh) * | 2013-11-18 | 2015-05-27 | 南京中兴力维软件有限公司 | 基于可伸缩选择窗口的视频流文件传输方法及装置 |
CN111741248A (zh) * | 2020-05-26 | 2020-10-02 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041229A (zh) * | 2023-10-09 | 2023-11-10 | 吉林省气象服务中心(吉林省专业气象台、吉林省气象影视宣传中心) | 基于VoLTE技术的主叫等待气象多媒体播放系统及方法 |
CN117041229B (zh) * | 2023-10-09 | 2023-12-15 | 吉林省气象服务中心(吉林省专业气象台、吉林省气象影视宣传中心) | 基于VoLTE技术的主叫等待气象多媒体播放系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112511702B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110266551B (zh) | 一种带宽预测方法、装置、设备及存储介质 | |
CN101785275B (zh) | 通过代理反馈控制的帧传输为媒体服务器选择内容速率 | |
US20020042275A1 (en) | Method for allocating radio resource, radio communication apparatus and radio communication system | |
WO2004097623A1 (en) | Method and apparatus for providing a multimedia data stream | |
US10484750B2 (en) | Methods, radio communication device and base station device for managing a media stream | |
CN110996103A (zh) | 一种根据网络情况对视频编码码率进行调节的方法 | |
RU2004118718A (ru) | Способ обеспечения услуги потоковой передачи видеоданных | |
CN113038187B (zh) | 视频体验质量公平的实用网络带宽分配方法、设备及介质 | |
CN111669617B (zh) | 一种基于智能边缘的直播视频流的传输方法 | |
CN103975630A (zh) | 使用无线广域网协议信息来管理处理器的性能水平 | |
CN111741249B (zh) | 一种网络拥塞检测方法及装置 | |
CN111263153B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN112511702B (zh) | 媒体帧的推送方法、服务器、电子设备和存储介质 | |
CN111768790B (zh) | 用于传输语音数据的方法和装置 | |
JPH10336626A (ja) | 映像データの転送方法および転送装置 | |
CN112087627A (zh) | 图像的编码控制方法、装置、设备及存储介质 | |
CN114745572A (zh) | 视频缓存控制方法、装置、设备及存储介质 | |
CN115701709A (zh) | 视频编码方法、装置、计算机可读介质及电子设备 | |
JP4876100B2 (ja) | 基地局装置及び方法 | |
WO2023155747A1 (zh) | 数据编码码率自适应调节方法、装置、设备和存储介质 | |
CN110290552B (zh) | 缓存深度的测量方法和装置、存储介质、电子装置 | |
CN116017567A (zh) | 一种数据传输方法及装置 | |
US8791981B2 (en) | Bit rate control apparatus and method thereof | |
CN113453145A (zh) | 一种预测空口状态的方法和无线覆盖设备 | |
WO2005029834A2 (en) | A method for generating high quality, low delay video streaming |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |