CN104580067A - 基于多服务器的流媒体传输装置和流媒体传输方法 - Google Patents

基于多服务器的流媒体传输装置和流媒体传输方法 Download PDF

Info

Publication number
CN104580067A
CN104580067A CN201310472706.3A CN201310472706A CN104580067A CN 104580067 A CN104580067 A CN 104580067A CN 201310472706 A CN201310472706 A CN 201310472706A CN 104580067 A CN104580067 A CN 104580067A
Authority
CN
China
Prior art keywords
video segment
server
download
code check
video
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
Application number
CN201310472706.3A
Other languages
English (en)
Other versions
CN104580067B (zh
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.)
Peking University
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
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 Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN201310472706.3A priority Critical patent/CN104580067B/zh
Publication of CN104580067A publication Critical patent/CN104580067A/zh
Application granted granted Critical
Publication of CN104580067B publication Critical patent/CN104580067B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

本发明提供了一种基于多服务器的流媒体传输装置,包括:调度配置单元,在所述流媒体传输装置需要下载一流媒体文件时,根据所述一流媒体文件对应的视频片段之间的播放顺序,确定每个视频片段对应的目标服务器,以确保所有的目标服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致;数据传输单元,下载对应的视频片段;视频播放单元,对下载完成的视频片段依次进行解码播放。本发明还提出了相应的基于多服务器的流媒体传输方法。通过本发明的技术方案,可以在基于多服务器的流媒体文件传输过程中,使得视频片段的下载完成顺序与播放顺序一致,避免卡顿等现象的发生,有助于提升用户体验。

Description

基于多服务器的流媒体传输装置和流媒体传输方法
技术领域
本发明涉及流媒体传输技术领域,具体而言,涉及一种基于多服务器的流媒体传输装置和一种基于多服务器的流媒体传输方法。
背景技术
近几年来,动态HTTP流媒体传输技术广泛应用于网络视频传输。为了提高传输的带宽和稳定性,相关技术中将视频文件切分为一定时间长度的视频片段(fragment),存储于服务器端,并提出了基于多服务器的并行下载技术。
但是,多服务器带宽的异构特性使得传统的基于fragment的HTTP流媒体的码率选择算法面临很多挑战困难,例如:1)每个服务器的带宽不一样,因此下载完相同码率的fragment所需要的时间也不一样,则可能无法同时对所有服务器一起调整码率,容易导致码率调整的不同步性;2)针对不同的服务器,每个fragment下载的结束时刻也不同步,但是视频的播放又具有严格的时序,因此下载结束时刻的不同步也会影响视频的播放,甚至引起严重的卡顿现象,影响用户的使用体验。
因此,如何降低多服务器的带宽异构对流媒体传输的影响,避免视频片段的下载完成顺序与播放顺序的不一致,成为目前亟待解决的技术问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,可以在基于多服务器的流媒体文件传输过程中,使得视频片段的下载完成顺序与播放顺序一致,避免卡顿等现象的发生,有助于提升用户体验。
有鉴于此,本发明提出了一种基于多服务器的流媒体传输装置,包括:调度配置单元,在所述流媒体传输装置需要下载一流媒体文件时,根据所述一流媒体文件对应的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致,其中,所述一流媒体文件被按照预设时间长度切分为多个视频片段,且所述多个服务器中均存储有得到的所有视频片段;数据传输单元,向每个服务器请求对应的视频片段,并下载对应的视频片段;视频播放单元,对下载完成的视频片段依次进行解码播放。
在该技术方案中,通过将流媒体文件切分为多个视频片段,则多个服务器可以同时下载多个视频片段,有助于提高下载速度,充分利用带宽资源。
通过对每个服务器与客户端之间的带宽情况,比如理论上的带宽数值、带宽占用情况、实际上的带宽数值等,就能够了解到多个服务器对视频片段的下载速度的比例关系,从而确定每个服务器所需下载的视频片段的数目,以便合理分配带宽资源。
在上述技术方案中,优选地,所述调度配置单元用于:按照所述播放顺序依次选取每个视频片段,并通过遍历所述多个服务器,预估出最先下载完当前被选中的视频片段的服务器,以作为当前被选中的视频片段对应的服务器。
在该技术方案中,通过对每个服务器进行遍历,寻找出能够在按照播放顺序的情况下,最早完成对当前视频片段进行下载的服务器,从而在尽可能保证下载速度的同时,避免与播放顺序相冲突,从而确保播放过程的顺畅。
在上述任一技术方案中,优选地,所述调度配置单元利用下述公式通过遍历所述多个服务器,并预估出最先下载完当前被选中的视频片段的服务器:其中,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号;以及{xnj}为预设矩阵,其中,当视频片段n对应于服务器j时,xnj=1,否则xnj=0。
在上述任一技术方案中,优选地,还包括:信息确定单元,用于根据所述客户端与所述多个服务器中的每个服务器之间的带宽情况,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量;其中,所述调度配置单元根据所述数量确定本次需要下载的视频片段,并根据本次需要下载的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致。
在该技术方案中,通过对本次下载的视频数量的确定,比如一共a个视频片段,则相当于将整个流媒体文件分为多个包括a个视频片段的部分,将每个部分的a个视频片段作为一个整体,确保在需要调整码率时,可以直接对每个部分的视频片段的码率进行调整,降低多个服务器的不同步带来的影响。
通过带宽情况确定了每个服务器所需下载的视频片段的数量之后,通过进一步确定每个服务器具体需要下载的视频片段,即该视频片段在其所属部分的a个视频片段中的位置,从而确保这a个视频片段的下载完成顺序与相应的播放顺序一致,避免视频播放过程中出现卡顿。
在上述任一技术方案中,优选地,所述信息确定单元用于:计算任一服务器与所述客户端之间的带宽数值与标准数值的比值,将小于或等于该比值的最大整数,或所述最大整数的预设倍数,作为所述任一服务器对应的视频片段的数量。
在该技术方案中,通过设置标准数值,从而根据每个服务器对应的带宽情况,便于快速确定对应的视频数量。其中,标准数值可以由用户根据情况设置,从而避免服务器带宽较小而使得带宽数值与标准数值的比值小于1。
同时,预设倍数可以为整数倍,从而使得上述的每个部分的a个视频片段的数量更多,适用于服务器带宽较大的情况;预设倍数也可以为小数倍,从而当最大整数较大时,控制每个部分的a个视频片段的数量,避免数量过多而增加策略的运算负担,甚至影响设备运行而造成卡顿、死机等情况。
在上述任一技术方案中,优选地,所述标准数值包括所述多个服务器与所述客户端之间的所有带宽数值中的最小带宽数值。
在该技术方案中,通过选择多个服务器中的最小带宽数值,使得每个服务器都能够顺序应用于对流媒体文件的下载过程中,从而充分利用网络资源,并且在有助于快速确定视频片段数量的同时,能够有效避免带宽波动而导致预设的标准数值不适用,比如预设的标准数值太大而导致比值小于1,或预设的标准数值太小而导致每个部分的a个视频片段的数量过多。
在上述任一技术方案中,优选地,所述一流媒体文件还被转码为具有不同码率的多个流媒体文件,且每个转码后的流媒体文件按照预设时间长度被切分为多个视频片段后,存储在所述多个服务器中,则所述数据传输单元用于:按照预设码率,从所述多个服务器中下载所述一流媒体文件对应的视频片段。
在该技术方案中,通过将同一个流媒体文件转码为多个码率,并对每个码率的文件分别进行切分和存储至多个服务器,从而能够根据用户需求或带宽情况,实时地调整视频的码率,一方面,通过手动调整功能,为用户提供多样化的服务;另一方面,通过自动调整功能,避免高带宽下播放低码率文件而影响清晰度,或低带宽下播放高码率而影响流畅度,有助于提升用户体验。
在上述任一技术方案中,优选地,还包括:缓存计算单元,用于获取所述客户端的缓存中的缓存数据量;码率调整单元,用于在所述缓存数据量超出预设缓存数据范围的情况下,根据超出部分的差值和/或所述超出部分的变化率,对将要下载的视频片段的码率进行调整。
在该技术方案中,通过对客户端的缓存数据量的检测,自动对视频文件的码率进行调整,从而避免缓存数据量较低时播放低码率视频而影响清晰度,或缓存数据量较高时播放高码率视频而造成数据溢出,影响正常的视频播放。其中,当仅考虑超出部分的差值或超出部分的变化率时,有助于降低运算负担;当同时考虑两者时,有助于确保调整的准确性。
在上述任一技术方案中,优选地,所述码率调整单元用于:当所述缓存数据量大于预设的缓存数值范围的上限阈值时,降低所述预设码率;以及当所述缓存数据量小于预设的缓存数值范围的下限阈值时,提高所述预设码率。
在该技术方案中,通过对码率的自动调整,使得既能够充分利用带宽资源,又能够确保缓存数据量的平缓,有助于提升用户的使用体验。
在上述任一技术方案中,优选地,所述数据传输单元执行的第k次下载操作,对应于所述一流媒体文件的第k部分的视频片段,则所述码率调整单元在所述数据传输单元执行第k次下载操作时,按照下述公式计算对所述预设码率进行调整的调整量: δ ( v ( k ) ) = 1 Tα ( n ) K p ( q ( block _ t k s ) - q 0 ) + 1 Tα ( n ) K d q ( frag _ t n , k - 1 e ) - q ( block _ t k - 1 s ) frag _ t n , k - 1 e - block _ t k - 1 s , 其中,δ(ν(k))为所述调整量,α(n)为中间量,T为所述预设时间长度,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号,q(b)为所述客户端在b时刻的缓存数据量,为第k次下载操作的开始时刻,为第k-1次下载操作中的第n个视频片段下载完成的时刻,Kp和Kd分别为比例微分控制器的比例参数和微分参数;{xij}为预设矩阵,其中,当视频片段i对应于服务器j时,xij=1,否则xij=0。
在上述任一技术方案中,优选地,Kp和Kd满足: w c &GreaterEqual; 1 2 T TN + K d TN - K d In 20 TN TN + K d , K p = ( TN ) 2 - K d 2 w c , 0 < K d < TN , 其中,N为所述所有视频片段的总数量。
在上述任一技术方案中,优选地,所述数据传输单元执行的第k次下载操作对应的视频片段的码率为:ν(k)=Q(ν'(k)), v &prime; ( k ) = v 0 + min ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) < q min v 0 + max ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) > q max v ( k - 1 ) , else , 其中,ν(k)为第k次下载操作对应的视频片段的码率,Q为量化函数,ν'(k)为第k次下载操作对应的视频片段在量化前的码率,为稳定时刻的码率,qmin为预设缓存数据范围的下限阈值,qmax为预设缓存数据范围的上限阈值,N为所述所有视频片段的总数量。
在上述任一技术方案中,优选地,所述量化函数包括:其中,V={ν12,…νL}为预设可选用的视频码率的集合,且ν12<…<νL
根据本发明的又一方面,还提出了一种基于多服务器的流媒体传输方法,包括:将一流媒体文件按照预设时间长度切分为多个视频片段,在多个服务器中均存储得到的所有视频片段;客户端根据所述一流媒体文件对应的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致;向每个服务器请求对应的视频片段,并对下载完成的视频片段依次进行解码播放。
在该技术方案中,通过将流媒体文件切分为多个视频片段,则多个服务器可以同时下载多个视频片段,有助于提高下载速度,充分利用带宽资源。
通过对每个服务器与客户端之间的带宽情况,比如理论上的带宽数值、带宽占用情况、实际上的带宽数值等,就能够了解到多个服务器对视频片段的下载速度的比例关系,从而确定每个服务器所需下载的视频片段的数目,以便合理分配带宽资源。
在上述技术方案中,优选地,确定每个视频片段对应的服务器的过程包括:按照所述播放顺序依次选取每个视频片段,并通过遍历所述多个服务器,预估出最先下载完当前被选中的视频片段的服务器,以作为当前被选中的视频片段对应的服务器。
在该技术方案中,通过对每个服务器进行遍历,寻找出能够在按照播放顺序的情况下,最早完成对当前视频片段进行下载的服务器,从而在尽可能保证下载速度的同时,避免与播放顺序相冲突,从而确保播放过程的顺畅。
在上述任一技术方案中,优选地,利用下述公式通过遍历所述多个服务器,并预估出最先下载完当前被选中的视频片段的服务器:其中,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号;以及{xnj}为预设矩阵,其中,当视频片段n对应于服务器j时,xnj=1,否则xnj=0。
在上述任一技术方案中,优选地,还包括:根据所述客户端与所述多个服务器中的每个服务器之间的带宽情况,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量;根据所述数量确定本次需要下载的视频片段,并根据本次需要下载的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致。
在该技术方案中,通过对本次下载的视频数量的确定,比如一共a个视频片段,则相当于将整个流媒体文件分为多个包括a个视频片段的部分,将每个部分的a个视频片段作为一个整体,确保在需要调整码率时,可以直接对每个部分的视频片段的码率进行调整,降低多个服务器的不同步带来的影响。
通过带宽情况确定了每个服务器所需下载的视频片段的数量之后,通过进一步确定每个服务器具体需要下载的视频片段,即该视频片段在其所属部分的a个视频片段中的位置,从而确保这a个视频片段的下载完成顺序与相应的播放顺序一致,避免视频播放过程中出现卡顿。
在上述任一技术方案中,优选地,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量的过程包括:计算任一服务器与所述客户端之间的带宽数值与标准数值的比值,将小于或等于该比值的最大整数,或所述最大整数的预设倍数,作为所述任一服务器对应的视频片段的数量。
在该技术方案中,通过设置标准数值,从而根据每个服务器对应的带宽情况,便于快速确定对应的视频数量。其中,标准数值可以由用户根据情况设置,从而避免服务器带宽较小而使得带宽数值与标准数值的比值小于1。
同时,预设倍数可以为整数倍,从而使得上述的每个部分的a个视频片段的数量更多,适用于服务器带宽较大的情况;预设倍数也可以为小数倍,从而当最大整数较大时,控制每个部分的a个视频片段的数量,避免数量过多而增加策略的运算负担,甚至影响设备运行而造成卡顿、死机等情况。
在上述任一技术方案中,优选地,所述标准数值包括所述多个服务器与所述客户端之间的所有带宽数值中的最小带宽数值。
在该技术方案中,通过选择多个服务器中的最小带宽数值,使得每个服务器都能够顺序应用于对流媒体文件的下载过程中,从而充分利用网络资源,并且在有助于快速确定视频片段数量的同时,能够有效避免带宽波动而导致预设的标准数值不适用,比如预设的标准数值太大而导致比值小于1,或预设的标准数值太小而导致每个部分的a个视频片段的数量过多。
在上述任一技术方案中,优选地,还包括:将所述一流媒体文件转码为具有不同码率的多个流媒体文件,并将每个转码后的流媒体文件按照预设时间长度切分为多个视频片段,且存储在所述多个服务器中;所述客户端按照预设码率,从所述多个服务器中下载所述一流媒体文件对应的视频片段。
在该技术方案中,通过将同一个流媒体文件转码为多个码率,并对每个码率的文件分别进行切分和存储至多个服务器,从而能够根据用户需求或带宽情况,实时地调整视频的码率,一方面,通过手动调整功能,为用户提供多样化的服务;另一方面,通过自动调整功能,避免高带宽下播放低码率文件而影响清晰度,或低带宽下播放高码率而影响流畅度,有助于提升用户体验。
在上述任一技术方案中,优选地,还包括:获取所述客户端的缓存中的缓存数据量;当所述缓存数据量超出预设缓存数据范围时,根据超出部分的差值和/或所述超出部分的变化率,对将要下载的视频片段的码率进行调整。
在该技术方案中,通过对客户端的缓存数据量的检测,自动对视频文件的码率进行调整,从而避免缓存数据量较低时播放低码率视频而影响清晰度,或缓存数据量较高时播放高码率视频而造成数据溢出,影响正常的视频播放。其中,当仅考虑超出部分的差值或超出部分的变化率时,有助于降低运算负担;当同时考虑两者时,有助于确保调整的准确性。
在上述任一技术方案中,优选地,对所述预设码率进行调整的过程包括:当所述缓存数据量大于预设的缓存数值范围的上限阈值时,降低所述预设码率;以及当所述缓存数据量小于预设的缓存数值范围的下限阈值时,提高所述预设码率。
在该技术方案中,通过对码率的自动调整,使得既能够充分利用带宽资源,又能够确保缓存数据量的平缓,有助于提升用户的使用体验。
在上述任一技术方案中,优选地,所述客户端的第k次下载操作,对应于所述一流媒体文件的第k部分的视频片段,则在第k次下载操作时按照下述公式计算对所述预设码率进行调整的调整量: &delta; ( v ( k ) ) = 1 T&alpha; ( n ) K p ( q ( block _ t k s ) - q 0 ) + 1 T&alpha; ( n ) K d q ( frag _ t n , k - 1 e ) - q ( block _ t k - 1 s ) frag _ t n , k - 1 e - block _ t k - 1 s , 其中,δ(ν(k))为所述调整量,α(n)为中间量,T为所述预设时间长度,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号,q(b)为所述客户端在b时刻的缓存数据量,为第k次下载操作的开始时刻,为第k-1次下载操作中的第n个视频片段下载完成的时刻,Kp和Kd分别为比例微分控制器的比例参数和微分参数;{xij}为预设矩阵,其中,当视频片段i对应于服务器j时,xij=1,否则xij=0。
在上述任一技术方案中,优选地,Kp和Kd满足: w c &GreaterEqual; 1 2 T TN + K d TN - K d In 20 TN TN + K d , K p = ( TN ) 2 - K d 2 w c , 0 < K d < TN , 其中,N为所述所有视频片段的总数量。
在上述任一技术方案中,优选地,所述客户端的第k次下载操作对应的视频片段的码率为:ν(k)=Q(ν'(k)), v &prime; ( k ) = v 0 + min ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) < q min v 0 + max ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) > q max v ( k - 1 ) , else , 其中,ν(k)为第k次下载操作对应的视频片段的码率,Q为量化函数,ν'(k)为第k次下载操作对应的视频片段在量化前的码率,为稳定时刻的码率,qmin为预设缓存数据范围的下限阈值,qmax为预设缓存数据范围的上限阈值,N为所述所有视频片段的总数量。
在上述任一技术方案中,优选地,所述量化函数包括:其中,V={ν12,…νL}为预设可选用的视频码率的集合,且ν12<…<νL
通过以上技术方案,可以在基于多服务器的流媒体文件传输过程中,使得视频片段的下载完成顺序与播放顺序一致,避免卡顿等现象的发生,有助于提升用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
附图说明
图1示出了根据本发明的实施例的基于多服务器的流媒体传输装置的示意框图;
图2示出了根据本发明的实施例的基于多服务器的流媒体传输方法的示意流程图;
图3示出了根据本发明的实施例的从多个服务器实现流媒体并行传输的示意流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的基于多服务器的流媒体传输装置的示意框图。
如图1所示,根据本发明的实施例的基于多服务器的流媒体传输装置100,包括:调度配置单元102,在所述流媒体传输装置需要下载一流媒体文件时,根据所述一流媒体文件对应的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致,其中,所述一流媒体文件被按照预设时间长度切分为多个视频片段,且所述多个服务器中均存储有得到的所有视频片段;数据传输单元104,向每个服务器请求对应的视频片段,并下载对应的视频片段;视频播放单元106,对下载完成的视频片段依次进行解码播放。
在该技术方案中,通过将流媒体文件切分为多个视频片段,则多个服务器可以同时下载多个视频片段,有助于提高下载速度,充分利用带宽资源。
通过对每个服务器与客户端之间的带宽情况,比如理论上的带宽数值、带宽占用情况、实际上的带宽数值等,就能够了解到多个服务器对视频片段的下载速度的比例关系,从而确定每个服务器所需下载的视频片段的数目,以便合理分配带宽资源。
在上述技术方案中,优选地,所述调度配置单元102用于:按照所述播放顺序依次选取每个视频片段,并通过遍历所述多个服务器,预估出最先下载完当前被选中的视频片段的服务器,以作为当前被选中的视频片段对应的服务器。
在该技术方案中,通过对每个服务器进行遍历,寻找出能够在按照播放顺序的情况下,最早完成对当前视频片段进行下载的服务器,从而在尽可能保证下载速度的同时,避免与播放顺序相冲突,从而确保播放过程的顺畅。
在上述任一技术方案中,优选地,所述调度配置单元102利用下述公式通过遍历所述多个服务器,并预估出最先下载完当前被选中的视频片段的服务器:其中,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号;以及{xnj}为预设矩阵,其中,当视频片段n对应于服务器j时,xnj=1,否则xnj=0。
在上述任一技术方案中,优选地,还包括:信息确定单元108,用于根据所述客户端与所述多个服务器中的每个服务器之间的带宽情况,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量;其中,所述调度配置单元根据所述数量确定本次需要下载的视频片段,并根据本次需要下载的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致。
在该技术方案中,通过对本次下载的视频数量的确定,比如一共a个视频片段,则相当于将整个流媒体文件分为多个包括a个视频片段的部分,将每个部分的a个视频片段作为一个整体,确保在需要调整码率时,可以直接对每个部分的视频片段的码率进行调整,降低多个服务器的不同步带来的影响。
通过带宽情况确定了每个服务器所需下载的视频片段的数量之后,通过进一步确定每个服务器具体需要下载的视频片段,即该视频片段在其所属部分的a个视频片段中的位置,从而确保这a个视频片段的下载完成顺序与相应的播放顺序一致,避免视频播放过程中出现卡顿。
在上述任一技术方案中,优选地,所述信息确定单元108用于:计算任一服务器与所述客户端之间的带宽数值与标准数值的比值,将小于或等于该比值的最大整数,或所述最大整数的预设倍数,作为所述任一服务器对应的视频片段的数量。
在该技术方案中,通过设置标准数值,从而根据每个服务器对应的带宽情况,便于快速确定对应的视频数量。其中,标准数值可以由用户根据情况设置,从而避免服务器带宽较小而使得带宽数值与标准数值的比值小于1。
同时,预设倍数可以为整数倍,从而使得上述的每个部分的a个视频片段的数量更多,适用于服务器带宽较大的情况;预设倍数也可以为小数倍,从而当最大整数较大时,控制每个部分的a个视频片段的数量,避免数量过多而增加策略的运算负担,甚至影响设备运行而造成卡顿、死机等情况。
在上述任一技术方案中,优选地,所述标准数值包括所述多个服务器与所述客户端之间的所有带宽数值中的最小带宽数值。
在该技术方案中,通过选择多个服务器中的最小带宽数值,使得每个服务器都能够顺序应用于对流媒体文件的下载过程中,从而充分利用网络资源,并且在有助于快速确定视频片段数量的同时,能够有效避免带宽波动而导致预设的标准数值不适用,比如预设的标准数值太大而导致比值小于1,或预设的标准数值太小而导致每个部分的a个视频片段的数量过多。
在上述任一技术方案中,优选地,所述一流媒体文件还被转码为具有不同码率的多个流媒体文件,且每个转码后的流媒体文件按照预设时间长度被切分为多个视频片段后,存储在所述多个服务器中,则所述数据传输单元104用于:按照预设码率,从所述多个服务器中下载所述一流媒体文件对应的视频片段。
在该技术方案中,通过将同一个流媒体文件转码为多个码率,并对每个码率的文件分别进行切分和存储至多个服务器,从而能够根据用户需求或带宽情况,实时地调整视频的码率,一方面,通过手动调整功能,为用户提供多样化的服务;另一方面,通过自动调整功能,避免高带宽下播放低码率文件而影响清晰度,或低带宽下播放高码率而影响流畅度,有助于提升用户体验。
在上述任一技术方案中,优选地,还包括:缓存计算单元110,用于获取所述客户端的缓存中的缓存数据量;码率调整单元112,用于在所述缓存数据量超出预设缓存数据范围的情况下,根据超出部分的差值和/或所述超出部分的变化率,对将要下载的视频片段的码率进行调整。
在该技术方案中,通过对客户端的缓存数据量的检测,自动对视频文件的码率进行调整,从而避免缓存数据量较低时播放低码率视频而影响清晰度,或缓存数据量较高时播放高码率视频而造成数据溢出,影响正常的视频播放。其中,当仅考虑超出部分的差值或超出部分的变化率时,有助于降低运算负担;当同时考虑两者时,有助于确保调整的准确性。
在上述任一技术方案中,优选地,所述码率调整单元112用于:当所述缓存数据量大于预设的缓存数值范围的上限阈值时,降低所述预设码率;以及当所述缓存数据量小于预设的缓存数值范围的下限阈值时,提高所述预设码率。
在该技术方案中,通过对码率的自动调整,使得既能够充分利用带宽资源,又能够确保缓存数据量的平缓,有助于提升用户的使用体验。
在上述任一技术方案中,优选地,所述数据传输单元104执行的第k次下载操作,对应于所述一流媒体文件的第k部分的视频片段,则所述码率调整单元112在所述数据传输单元104执行第k次下载操作时,按照下述公式计算对所述预设码率进行调整的调整量: &delta; ( v ( k ) ) = 1 T&alpha; ( n ) K p ( q ( block _ t k s ) - q 0 ) + 1 T&alpha; ( n ) K d q ( frag _ t n , k - 1 e ) - q ( block _ t k - 1 s ) frag _ t n , k - 1 e - block _ t k - 1 s , 其中,δ(ν(k))为所述调整量,α(n)为中间量,T为所述预设时间长度,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号,q(b)为所述客户端在b时刻的缓存数据量,为第k次下载操作的开始时刻,为第k-1次下载操作中的第n个视频片段下载完成的时刻,Kp和Kd分别为比例微分控制器的比例参数和微分参数;{xij}为预设矩阵,其中,当视频片段i对应于服务器j时,xij=1,否则xij=0。
在上述任一技术方案中,优选地,Kp和Kd满足: w c &GreaterEqual; 1 2 T TN + K d TN - K d In 20 TN TN + K d , K p = ( TN ) 2 - K d 2 w c , 0 < K d < TN , 其中,N为所述所有视频片段的总数量。
在上述任一技术方案中,优选地,所述数据传输单元104执行的第k次下载操作对应的视频片段的码率为:ν(k)=Q(ν'(k)), v &prime; ( k ) = v 0 + min ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) < q min v 0 + max ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) > q max v ( k - 1 ) , else , 其中,ν(k)为第k次下载操作对应的视频片段的码率,Q为量化函数,ν'(k)为第k次下载操作对应的视频片段在量化前的码率,为稳定时刻的码率,qmin为预设缓存数据范围的下限阈值,qmax为预设缓存数据范围的上限阈值,N为所述所有视频片段的总数量。
在上述任一技术方案中,优选地,所述量化函数包括:其中,V={ν12,…νL}为预设可选用的视频码率的集合,且ν12<…<νL
图2示出了根据本发明的实施例的基于多服务器的流媒体传输方法的示意流程图。
如图2所示,根据本发明的实施例的基于多服务器的流媒体传输方法,包括:
步骤202,将一流媒体文件按照预设时间长度切分为多个视频片段,在多个服务器中均存储得到的所有视频片段;
步骤204,客户端根据所述一流媒体文件对应的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致;
步骤206,向每个服务器请求对应的视频片段,并对下载完成的视频片段依次进行解码播放。
在该技术方案中,通过将流媒体文件切分为多个视频片段,则多个服务器可以同时下载多个视频片段,有助于提高下载速度,充分利用带宽资源。
通过对每个服务器与客户端之间的带宽情况,比如理论上的带宽数值、带宽占用情况、实际上的带宽数值等,就能够了解到多个服务器对视频片段的下载速度的比例关系,从而确定每个服务器所需下载的视频片段的数目,以便合理分配带宽资源。
在上述技术方案中,优选地,确定每个视频片段对应的服务器的过程包括:按照所述播放顺序依次选取每个视频片段,并通过遍历所述多个服务器,预估出最先下载完当前被选中的视频片段的服务器,以作为当前被选中的视频片段对应的服务器。
在该技术方案中,通过对每个服务器进行遍历,寻找出能够在按照播放顺序的情况下,最早完成对当前视频片段进行下载的服务器,从而在尽可能保证下载速度的同时,避免与播放顺序相冲突,从而确保播放过程的顺畅。
在上述任一技术方案中,优选地,利用下述公式通过遍历所述多个服务器,并预估出最先下载完当前被选中的视频片段的服务器:其中,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号;以及{xnj}为预设矩阵,其中,当视频片段n对应于服务器j时,xnj=1,否则xnj=0。
在上述任一技术方案中,优选地,还包括:根据所述客户端与所述多个服务器中的每个服务器之间的带宽情况,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量;根据所述数量确定本次需要下载的视频片段,并根据本次需要下载的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致。
在该技术方案中,通过对本次下载的视频数量的确定,比如一共a个视频片段,则相当于将整个流媒体文件分为多个包括a个视频片段的部分,将每个部分的a个视频片段作为一个整体,确保在需要调整码率时,可以直接对每个部分的视频片段的码率进行调整,降低多个服务器的不同步带来的影响。
通过带宽情况确定了每个服务器所需下载的视频片段的数量之后,通过进一步确定每个服务器具体需要下载的视频片段,即该视频片段在其所属部分的a个视频片段中的位置,从而确保这a个视频片段的下载完成顺序与相应的播放顺序一致,避免视频播放过程中出现卡顿。
在上述任一技术方案中,优选地,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量的过程包括:计算任一服务器与所述客户端之间的带宽数值与标准数值的比值,将小于或等于该比值的最大整数,或所述最大整数的预设倍数,作为所述任一服务器对应的视频片段的数量。
在该技术方案中,通过设置标准数值,从而根据每个服务器对应的带宽情况,便于快速确定对应的视频数量。其中,标准数值可以由用户根据情况设置,从而避免服务器带宽较小而使得带宽数值与标准数值的比值小于1。
同时,预设倍数可以为整数倍,从而使得上述的每个部分的a个视频片段的数量更多,适用于服务器带宽较大的情况;预设倍数也可以为小数倍,从而当最大整数较大时,控制每个部分的a个视频片段的数量,避免数量过多而增加策略的运算负担,甚至影响设备运行而造成卡顿、死机等情况。
在上述任一技术方案中,优选地,所述标准数值包括所述多个服务器与所述客户端之间的所有带宽数值中的最小带宽数值。
在该技术方案中,通过选择多个服务器中的最小带宽数值,使得每个服务器都能够顺序应用于对流媒体文件的下载过程中,从而充分利用网络资源,并且在有助于快速确定视频片段数量的同时,能够有效避免带宽波动而导致预设的标准数值不适用,比如预设的标准数值太大而导致比值小于1,或预设的标准数值太小而导致每个部分的a个视频片段的数量过多。
在上述任一技术方案中,优选地,还包括:将所述一流媒体文件转码为具有不同码率的多个流媒体文件,并将每个转码后的流媒体文件按照预设时间长度切分为多个视频片段,且存储在所述多个服务器中;所述客户端按照预设码率,从所述多个服务器中下载所述一流媒体文件对应的视频片段。
在该技术方案中,通过将同一个流媒体文件转码为多个码率,并对每个码率的文件分别进行切分和存储至多个服务器,从而能够根据用户需求或带宽情况,实时地调整视频的码率,一方面,通过手动调整功能,为用户提供多样化的服务;另一方面,通过自动调整功能,避免高带宽下播放低码率文件而影响清晰度,或低带宽下播放高码率而影响流畅度,有助于提升用户体验。
在上述任一技术方案中,优选地,还包括:获取所述客户端的缓存中的缓存数据量;当所述缓存数据量超出预设缓存数据范围时,根据超出部分的差值和/或所述超出部分的变化率,对将要下载的视频片段的预设码率进行调整。
在该技术方案中,通过对客户端的缓存数据量的检测,自动对视频文件的码率进行调整,从而避免缓存数据量较低时播放低码率视频而影响清晰度,或缓存数据量较高时播放高码率视频而造成数据溢出,影响正常的视频播放。其中,当仅考虑超出部分的差值或超出部分的变化率时,有助于降低运算负担;当同时考虑两者时,有助于确保调整的准确性。
在上述任一技术方案中,优选地,对所述预设码率进行调整的过程包括:当所述缓存数据量大于预设的缓存数值范围的上限阈值时,降低所述预设码率;以及当所述缓存数据量小于预设的缓存数值范围的下限阈值时,提高所述预设码率。
在该技术方案中,通过对码率的自动调整,使得既能够充分利用带宽资源,又能够确保缓存数据量的平缓,有助于提升用户的使用体验。
在上述任一技术方案中,优选地,所述客户端的第k次下载操作,对应于所述一流媒体文件的第k部分的视频片段,则在第k次下载操作时按照下述公式计算对所述预设码率进行调整的调整量: &delta; ( v ( k ) ) = 1 T&alpha; ( n ) K p ( q ( block _ t k s ) - q 0 ) + 1 T&alpha; ( n ) K d q ( frag _ t n , k - 1 e ) - q ( block _ t k - 1 s ) frag _ t n , k - 1 e - block _ t k - 1 s , 其中,δ(ν(k))为所述调整量,α(n)为中间量,T为所述预设时间长度,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号,q(b)为所述客户端在b时刻的缓存数据量,为第k次下载操作的开始时刻,为第k-1次下载操作中的第n个视频片段下载完成的时刻,Kp和Kd分别为比例微分控制器的比例参数和微分参数;{xij}为预设矩阵,其中,当视频片段i对应于服务器j时,xij=1,否则xij=0。
在上述任一技术方案中,优选地,Kp和Kd满足: w c &GreaterEqual; 1 2 T TN + K d TN - K d In 20 TN TN + K d , K p = ( TN ) 2 - K d 2 w c , 0 < K d < TN , 其中,N为所述所有视频片段的总数量。
在上述任一技术方案中,优选地,所述客户端的第k次下载操作对应的视频片段的码率为:ν(k)=Q(ν'(k)), v &prime; ( k ) = v 0 + min ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) < q min v 0 + max ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) > q max v ( k - 1 ) , else , 其中,ν(k)为第k次下载操作对应的视频片段的码率,Q为量化函数,ν'(k)为第k次下载操作对应的视频片段在量化前的码率,为稳定时刻的码率,qmin为预设缓存数据范围的下限阈值,qmax为预设缓存数据范围的上限阈值,N为所述所有视频片段的总数量。
在上述任一技术方案中,优选地,所述量化函数包括:其中,V={ν12,…νL}为预设可选用的视频码率的集合,且ν12<…<νL
图3示出了根据本发明的实施例的从多个服务器实现流媒体并行传输的示意流程图。
如图3所示,根据本发明的实施例的从多个服务器实现流媒体并行传输的过程包括:
步骤302,文件预处理。具体地,在服务器端,依据转码技术,将每一个视频文件转码成具有不同码率的多个视频文件,然后将每一个转码后的视频文件,进一步切分成一定时间长度的视频片段(fragment),并以文件的形式存储于每个服务器上。
其中,转码过程可以在任意的一个或多个服务器上完成;所有的视频文件切分后的视频片段,需要被存储在每个服务器中,以便实现并行下载。
步骤304,客户端向多个服务器发起对某个流媒体文件的下载请求,并通过下载相应的视频片段,以实现对该流媒体文件的下载。在具体的视频传输中,可以采用标准的HTTP/TCP协议。
步骤306,如图3所示的该步骤中,具体分为3个部分:调整block长度、调度视频片段和调整视频码率,下面分别进行详细地介绍。
1、调度视频片段
每个流媒体文件被分为很多小的视频片段,这些视频片段对应于具体的播放时间,因而具有固定的播放顺序;同时,由于多服务器的带宽具有异构性,如果直接按照视频片段的播放顺序来依次请求多个服务器下载,那么fragment下载的完成时间可能与播放顺序不一致,导致视频卡顿。因此,本发明提出了一种基于播放时间顺序的调度策略,从而保证片段下载的完成顺序与播放顺序相匹配。
1)首先,定义一个矩阵X={xnj}。
2)按照预设顺序(比如播放顺序等),假定第n个视频片段被分配至从第j个服务器执行下载,则相应的xnj=1,否则xnj=0。
3)针对每个视频片段,都对所有的服务器进行遍历,即依次假定第n个视频片段从第1个服务器执行下载、从第2个服务器执行下载……从第j个服务器执行下载……,并选择最先能将该fragment下载完的服务器作为目标服务器,具体的选择方式采用:假定第n个视频片段从第j个服务器执行下载时,满足:
j = arg min 1 &le; j &le; S ( 1 c j + &Sigma; t = 1 n - 1 x tj 1 c j ) ,
则确定使用第j个服务器实现对第n个视频片段的下载。
2、block长度的调整
(1)由于多个服务器的异构特性,使得如果仍以每个视频片段为单位来执行下载时,由于每个服务器开始执行和完成下载的时刻不一致,使得需要对视频片段的码率进行调整时,难以具体实施,很容易产生混乱。
因此,发明提出了在整个下载过程中,进一步将每个流媒体文件对应的所有视频片段分为多个部分,每个部分即一个block(块);将每个block作为一个整体,对应于一次下载操作,则通过多个block对应的多次下载操作,即可完成整个下载过程。
在本发明中,通过将一个block定义为连续多个的视频片段(fragment)的集合,以每个block为一个整体进行调度,从而码率的调整也可以block为单位,也即在同一个block中的fragment具有相同的视频码率。Block的长度定义为该block包含的fragment的数量。
具体的block的长度,可以根据实际情况进行动态调整,过程如下:
假设有S个服务器,每个服务器的带宽为ci,并且对于任意的i<j满足ci>cj,从不同的服务器请求的fragment的数量正比于服务器的带宽。假设从第i个服务器请求下载的fragment的数来那个为Ni,block的长度为N,那么N=∑Ni
在本发明中,每次从带宽最小的服务器请求一个fragment,也即NS=1,那么其中,i<S。
(2)基于block的设置,使得上述的视频片段的调度策略也可以基于每个block来执行,具体过程如下:
1)首先,定义一个矩阵X={xnj}。
2)按照当前block中的所有视频片段的预设顺序(比如播放顺序等),假定第n个视频片段被分配至从第j个服务器执行下载,则相应的xnj=1,否则xnj=0。
3)针对每个视频片段,都对所有的服务器进行遍历,即依次假定第n个视频片段从第1个服务器执行下载、从第2个服务器执行下载……从第j个服务器执行下载……,并选择最先能将该fragment下载完的服务器作为目标服务器,具体的选择方式采用:假定第n个视频片段从第j个服务器执行下载时,满足:
j = arg min 1 &le; j &le; S ( 1 c j + &Sigma; t = 1 n - 1 x tj 1 c j ) ,
则确定使用第j个服务器实现对第n个视频片段的下载。
3、码率调整
本发明利用服务器的带宽、客户端buffer(缓存)的缓冲数据量为反馈信号,利用控制论作为理论基础,提出了一种基于控制论的码率调整算法,用于决定每个block的码率。
1)首先,定义客户端的buffer的缓冲数据量的阈值,上限阈值为qmin,下限阈值为qmax。如下是一些重要参数的定义:
:第k个block开始下载的时刻;
:第k个block下载完成的时刻;
:第k个block的第n个fragment开始下载的时刻;
:第k个block的第n个fragment下载完成的时刻;
T:每个视频片段(fragment)的播放时间;
V={v1,v2,...,vL}:预设的可选用视频码率的集合,满足v1<v2<...<vL
v(k):第k个block的视频码率;
Q(x):量化函数,可以定义为:
2)利用本发明的方法,第k个block的码率为ν(k)=Q(ν'(k)),v'(k)是第k个block量化之前的码率:
v &prime; ( k ) = v 0 + min ( &delta; ( v ( k ) ) ) if q ( block _ t k s ) < q min v 0 + max ( &delta; ( v ( k ) ) ) if q ( block _ t k s ) > q max v ( k - 1 ) else ,
其中,是稳定时候的码率,N为第k个block中的所有视频片段的总数量,δ(v(k))是第k个block的码率的调整量,定义为:
&delta; ( v ( k ) ) = 1 T&alpha; ( n ) K p ( q ( block _ t k s ) - q 0 ) + 1 T&alpha; ( n ) K d q ( frag _ t n , k - 1 e ) - q ( block _ t k - 1 s ) frag _ t n , k - 1 e - block _ t k - 1 s ,
其中,Kp和Kd是比例微分控制器的比例参数和微分参数,满足:
w c &GreaterEqual; 1 2 T TN + K d TN - K d In 20 TN TN + K d , K p = ( TN ) 2 - K d 2 w c ,
0<Kd<TN。
步骤308,客户端依次解码下载完成的视频片段,并进行播放。由于下载完成顺序和播放顺序相一致,使得不会由于顺序问题而导致卡顿,有助于提升用户的使用体验。
以上结合附图详细说明了本发明的技术方案,本发明提出了一种基于多服务器的流媒体传输装置和一种基于多服务器的流媒体传输方法,可以在基于多服务器的流媒体文件传输过程中,使得视频片段的下载完成顺序与播放顺序一致,避免卡顿等现象的发生,有助于提升用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (24)

1.一种基于多服务器的流媒体传输装置,其特征在于,包括:
调度配置单元,在所述流媒体传输装置需要下载一流媒体文件时,根据所述一流媒体文件对应的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致,其中,所述一流媒体文件被按照预设时间长度切分为多个视频片段,且所述多个服务器中均存储有得到的所有视频片段;
数据传输单元,向每个服务器请求对应的视频片段,并下载对应的视频片段;
视频播放单元,对下载完成的视频片段依次进行解码播放。
2.根据权利要求1所述的流媒体传输装置,其特征在于,所述调度配置单元用于:
按照所述播放顺序依次选取每个视频片段,并通过遍历所述多个服务器,预估出最先下载完当前被选中的视频片段的服务器,以作为当前被选中的视频片段对应的服务器。
3.根据权利要求2所述的流媒体传输装置,其特征在于,所述调度配置单元利用下述公式通过遍历所述多个服务器,并预估出最先下载完当前被选中的视频片段的服务器:
j = arg min 1 &le; j &le; S ( 1 c j + &Sigma; t = 1 n - 1 x tj 1 c j ) ,
其中,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号;以及
{xnj}为预设矩阵,其中,当视频片段n对应于服务器j时,xnj=1,否则xnj=0。
4.根据权利要求1所述的流媒体传输装置,其特征在于,还包括:
信息确定单元,用于根据所述客户端与所述多个服务器中的每个服务器之间的带宽情况,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量;
其中,所述调度配置单元根据所述数量确定本次需要下载的视频片段,并根据本次需要下载的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致。
5.根据权利要求4所述的流媒体传输装置,其特征在于,所述信息确定单元用于:
计算任一服务器与所述客户端之间的带宽数值与标准数值的比值,将小于或等于该比值的最大整数,或所述最大整数的预设倍数,作为所述任一服务器对应的视频片段的数量。
6.根据权利要求5所述的流媒体传输装置,其特征在于,所述标准数值包括所述多个服务器与所述客户端之间的所有带宽数值中的最小带宽数值。
7.根据权利要求1至6中任一项所述的流媒体传输装置,其特征在于,所述一流媒体文件还被转码为具有不同码率的多个流媒体文件,且每个转码后的流媒体文件按照预设时间长度被切分为多个视频片段后,存储在所述多个服务器中,则所述数据传输单元用于:
按照预设码率,从所述多个服务器中下载所述一流媒体文件对应的视频片段。
8.根据权利要求7所述的流媒体传输装置,其特征在于,还包括:
缓存计算单元,用于获取所述客户端的缓存中的缓存数据量;
码率调整单元,用于在所述缓存数据量超出预设缓存数据范围的情况下,根据超出部分的差值和/或所述超出部分的变化率,对将要下载的视频片段的码率进行调整。
9.根据权利要求8所述的流媒体传输装置,其特征在于,所述码率调整单元用于:
当所述缓存数据量大于预设的缓存数值范围的上限阈值时,降低所述预设码率;以及
当所述缓存数据量小于预设的缓存数值范围的下限阈值时,提高所述预设码率。
10.根据权利要求8所述的流媒体传输装置,其特征在于,所述数据传输单元执行的第k次下载操作,对应于所述一流媒体文件的第k部分的视频片段,则所述码率调整单元在所述数据传输单元执行第k次下载操作时,按照下述公式计算对所述预设码率进行调整的调整量:
&alpha; ( n ) = &Sigma; j = 1 S ( x nj &Sigma; i = 1 n x ij ) &Sigma; j = 1 S x nj c j ,
&delta; ( v ( k ) ) = 1 T&alpha; ( n ) K p ( q ( block _ t k s ) - q 0 ) + 1 T&alpha; ( n ) K d q ( frag _ t n , k - 1 e ) - q ( block _ t k - 1 s ) frag _ t n , k - 1 e - block _ t k - 1 s ,
其中,δ(ν(k))为所述调整量,α(n)为中间量,T为所述预设时间长度,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号,q(b)为所述客户端在b时刻的缓存数据量,为第k次下载操作的开始时刻,为第k-1次下载操作中的第n个视频片段下载完成的时刻,Kp和Kd分别为比例微分控制器的比例参数和微分参数;
{xij}为预设矩阵,其中,当视频片段i对应于服务器j时,xij=1,否则xij=0。
11.根据权利要求10所述的流媒体传输装置,其特征在于,所述数据传输单元执行的第k次下载操作对应的视频片段的码率为:
ν(k)=Q(ν'(k)),
v &prime; ( k ) = v 0 + min ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) < q min v 0 + max ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) > q max v ( k - 1 ) , else ,
其中,ν(k)为第k次下载操作对应的视频片段的码率,Q为量化函数,ν'(k)为第k次下载操作对应的视频片段在量化前的码率,为稳定时刻的码率,qmin为预设缓存数据范围的下限阈值,qmax为预设缓存数据范围的上限阈值,N为所述所有视频片段的总数量。
12.一种基于多服务器的流媒体传输方法,其特征在于,包括:
将一流媒体文件按照预设时间长度切分为多个视频片段,在多个服务器中均存储得到的所有视频片段;
客户端根据所述一流媒体文件对应的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致;
向每个服务器请求对应的视频片段,并对下载完成的视频片段依次进行解码播放。
13.根据权利要求12所述的流媒体传输方法,其特征在于,确定每个视频片段对应的服务器的过程包括:
按照所述播放顺序依次选取每个视频片段,并通过遍历所述多个服务器,预估出最先下载完当前被选中的视频片段的服务器,以作为当前被选中的视频片段对应的服务器。
14.根据权利要求13所述的流媒体传输方法,其特征在于,利用下述公式通过遍历所述多个服务器,并预估出最先下载完当前被选中的视频片段的服务器:
j = arg min 1 &le; j &le; S ( 1 c j + &Sigma; t = 1 n - 1 x tj 1 c j ) ,
其中,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号;以及
{xnj}为预设矩阵,其中,当视频片段n对应于服务器j时,xnj=1,否则xnj=0。
15.根据权利要求12所述的流媒体传输方法,其特征在于,还包括:
根据所述客户端与所述多个服务器中的每个服务器之间的带宽情况,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量;
根据所述数量确定本次需要下载的视频片段,并根据本次需要下载的视频片段之间的播放顺序,确定每个视频片段对应的下载服务器,以确保所有的服务器进行并行下载时,每个视频片段的下载完成顺序与对应的播放顺序一致。
16.根据权利要求15所述的流媒体传输方法,其特征在于,确定本次下载操作需要向每个服务器分别请求下载的视频片段的数量的过程包括:
计算任一服务器与所述客户端之间的带宽数值与标准数值的比值,将小于或等于该比值的最大整数,或所述最大整数的预设倍数,作为所述任一服务器对应的视频片段的数量。
17.根据权利要求16所述的流媒体传输方法,其特征在于,所述标准数值包括所述多个服务器与所述客户端之间的所有带宽数值中的最小带宽数值。
18.根据权利要求12至17中任一项所述的流媒体传输方法,其特征在于,还包括:
将所述一流媒体文件转码为具有不同码率的多个流媒体文件,并将每个转码后的流媒体文件按照预设时间长度切分为多个视频片段,且存储在所述多个服务器中;
所述客户端按照预设码率,从所述多个服务器中下载所述一流媒体文件对应的视频片段。
19.根据权利要求18所述的流媒体传输方法,其特征在于,还包括:
获取所述客户端的缓存中的缓存数据量;
当所述缓存数据量超出预设缓存数据范围时,根据超出部分的差值和/或所述超出部分的变化率,对将要下载的视频片段的码率进行调整。
20.根据权利要求19所述的流媒体传输方法,其特征在于,对所述预设码率进行调整的过程包括:
当所述缓存数据量大于预设的缓存数值范围的上限阈值时,降低所述预设码率;以及
当所述缓存数据量小于预设的缓存数值范围的下限阈值时,提高所述预设码率。
21.根据权利要求19所述的流媒体传输方法,其特征在于,所述客户端的第k次下载操作,对应于所述一流媒体文件的第k部分的视频片段,则在第k次下载操作时按照下述公式计算对所述预设码率进行调整的调整量:
&alpha; ( n ) = &Sigma; j = 1 S ( x nj &Sigma; i = 1 n x ij ) &Sigma; j = 1 S x nj c j ,
&delta; ( v ( k ) ) = 1 T&alpha; ( n ) K p ( q ( block _ t k s ) - q 0 ) + 1 T&alpha; ( n ) K d q ( frag _ t n , k - 1 e ) - q ( block _ t k - 1 s ) frag _ t n , k - 1 e - block _ t k - 1 s ,
其中,δ(ν(k))为所述调整量,α(n)为中间量,T为所述预设时间长度,j为将该服务器对应的顺序编号,S为所有的服务器的总数量,cj为该服务器的带宽数值,n为当前被选中的视频片段在所述所有视频片段中对应的播放顺序编号,q(b)为所述客户端在b时刻的缓存数据量,为第k次下载操作的开始时刻,为第k-1次下载操作中的第n个视频片段下载完成的时刻,Kp和Kd分别为比例微分控制器的比例参数和微分参数;
{xij}为预设矩阵,其中,当视频片段i对应于服务器j时,xij=1,否则xij=0。
22.根据权利要求21所述的流媒体传输方法,其特征在于,Kp和Kd满足:
w c &GreaterEqual; 1 2 T TN + K d TN - K d In 20 TN TN + K d ,
K p = ( TN ) 2 - K d 2 w c ,
0<Kd<TN,
其中,N为所述所有视频片段的总数量。
23.根据权利要求21所述的流媒体传输方法,其特征在于,所述客户端的第k次下载操作对应的视频片段的码率为:
ν(k)=Q(ν'(k)),
v &prime; ( k ) = v 0 + min ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) < q min v 0 + max ( &delta; ( v ( k ) ) ) , if q ( block _ t k s ) > q max v ( k - 1 ) , else ,
其中,ν(k)为第k次下载操作对应的视频片段的码率,Q为量化函数,ν'(k)为第k次下载操作对应的视频片段在量化前的码率,为稳定时刻的码率,qmin为预设缓存数据范围的下限阈值,qmax为预设缓存数据范围的上限阈值,N为所述所有视频片段的总数量。
24.根据权利要求23所述的流媒体传输方法,其特征在于,所述量化函数包括:
Q ( g ) = arg max v v &Element; V , v &le; g ,
其中,V={ν12,…νL}为预设可选用的视频码率的集合,且ν12<…<νL
CN201310472706.3A 2013-10-11 2013-10-11 基于多服务器的流媒体传输装置和流媒体传输方法 Expired - Fee Related CN104580067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310472706.3A CN104580067B (zh) 2013-10-11 2013-10-11 基于多服务器的流媒体传输装置和流媒体传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310472706.3A CN104580067B (zh) 2013-10-11 2013-10-11 基于多服务器的流媒体传输装置和流媒体传输方法

Publications (2)

Publication Number Publication Date
CN104580067A true CN104580067A (zh) 2015-04-29
CN104580067B CN104580067B (zh) 2017-12-12

Family

ID=53095274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310472706.3A Expired - Fee Related CN104580067B (zh) 2013-10-11 2013-10-11 基于多服务器的流媒体传输装置和流媒体传输方法

Country Status (1)

Country Link
CN (1) CN104580067B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105142035A (zh) * 2015-09-14 2015-12-09 桂林电子科技大学 一种视频流切片转发系统及方法
CN106331717A (zh) * 2015-06-30 2017-01-11 成都鼎桥通信技术有限公司 视频码率自适应调整方法及发送端设备
CN107135411A (zh) * 2016-02-26 2017-09-05 掌赢信息科技(上海)有限公司 一种调整视频码率的方法及电子设备
CN107295404A (zh) * 2016-04-05 2017-10-24 北京优朋普乐科技有限公司 一种视频数据下载方法及装置
CN107547909A (zh) * 2016-06-24 2018-01-05 腾讯科技(深圳)有限公司 媒体文件在线播放控制方法、装置和系统
CN108566370A (zh) * 2018-02-11 2018-09-21 北京奇艺世纪科技有限公司 一种数据回源的方法以及装置
CN108833995A (zh) * 2018-06-08 2018-11-16 西安交通大学 一种无线网络环境中自适应流媒体的传输方法
CN108989326A (zh) * 2018-08-06 2018-12-11 上海艾策通讯科技股份有限公司 一种对比网络传输ts流媒体一致性的方法
CN110099088A (zh) * 2018-01-31 2019-08-06 国广融合(北京)传媒科技发展有限公司 一种基于融合传输系统的自适应数据传输方法
CN110121080A (zh) * 2018-02-05 2019-08-13 北京大学 虚拟现实视频传输和下载播放的方法、系统及计算机设备
CN110417735A (zh) * 2019-06-24 2019-11-05 特斯联(北京)科技有限公司 一种智慧城市流媒体管理网络及其方法
CN110730376A (zh) * 2019-10-24 2020-01-24 上海二三四五网络科技有限公司 一种通过接口代理实现视频预加载的控制方法及装置
CN110807128A (zh) * 2019-10-25 2020-02-18 北京达佳互联信息技术有限公司 视频的预加载方法、装置、设备和存储介质
CN110881136A (zh) * 2019-11-14 2020-03-13 腾讯科技(深圳)有限公司 视频帧率控制方法、装置、计算机设备及存储介质
CN113709209A (zh) * 2021-07-30 2021-11-26 济南浪潮数据技术有限公司 一种服务器软件下载方法、系统及计算机可读存储介质
CN113709585A (zh) * 2021-08-25 2021-11-26 三星电子(中国)研发中心 流媒体播放方法和装置
CN114679438A (zh) * 2022-03-03 2022-06-28 上海艾策通讯科技股份有限公司 流媒体数据传输方法、装置、计算机设备和存储介质
WO2023193126A1 (en) * 2022-04-05 2023-10-12 Citrix Systems, Inc. Enhanced video conferencing based on speech detection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145921A (zh) * 2006-09-11 2008-03-19 千兆科技(深圳)有限公司 互联网高清视频广告系统及其实现方法
CN101588319A (zh) * 2008-05-21 2009-11-25 闪联信息技术工程中心有限公司 多媒体文件的下载方法、播放方法、系统及设备
EP2254120A1 (en) * 2009-05-20 2010-11-24 Sony DADC Austria AG Method for copy protection
US20100312828A1 (en) * 2009-06-03 2010-12-09 Mobixell Networks Ltd. Server-controlled download of streaming media files

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145921A (zh) * 2006-09-11 2008-03-19 千兆科技(深圳)有限公司 互联网高清视频广告系统及其实现方法
CN101588319A (zh) * 2008-05-21 2009-11-25 闪联信息技术工程中心有限公司 多媒体文件的下载方法、播放方法、系统及设备
EP2254120A1 (en) * 2009-05-20 2010-11-24 Sony DADC Austria AG Method for copy protection
US20100312828A1 (en) * 2009-06-03 2010-12-09 Mobixell Networks Ltd. Server-controlled download of streaming media files

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331717A (zh) * 2015-06-30 2017-01-11 成都鼎桥通信技术有限公司 视频码率自适应调整方法及发送端设备
CN106331717B (zh) * 2015-06-30 2019-05-07 成都鼎桥通信技术有限公司 视频码率自适应调整方法及发送端设备
CN105142035B (zh) * 2015-09-14 2018-07-24 桂林电子科技大学 一种视频流切片转发系统及方法
CN105142035A (zh) * 2015-09-14 2015-12-09 桂林电子科技大学 一种视频流切片转发系统及方法
CN107135411A (zh) * 2016-02-26 2017-09-05 掌赢信息科技(上海)有限公司 一种调整视频码率的方法及电子设备
CN107295404A (zh) * 2016-04-05 2017-10-24 北京优朋普乐科技有限公司 一种视频数据下载方法及装置
CN107547909A (zh) * 2016-06-24 2018-01-05 腾讯科技(深圳)有限公司 媒体文件在线播放控制方法、装置和系统
CN107547909B (zh) * 2016-06-24 2020-05-29 腾讯科技(深圳)有限公司 媒体文件在线播放控制方法、装置和系统
CN110099088A (zh) * 2018-01-31 2019-08-06 国广融合(北京)传媒科技发展有限公司 一种基于融合传输系统的自适应数据传输方法
CN110099088B (zh) * 2018-01-31 2022-03-08 国广融合(北京)传媒科技发展有限公司 一种基于融合传输系统的自适应数据传输方法
CN110121080A (zh) * 2018-02-05 2019-08-13 北京大学 虚拟现实视频传输和下载播放的方法、系统及计算机设备
CN108566370A (zh) * 2018-02-11 2018-09-21 北京奇艺世纪科技有限公司 一种数据回源的方法以及装置
CN108566370B (zh) * 2018-02-11 2022-07-12 北京奇艺世纪科技有限公司 一种数据回源的方法以及装置
CN108833995A (zh) * 2018-06-08 2018-11-16 西安交通大学 一种无线网络环境中自适应流媒体的传输方法
CN108989326A (zh) * 2018-08-06 2018-12-11 上海艾策通讯科技股份有限公司 一种对比网络传输ts流媒体一致性的方法
CN110417735B (zh) * 2019-06-24 2020-09-11 特斯联(北京)科技有限公司 一种智慧城市流媒体管理网络及其方法
CN110417735A (zh) * 2019-06-24 2019-11-05 特斯联(北京)科技有限公司 一种智慧城市流媒体管理网络及其方法
CN110730376A (zh) * 2019-10-24 2020-01-24 上海二三四五网络科技有限公司 一种通过接口代理实现视频预加载的控制方法及装置
CN110807128A (zh) * 2019-10-25 2020-02-18 北京达佳互联信息技术有限公司 视频的预加载方法、装置、设备和存储介质
CN110807128B (zh) * 2019-10-25 2022-09-09 北京达佳互联信息技术有限公司 视频的预加载方法、装置、设备和存储介质
CN110881136B (zh) * 2019-11-14 2021-11-02 腾讯科技(深圳)有限公司 视频帧率控制方法、装置、计算机设备及存储介质
CN110881136A (zh) * 2019-11-14 2020-03-13 腾讯科技(深圳)有限公司 视频帧率控制方法、装置、计算机设备及存储介质
CN113709209A (zh) * 2021-07-30 2021-11-26 济南浪潮数据技术有限公司 一种服务器软件下载方法、系统及计算机可读存储介质
CN113709585A (zh) * 2021-08-25 2021-11-26 三星电子(中国)研发中心 流媒体播放方法和装置
CN113709585B (zh) * 2021-08-25 2023-09-19 三星电子(中国)研发中心 流媒体播放方法和装置
CN114679438A (zh) * 2022-03-03 2022-06-28 上海艾策通讯科技股份有限公司 流媒体数据传输方法、装置、计算机设备和存储介质
CN114679438B (zh) * 2022-03-03 2024-04-30 上海艾策通讯科技股份有限公司 流媒体数据传输方法、装置、计算机设备和存储介质
WO2023193126A1 (en) * 2022-04-05 2023-10-12 Citrix Systems, Inc. Enhanced video conferencing based on speech detection

Also Published As

Publication number Publication date
CN104580067B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN104580067A (zh) 基于多服务器的流媒体传输装置和流媒体传输方法
US20230209049A1 (en) Systems and Methods for Encoding Alternative Streams of Video for Use in Adaptive Bitrate Streaming
JP6099742B2 (ja) コンテンツのペーシング
US20170026713A1 (en) System and Method for Dynamic Adaptive Video Streaming Using Model Predictive Control
CN109302623B (zh) 一种基于QoE模型动态自适应视频的传输方法
US8205004B1 (en) Multi-bit-rate streaming delivery
US9060189B2 (en) Multiplexed video streaming
CN104205768A (zh) 利用下载速率估计器的改善的dash客户端和接收机
US20130007200A1 (en) Systems and methods for determining available bandwidth and performing initial stream selection when commencing streaming using hypertext transfer protocol
EP3563575B1 (en) Transmission parameter control for segment delivery
US20150244636A1 (en) Method and system for rate adaption of http stream media
CN104918120B (zh) 一种播放进度调节方法及电子设备
EP3944627A1 (en) Generating a playlist based on a data generation attribute
WO2015134097A1 (en) Use of an anticipated travel duration as a basis to generate a playlist
AU2019272529B2 (en) Techniques for evaluating a video rate selection algorithm over a completed streaming session
WO2015178966A1 (en) Use of a remainder duration as a basis to generate a playlist
WO2016124354A1 (en) A mix instructions file for controlling a music mix, a computer program product and a computer device
JP5804060B2 (ja) パラメータ推定装置、パラメータ推定方法、及び、パラメータ推定プログラム
US20230409347A1 (en) Accelerated application start using estimated play duration
JP6099715B2 (ja) ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム
TW200939777A (en) Automatic digital content migration system for theaters
WO2021197832A1 (en) Low latency content delivery
JP6501691B2 (ja) コンテンツ配信システムのクライアント装置、コンテンツの再生開始タイミングを判定する方法及びプログラム
CN101136234B (zh) 用以估计音频文件的音频长度的方法及装置
KR101865627B1 (ko) 멀티미디어 컨텐츠의 운영을 위한 원격 툴을 제공하는 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220615

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee after: Peking University

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee before: Peking University

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230413

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee after: Peking University

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee before: Peking University

Patentee before: New founder holdings development Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171212