CN113141524B - 资源传输方法、装置、终端及存储介质 - Google Patents

资源传输方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN113141524B
CN113141524B CN202010054781.8A CN202010054781A CN113141524B CN 113141524 B CN113141524 B CN 113141524B CN 202010054781 A CN202010054781 A CN 202010054781A CN 113141524 B CN113141524 B CN 113141524B
Authority
CN
China
Prior art keywords
code rate
multimedia resource
resource
target
media
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.)
Active
Application number
CN202010054781.8A
Other languages
English (en)
Other versions
CN113141524A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010054781.8A priority Critical patent/CN113141524B/zh
Priority to EP20914247.0A priority patent/EP3930335A4/en
Priority to PCT/CN2020/131840 priority patent/WO2021143362A1/zh
Publication of CN113141524A publication Critical patent/CN113141524A/zh
Priority to US17/473,189 priority patent/US11528311B2/en
Application granted granted Critical
Publication of CN113141524B publication Critical patent/CN113141524B/zh
Active 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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • 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
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开关于一种资源传输方法、装置、终端及存储介质,属于通信技术领域。本公开通过基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息,该媒体描述文件用于提供多种码率的该多媒体资源的地址信息,从而向服务器发送携带该目标地址信息的帧获取请求,该帧获取请求用于指示该服务器以该目标码率返回该多媒体资源的媒体帧,无需对多媒体资源进行分片传输,能够达到帧级别的媒体流传输,大大降低了资源传输过程的延时,提升了资源传输的实时性。

Description

资源传输方法、装置、终端及存储介质
技术领域
本公开涉及通信技术领域,特别涉及一种资源传输方法、装置、终端及存储介质。
背景技术
随着通信技术的发展,用户可以随时随地在终端上浏览音视频资源,目前,在服务器向终端传输音视频资源(俗称为“拉流阶段”)时,可以采用基于分片的媒体传输方式。
基于分片的媒体传输方式包括常见的DASH(Dynamic Adaptive Streaming overHTTP,MPEG制定的基于HTTP的自适应流媒体传输标准,其中,MPEG的英文全称为MovingPicture Experts Group,中文全称为动态图像专家组)、HLS(HTTP Live Streaming,苹果公司制定的基于HTTP的自适应流媒体传输标准)等,服务器将音视频资源切分成一段一段的音视频片段,每个音视频片段都可以转码成不同的码率,终端在播放音视频资源时,分别访问音视频资源所切分成的各个音视频片段的网址,不同的音视频片段之间可以对应于相同或不同的码率,使得终端能够方便地在不同码率的音视频资源中进行切换,这种过程也称为基于终端自身带宽情况自适应调整码率。
在上述过程中,由于以音视频片段为单位进行资源传输,导致服务器总是需要等待一个完整的音视频片段到达之后,才能将整个音视频片段传输到终端,从而基于分片的媒体传输方式的延时高,也即是说,资源传输过程的延时高、实时性差。
发明内容
本公开提供一种资源传输方法、装置、终端及存储介质,以至少解决相关技术中资源传输过程的延时高、实时性差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种资源传输方法,包括:
基于多媒体资源的媒体描述文件,确定目标码率的所述多媒体资源的目标地址信息,所述媒体描述文件用于提供多种码率的所述多媒体资源的地址信息;
向服务器发送携带所述目标地址信息的帧获取请求,所述帧获取请求用于指示所述服务器以所述目标码率返回所述多媒体资源的媒体帧。
在一种可能实施方式中,所述基于多媒体资源的媒体描述文件,确定目标码率的所述多媒体资源的目标地址信息包括:
确定所述目标码率;
从所述媒体描述文件包括的多种码率的所述多媒体资源的地址信息中,获取所述目标地址信息。
在一种可能实施方式中,所述确定所述目标码率包括:
响应于码率选择指令,将所述码率选择指令所携带的数值确定为所述目标码率;或,
将所述目标码率调整为与当前的网络带宽信息对应的码率。
在一种可能实施方式中,所述向服务器发送携带所述目标地址信息的帧获取请求之后,所述方法还包括:
响应于码率切换指令,确定待切换码率;
从所述媒体描述文件包括的多种码率的所述多媒体资源的地址信息中,获取所述待切换码率的所述多媒体资源的待切换地址信息;
向所述服务器发送携带所述待切换地址信息的帧获取请求。
在一种可能实施方式中,所述帧获取请求还包括第一扩展参数或者第二扩展参数中至少一项,所述第一扩展参数用于表示所述媒体帧是否为音频帧,所述第二扩展参数用于表示从所述第二扩展参数所指示的目标时间戳开始传输所述多媒体资源的媒体帧。
在一种可能实施方式中,若所述第二扩展参数大于零,所述目标时间戳大于当前时刻;
若所述第二扩展参数等于零,所述目标时间戳为距离当前时刻最接近的关键帧或音频帧的时间戳;
若所述第二扩展参数小于零,所述目标时间戳小于当前时刻,且所述媒体帧包括从所述目标时间戳开始已缓存的媒体帧。
在一种可能实施方式中,所述媒体描述文件包括版本号和媒体描述集合,其中,所述版本号包括所述媒体描述文件的版本号或者资源传输标准的版本号中至少一项,所述媒体描述集合包括多个媒体描述元信息,每个媒体描述元信息对应于一种码率的多媒体资源,每个媒体描述元信息包括所述媒体描述元信息所对应码率的多媒体资源的画面组长度以及属性信息。
在一种可能实施方式中,每个属性信息包括多媒体资源的标识信息、多媒体资源的编码方式、多媒体资源所支持的码率以及所述码率的多媒体资源的地址信息。
在一种可能实施方式中,每个属性信息还包括多媒体资源的质量类型、多媒体资源的隐藏选项、第一自适应功能选项或者默认播放功能选项中至少一项,其中,所述第一自适应功能选项用于表示多媒体资源是否相对于自适应功能可见。
在一种可能实施方式中,所述媒体描述文件还包括服务类型、第二自适应功能选项或者第三自适应功能选项中至少一项,其中,所述服务类型包括直播或者点播中至少一项,所述第二自适应功能选项用于表示是否打开自适应功能,所述第三自适应功能选项用于表示是否在开始播放时默认打开自适应功能。
根据本公开实施例的第二方面,提供一种资源传输装置,包括:
确定单元,被配置为执行基于多媒体资源的媒体描述文件,确定目标码率的所述多媒体资源的目标地址信息,所述媒体描述文件用于提供多种码率的所述多媒体资源的地址信息;
发送单元,被配置为执行向服务器发送携带所述目标地址信息的帧获取请求,所述帧获取请求用于指示所述服务器以所述目标码率返回所述多媒体资源的媒体帧。
在一种可能实施方式中,所述确定单元包括:
确定子单元,被配置为执行确定所述目标码率;
获取子单元,被配置为执行从所述媒体描述文件包括的多种码率的所述多媒体资源的地址信息中,获取所述目标地址信息。
在一种可能实施方式中,所述确定子单元被配置为执行:
响应于码率选择指令,将所述码率选择指令所携带的数值确定为所述目标码率;或,
将所述目标码率调整为与当前的网络带宽信息对应的码率。
在一种可能实施方式中,所述确定单元还被配置为执行:响应于码率切换指令,确定待切换码率;从所述媒体描述文件包括的多种码率的所述多媒体资源的地址信息中,获取所述待切换码率的所述多媒体资源的待切换地址信息;
所述发送单元还被配置为执行:向所述服务器发送携带所述待切换地址信息的帧获取请求。
在一种可能实施方式中,所述帧获取请求还包括第一扩展参数或者第二扩展参数中至少一项,所述第一扩展参数用于表示所述媒体帧是否为音频帧,所述第二扩展参数用于表示从所述第二扩展参数所指示的目标时间戳开始传输所述多媒体资源的媒体帧。
在一种可能实施方式中,若所述第二扩展参数大于零,所述目标时间戳大于当前时刻;
若所述第二扩展参数等于零,所述目标时间戳为距离当前时刻最接近的关键帧或音频帧的时间戳;
若所述第二扩展参数小于零,所述目标时间戳小于当前时刻,且所述媒体帧包括从所述目标时间戳开始已缓存的媒体帧。
在一种可能实施方式中,所述媒体描述文件包括版本号和媒体描述集合,其中,所述版本号包括所述媒体描述文件的版本号或者资源传输标准的版本号中至少一项,所述媒体描述集合包括多个媒体描述元信息,每个媒体描述元信息对应于一种码率的多媒体资源,每个媒体描述元信息包括所述媒体描述元信息所对应码率的多媒体资源的画面组长度以及属性信息。
在一种可能实施方式中,每个属性信息包括多媒体资源的标识信息、多媒体资源的编码方式、多媒体资源所支持的码率以及所述码率的多媒体资源的地址信息。
在一种可能实施方式中,每个属性信息还包括多媒体资源的质量类型、多媒体资源的隐藏选项、第一自适应功能选项或者默认播放功能选项中至少一项,其中,所述第一自适应功能选项用于表示多媒体资源是否相对于自适应功能可见。
在一种可能实施方式中,所述媒体描述文件还包括服务类型、第二自适应功能选项或者第三自适应功能选项中至少一项,其中,所述服务类型包括直播或者点播中至少一项,所述第二自适应功能选项用于表示是否打开自适应功能,所述第三自适应功能选项用于表示是否在开始播放时默认打开自适应功能。
根据本公开实施例的第三方面,提供一种终端,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行上述第一方面以及第一方面的可能实施方式中任一项的资源传输方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的至少一条指令由终端的一个或多个处理器执行时,使得终端能够执行上述第一方面以及第一方面的可能实施方式中任一项的资源传输方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括一条或多条指令,所述一条或多条指令可以由终端的一个或多个处理器执行,使得终端能够执行上述第一方面以及第一方面的可能实施方式中任一项的资源传输方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息,该媒体描述文件用于提供多种码率的该多媒体资源的地址信息,从而向服务器发送携带该目标地址信息的帧获取请求,该帧获取请求用于指示该服务器以该目标码率返回该多媒体资源的媒体帧,无需对多媒体资源进行分片传输,也就不必在等待一个完整的资源片段到达之后才进行资源传输,从而可以达到帧级别的媒体流传输,大大降低了资源传输过程的延时,提升了资源传输的实时性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种资源传输方法的实施环境示意图;
图2是本公开实施例提供的一种FAS框架的原理性示意图;
图3是根据一示例性实施例示出的一种资源传输方法的流程图;
图4是根据一示例性实施例示出的一种资源传输方法的交互流程图;
图5是根据一示例性实施例示出的一种资源传输装置的逻辑结构框图;
图6示出了本公开一个示例性实施例提供的终端600的结构框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
以下,对本公开所涉及的术语进行解释。
一、FLV(Flash Video)
FLV是一种流媒体格式,FLV流媒体格式是随着Flash MX(一种动画制作软件)的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件(也即在线浏览视频)成为可能,它的出现有效地解决了视频文件导入Flash后导出的SWF(一种Flash的专用文件格式)文件体积庞大,以致不能在网络上很好的使用等问题。
二、流媒体(Streaming Media)
流媒体采用流式传输方法,是指将一连串的多媒体资源压缩后,通过网络发送资源包,从而在网上即时传输多媒体资源以供观赏的一种技术与过程,此技术使得资源包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件,从而仅能进行离线观看多媒体资源。流式传输可传送现场多媒体资源或预存于服务器上的多媒体资源,当观众用户在收看这些多媒体资源时,多媒体资源在送达观众用户的观众终端后可以由特定播放软件进行播放。
三、FAS(FLV Adaptive Streaming,基于FLV的自适应流媒体传输标准)
FAS是本公开所提出的流式资源传输标准(或称为资源传输协议),与传统的基于分片的媒体传输方式不同,FAS标准能够达到帧级别的多媒体资源传输,服务器无需等待一个完整的视频片段到达之后才能向终端发送资源包,而是在解析终端的帧获取请求之后,确定目标时间戳,若目标时间戳小于零,那么将从目标时间戳开始已缓存的所有媒体帧打包发送至终端(无需分片),此后,若目标时间戳大于或等于零或者除了缓存的媒体帧之外还存在实时流,那么将多媒体资源的媒体帧逐帧发送至终端。需要说明的是,帧获取请求中指定目标码率,当终端自身的网络带宽情况发生变化时,可以适应性调整待切换码率,重新发送与待切换码率对应的帧获取请求,从而能够达到自适应调整多媒体资源码率的效果。FAS标准能够实现帧级传输、降低端到端延迟,只***率发生切换时才需要发送新的帧获取请求,极大减小请求数量,降低资源传输过程的通信开销。
四、直播与点播
直播:多媒体资源是实时录制的,主播用户通过主播终端将媒体流“推流”(指基于流式传输方式推送)到服务器上,观众用户在观众终端上触发进入主播用户的直播界面之后,将媒体流从服务器“拉流”(指基于流式传输方式拉取)到观众终端,观众终端解码并播放多媒体资源,从而实时地进行视频播放。
点播:也称为Video On Demand(VOD),多媒体资源预存在服务器上,服务器能够根据观众用户的要求来提供观众用户指定的多媒体资源,具体地,观众终端向服务器发送点播请求,服务器查询到点播请求所指定的多媒体资源之后,将多媒体资源发送至观众终端,也即是说,观众用户能够选择性地播放某个特定的多媒体资源。
直观地来讲,点播的内容可以任意控制播放进度,而直播则不然,直播的内容播放速度取决于主播用户的实时直播进度。
图1是根据一示例性实施例示出的一种资源传输方法的实施环境示意图,参见图1,在该实施环境中可以包括至少一个终端101和服务器102,下面进行详述:
该至少一个终端101,用于进行多媒体资源传输,在每个终端上可以安装有媒体编解码组件以及媒体播放组件,该媒体编解码组件用于在接收多媒体资源(例如分片传输的资源包、帧级传输的媒体帧)之后进行多媒体资源的解码,该媒体播放组件用于在解码多媒体资源之后进行多媒体资源的播放。
按照用户身份的不同,该至少一个终端101可以划分为主播终端以及观众终端,主播终端对应于主播用户,观众终端对应于观众用户,需要说明的是,对同一个终端而言,该终端即可以是主播终端,也可以是观众终端,比如,用户在录制直播时该终端为主播终端,用户在观看直播时该终端为观众终端。
该至少一个终端101和服务器102可以通过有线网络或无线网络相连。
该服务器102,用于提供待传输的多媒体资源,服务器102可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。可选地,服务器102可以承担主要计算工作,至少一个终端101可以承担次要计算工作;或者,服务器102承担次要计算工作,至少一个终端101承担主要计算工作;或者,至少一个终端101和服务器102两者之间采用分布式计算架构进行协同计算。
在一个示例性场景中,该服务器102可以是集群式的CDN(Content DeliveryNetwork,内容分发网络)服务器,CDN服务器包括中心平台以及部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使得用户所在终端能够依靠当地的边缘服务器来就近获取所需内容(即多媒体资源),从而降低网络拥塞,提升终端访问的响应速度和命中率。
换言之,CDN服务器在终端与中心平台之间增加了一个缓存机制,该缓存机制也即是部署在不同地理位置的边缘服务器(比如WEB服务器),在性能优化时,中心平台会根据终端与边缘服务器的距离远近,调度与终端之间距离最近的边缘服务器来向终端提供服务,能够更加有效地向终端发布内容。
本公开实施例所涉及的多媒体资源,包括但不限于:视频资源、音频资源、图像资源或者文本资源中至少一项,本公开实施例不对多媒体资源的类型进行具体限定。比如,该多媒体资源为网络主播的直播视频流,或者为预存在服务器上的历史点播视频,或者为电台主播的直播音频流,或者为预存在服务器上的历史点播音频。
可选地,至少一个终端101中每个终端的设备类型包括但不限于:电视机、智能手机、智能音箱、车载终端、平板电脑、电子书阅读器、MP3(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机或者台式计算机中的至少一种。以下实施例,以终端包括智能手机来进行举例说明。
本领域技术人员可以知晓,上述至少一个终端101的数量可以仅为一个,或者至少一个终端101的数量为几十个或几百个,或者更多数量。本公开实施例对至少一个终端101的数量和设备类型不加以限定。
图2是本公开实施例提供的一种FAS框架的原理性示意图,请参考图2,本公开实施例提供一种FAS(基于流式的多码率自适应)框架,在该框架内,至少一个终端101与服务器102之间通过FAS协议进行多媒体资源传输。
以任一终端为例进行说明,在终端上可以安装有应用程序(亦称为FAS客户端),该应用程序用于浏览多媒体资源,例如,该应用程序可以为短视频应用、直播应用、视频点播应用、社交应用、购物应用等,本公开实施例不对应用程序的类型进行具体限定。
用户可以在终端上启动应用程序,显示资源推送界面(例如应用程序的首页或者功能界面),在该资源推送界面中包括至少一个多媒体资源的缩略信息,该缩略信息包括标题、简介、发布者、海报、预告片或者精彩片段中至少一项,响应于用户对任一多媒体资源的缩略信息的触控操作,终端可以从资源推送界面跳转至资源播放界面,在该资源播放界面中包括该多媒体资源的播放选项,响应于用户对该播放选项的触控操作,终端从服务器中下载该多媒体资源的媒体描述文件(Media Presentation Description,MPD),基于该媒体描述文件,确定目标码率的多媒体资源的目标地址信息,向服务器发送携带目标地址信息的帧获取请求(或称为FAS请求),使得服务器基于一定的规范(FAS请求的处理规范)来处理该帧获取请求,服务器定位到该多媒体资源的媒体帧(连续的媒体帧可以构成媒体流)之后,以目标码率向终端返回该多媒体资源的媒体帧(也即以目标码率向终端返回媒体流)。终端接收到媒体流之后,调用媒体编解码组件对媒体流进行解码,得到解码后的媒体流,调用媒体播放组件播放解码后的媒体流。
在一些直播场景下,终端所请求的媒体流通常为主播用户实时推流到服务器的直播视频流,这时服务器可以在接收到主播用户的直播视频流之后,对该直播视频流进行转码,得到多种码率的直播视频流,为不同码率的直播视频流分配不同的地址信息,记录在媒体描述文件中,从而能够针对携带不同地址信息的帧获取请求,以不同的码率返回对应的直播视频流。
进一步地,提供一种自适应调整码率的机制,当终端当前的网络带宽情况发生变化时,适应性调整与当前网络带宽情况相匹配的待切换码率。比如,在需要切换码率时,终端可以断开当前码率的媒体流传输链接,向服务器发送携带待切换码率所对应待切换地址信息的帧获取请求,建立基于待切换码率的媒体流传输链接,当然,终端也可以不断开当前码率的媒体流传输链接,而是直接重新发起携带待切换地址信息的帧获取请求,建立基于待切换码率的媒体流传输链接(用于传输新的媒体流),将原有的媒体流作为备用流,一旦新的媒体流出现传输异常,那么可以继续播放备用流,从而能够在播放过程中动态调整媒体流的码率,优化了终端的播放效果。
在上述FAS框架中,能够达到帧级别的媒体流传输,无需对多媒体资源进行分片传输,大大降低了资源传输过程的延时,提升了资源传输的实时性,提升了资源传输效率。
图3是根据一示例性实施例示出的一种资源传输方法的流程图,参见图3,该资源传输方法应用于上述实施环境涉及的FAS框架中的终端,下面进行详述。
在步骤301中,终端基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息,该媒体描述文件用于提供多种码率的该多媒体资源的地址信息。
在步骤302中,终端向服务器发送携带该目标地址信息的帧获取请求,该帧获取请求用于指示该服务器以该目标码率返回该多媒体资源的媒体帧。
本公开实施例提供的方法,通过基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息,该媒体描述文件用于提供多种码率的该多媒体资源的地址信息,从而向服务器发送携带该目标地址信息的帧获取请求,该帧获取请求用于指示该服务器以该目标码率返回该多媒体资源的媒体帧,无需对多媒体资源进行分片传输,也就不必在等待一个完整的资源片段到达之后才进行资源传输,从而可以达到帧级别的媒体流传输,大大降低了资源传输过程的延时,提升了资源传输的实时性,提升了资源传输效率。
在一种可能实施方式中,基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息包括:
确定该目标码率;
从该媒体描述文件包括的多种码率的该多媒体资源的地址信息中,获取该目标地址信息。
在一种可能实施方式中,确定该目标码率包括:
响应于码率选择指令,将该码率选择指令所携带的数值确定为该目标码率;或,
将该目标码率调整为与当前的网络带宽信息对应的码率。
在一种可能实施方式中,向服务器发送携带该目标地址信息的帧获取请求之后,该方法还包括:
响应于码率切换指令,确定待切换码率;
从该媒体描述文件包括的多种码率的该多媒体资源的地址信息中,获取该待切换码率的该多媒体资源的待切换地址信息;
向该服务器发送携带该待切换地址信息的帧获取请求。
在一种可能实施方式中,该帧获取请求还包括第一扩展参数或者第二扩展参数中至少一项,该第一扩展参数用于表示该媒体帧是否为音频帧,该第二扩展参数用于表示从该第二扩展参数所指示的目标时间戳开始传输该多媒体资源的媒体帧。
在一种可能实施方式中,若该第二扩展参数大于零,该目标时间戳大于当前时刻;
若该第二扩展参数等于零,该目标时间戳为距离当前时刻最接近的关键帧或音频帧的时间戳;
若该第二扩展参数小于零,该目标时间戳小于当前时刻,且该媒体帧包括从该目标时间戳开始已缓存的媒体帧。
在一种可能实施方式中,该媒体描述文件包括版本号和媒体描述集合,其中,该版本号包括该媒体描述文件的版本号或者资源传输标准的版本号中至少一项,该媒体描述集合包括多个媒体描述元信息,每个媒体描述元信息对应于一种码率的多媒体资源,每个媒体描述元信息包括该媒体描述元信息所对应码率的多媒体资源的画面组长度以及属性信息。
在一种可能实施方式中,每个属性信息包括多媒体资源的标识信息、多媒体资源的编码方式、多媒体资源所支持的码率以及该码率的多媒体资源的地址信息。
在一种可能实施方式中,每个属性信息还包括多媒体资源的质量类型、多媒体资源的隐藏选项、第一自适应功能选项或者默认播放功能选项中至少一项,其中,该第一自适应功能选项用于表示多媒体资源是否相对于自适应功能可见。
在一种可能实施方式中,该媒体描述文件还包括服务类型、第二自适应功能选项或者第三自适应功能选项中至少一项,其中,该服务类型包括直播或者点播中至少一项,该第二自适应功能选项用于表示是否打开自适应功能,该第三自适应功能选项用于表示是否在开始播放时默认打开自适应功能。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图4是根据一示例性实施例示出的一种资源传输方法的交互流程图,如图4所示,该资源传输方法可以用于上述实施环境涉及的FAS框架中,该实施例包括以下步骤。
在步骤401中,终端显示资源播放界面,该资源播放界面中包括多媒体资源的播放选项。
其中,终端上可以安装有应用程序,该应用程序用于浏览多媒体资源,例如,该应用程序可以包括短视频应用、直播应用、视频点播应用、社交应用或者购物应用中至少一项,本公开实施例不对应用程序的类型进行具体限定。
本公开实施例所涉及的多媒体资源,包括但不限于:视频资源、音频资源、图像资源或者文本资源中至少一项,本公开实施例不对多媒体资源的类型进行具体限定。比如,该多媒体资源为网络主播的直播视频流,或者为预存在服务器上的历史点播视频,或者为电台主播的直播音频流,或者为预存在服务器上的历史点播音频。
在上述过程中,用户可以在终端上启动应用程序,该应用程序显示资源推送界面,例如该资源推送界面可以是应用程序的首页或者功能界面,本公开实施例不对资源推送界面的类型进行具体限定。在该资源推送界面中可以包括至少一个多媒体资源的缩略信息,该缩略信息包括多媒体资源的标题、简介、海报、预告片或者精彩片段中至少一项。用户在浏览资源推送界面的过程中,可以点击感兴趣的多媒体资源的缩略信息,响应于用户对该多媒体资源的缩略信息的触控操作,终端可以从资源推送界面跳转至资源播放界面。
在该资源播放界面中可以包括播放区域和评论区域,在播放区域内可以包括该多媒体资源的播放选项,在评论区域内可以包括其他用户针对该多媒体资源的观看评论。
可选地,在播放区域内还可以包括该多媒体资源的详情信息,该详情信息可以包括该多媒体资源的标题、简介、关键词、发布者信息或者当前热度中至少一项,其中,该发布者信息可以包括发布者昵称、发布者头像、发布者粉丝量等,本公开实施例不对详情信息或者发布者信息的内容进行具体限定。
可选地,在播放区域内还可以包括弹幕输入区和弹幕设置选项,用户可以通过弹幕设置选项控制是否显示弹幕、弹幕移动速度、弹幕显示区域或者弹幕显示方式(透明度、字号大小等)中至少一项,用户还可以通过点击弹幕输入区,输入自己想要评论的内容,弹幕形式不限于文本或者表情图像,本公开实施例不对弹幕设置选项的内容或者用户输入的弹幕形式进行具体限定。
可选地,在播放区域内还可以包括收藏选项和关注选项,若用户点击收藏选项,可以触发终端向服务器发送收藏请求,服务器响应于该收藏请求,将该多媒体资源添加至该用户所对应的收藏夹内,便于后续重复观看时进行快速查找多媒体资源,若用户点击关注选项,可以触发终端向服务器发送关注请求,服务器响应于该关注请求,将该多媒体资源的发布者添加至该用户所对应的关注列表内,便于后续再次收看该发布者所发布的内容。
可选地,在播放区域内还可以包括虚拟礼物的赠送选项,若用户点击赠送选项,可以显示虚拟礼物的赠送类别以及赠送数量的选择栏,用户在选择好某一类别以及某一数量的虚拟礼物之后,可以通过点击确认按钮,触发终端向服务器发送虚拟礼物的赠送请求,服务器对该赠送请求进行结算,分别从用户的账户中扣除一定数值,并向主播的账户中发放一定数值,在结算完毕之后,终端可以在播放区域中以浮层的方式展示虚拟礼物的特效动画,从而可以提供互动性更强、趣味性更高的播放方式。
上述各种可能实施方式,提供了资源播放界面的不同示例性布局,在实际应用中资源播放界面可以具有更多或者更少的布局方式,本公开实施例不对资源播放界面的布局方式进行具体限定。
在步骤402中,终端响应于用户对该播放选项的触控操作,从服务器中下载该多媒体资源的媒体描述文件,该媒体描述文件用于提供多种码率的多媒体资源的地址信息。
在上述过程中,由于在某个多媒体资源的播放过程中,用户可能会多次暂停播放,然后通过点击播放选项触发进行继续播放,那么终端可以仅在用户首次点击播放选项时,下载多媒体资源的媒体描述文件,能够避免冗余的数据传输流程,节约了对网络带宽的占用,当然,由于媒体描述文件可能会发生变化造成版本更迭,那么终端也可以每当用户点击播放选项时,均重新下载一次媒体描述文件,这样能够确保多媒体资源播放的流畅性,缩短由于媒体描述文件失效而导致的等待时间,本公开实施例不对媒体描述文件的下载时机进行具体限定。
在一些实施例中,该媒体描述文件可以是JSON(JavaScript Object Notation,JS对象简谱)格式的文件,当然也可以是其他格式的文件,本公开实施例不对媒体描述文件的格式进行具体限定。该媒体描述文件可以包括版本号(@version)和媒体描述集合(@adaptationSet),下面进行详述:
可选地,由于媒体描述文件本身可能会由于转码方式的变换而产生不同的版本,而FAS标准也会随着技术的发展而进行版本更迭,因此该版本号可以包括该媒体描述文件的版本号或者资源传输标准(FAS标准)的版本号中至少一项,比如,该版本号可以仅包括FAS标准的版本号,或者仅包括媒体描述文件的版本号,或者该版本号还可以是媒体描述文件与FAS标准的版本号之间的组合。
可选地,该媒体描述集合用于表示多媒体资源的元信息,该媒体描述集合可以包括多个媒体描述元信息,每个媒体描述元信息对应于一种码率的多媒体资源,每个媒体描述元信息可以包括该媒体描述元信息所对应码率的多媒体资源的画面组长度(@gopDuration)以及属性信息(@representation)。
这里的画面组(Group Of Pictures,GOP)长度是指两个关键帧之间的距离,关键帧是指视频编码序列中的帧内编码图像帧(Intra-coded picture,也称为“I帧”),I帧的编解码不需要参考其他图像帧,仅利用本帧信息即可实现,而相对地,P帧(Predictive-codedpicture,预测编码图像帧)和B帧(Bidirectionally predicted picture,双向预测编码图像帧)的编解码均需要参考其他图像帧,仅利用本帧信息无法完成编解码。
在一些实施例中,对每个媒体描述元信息所包括的属性信息(也即每个属性信息)而言,每个属性信息可以包括多媒体资源的标识信息、多媒体资源的编码方式、多媒体资源所支持的码率以及该码率的多媒体资源的地址信息。
标识信息(@id):指每个多媒体资源独一无二的标识符,标识信息可以由服务器进行分配。
编码方式(@codec):指多媒体资源遵从的编解码标准,例如H.263、H.264、H.265、MPEG等。
多媒体资源所支持的码率(@bitrate):指资源传输时单位时间内传送的数据位数,也称为比特率,以音频资源为例,码率越高,则音频资源被压缩的比例越小,音质损失越小,那么与音源的音质就越接近(音质越好),视频资源与音频资源类似,但由于视频资源由图像资源和音频资源组装而成,因此在计算码率时除了音频资源之外还要加上对应的图像资源。
某种码率的多媒体资源的地址信息(@url):指服务器在针对多媒体资源进行转码,得到该码率的多媒体资源之后,对外提供该码率的多媒体资源的URL(UniformResource Locator,统一资源定位符)或域名(Domain Name)。
可选地,每个属性信息还可以包括多媒体资源的质量类型、多媒体资源的隐藏选项、第一自适应功能选项或者默认播放功能选项中至少一项。
质量类型(@qualityType):包括多媒体资源的分辨率或者帧率等质量评价指标。
多媒体资源的隐藏选项(@hiden):用于表示多媒体资源是否外显,若设定为true,表示对应码率的多媒体资源不外显,此时用户无法手动选择对应码率的多媒体资源,只能通过自适应功能来选中该码率的多媒体资源,若设定为false,表示对应码率的多媒体资源外显,此时除了能够通过自适应功能选中该码率的多媒体资源之外,用户还能够手动选择对应码率的多媒体资源。需要说明的是,本申请所涉及的自适应功能,是指终端根据当前的网络带宽情况对所播放的媒体流进行动态帧率调整的功能,后文不做赘述。
第一自适应功能选项(@enableAdaptive):用于表示多媒体资源是否相对于自适应功能可见,若设定为true,表示对应码率的多媒体资源对于自适应功能可见,对应码率的多媒体资源能够被自适应功能选中,若设定为false,表示对应码率的多媒体资源对于自适应功能不可见,对应码率的多媒体资源不能被自适应功能选中。
默认播放功能选项(@defaultSelect):用于表示是否在启播时默认播放对应码率的多媒体资源,若设定为true,表示启播时默认播放对应码率的多媒体资源,若设定为false,表示启播时不默认播放对应码率的多媒体资源,由于媒体播放组件无法默认播放两种码率的多媒体资源(存在播放冲突),因此,在所有媒体描述元信息的属性信息中,最多只能出现一个码率的多媒体资源的默认播放功能选项(@defaultSelect)为true。
可选地,除了版本号和媒体描述集合之外,该媒体描述文件还可以包括服务类型、第二自适应功能选项或者第三自适应功能选项中至少一项。
服务类型(@type):用于指定多媒体资源的业务类型,包括直播或者点播中至少一项,比如,设定为“dynamic”时表示直播,设定为“static”时表示点播,若不做规定时,可以将“dynamic”作为默认值。
第二自适应功能选项(@hideAuto):用于表示是否打开自适应功能,若设定为true,代表关闭自适应功能,且不显示自适应选项,若设定为false,代表开启自适应功能,且显示自适应选项,若不做规定时,可以将“false”作为默认值。
第三自适应功能选项(@autoDefaultSelect):用于表示是否在启播时默认打开自适应功能,若设定为true,代表在开始播放(启播)时默认基于自适应功能播放,若设定为false,代表在开始播放时默认不基于自适应功能播放,即启播时默认关闭自适应功能。需要说明的是,这里的第三自适应功能选项是上述默认播放功能选项的前提,也即是,只有在第三自适应功能选项设置为flase(启播时默认关闭自适应功能)时,默认播放功能选项才会有效,这时在启播时会默认播放@defaultSelect设置为true所对应码率的多媒体资源,否则,若第三自适应功能选项设置为true,那么在启播时会根据自适应功能选中最适合当前网络带宽情况的码率的多媒体资源。
上述媒体描述文件,是由服务器基于业务需求提供给终端的数据文件,由服务器按照业务需求进行预先配置,用于向终端提供流媒体服务的一组数据的集合以及业务相关的描述,能够保证终端获取到进行资源下载、解码、播放渲染时所需要的必要信息,媒体描述文件包括已编码并可传输的媒体流以及相应的元信息描述,使得终端能够基于媒体描述文件来构建帧获取请求(FAS请求),从而由服务器根据FAS标准的处理规范来响应帧获取请求,向终端提供流媒体服务。
在步骤403中,终端确定目标码率。
上述目标码率是指本次请求的多媒体资源的码率,根据业务场景的不同,若用户首次播放多媒体资源,那么目标码率是指启播时的码率,若用户在播放过程中选择切换码率或者终端基于自适应策略调整了码率,那么目标码率也可以是一种待切换码率。
在一些实施例中,终端可以向用户提供码率选择列表,用户在点击码率选择列表中任一数值时,触发生成携带该数值的码率选择指令,终端响应于码率选择指令,将该码率选择指令所携带的数值确定为目标码率。
在一些实施例中,终端还可以通过自适应功能,将目标码率调整为与当前的网络带宽信息对应的码率,在进行自适应调整的过程中,除了当前的网络带宽信息之外,还可以结合终端的播放状态信息,动态选择播放效果最佳的目标码率,从而在多媒体资源的卡顿率、清晰度以及平滑性之间取得折中。
在步骤404中,终端从媒体描述文件包括的多种码率的多媒体资源的地址信息中,获取目标码率的多媒体资源的目标地址信息。
在上述过程中,终端在确定目标码率之后,可以在媒体描述文件中以目标码率为索引,查询得到与目标码率的多媒体资源对应的媒体描述元信息,在该媒体描述元信息的属性信息中提取出@url字段内所存储的目标地址信息。
在上述步骤403-404中,终端相当于基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息。
在步骤405中,终端向服务器发送携带该目标地址信息的帧获取请求,该帧获取请求用于指示该服务器以该目标码率返回该多媒体资源的媒体帧。
在上述过程中,终端在从媒体描述文件中获取目标地址信息之后,可以生成携带该目标地址信息的帧获取请求,进而向服务器发送携带该目标地址的帧获取请求。
可选地,除了目标地址信息(@url)之外,该帧获取请求还可以包括扩展参数(@extParam),该扩展参数用于指定不同的请求方式,从而实现不同的功能,该扩展参数可以包括第一扩展参数或者第二扩展参数中至少一项,下面进行详述:
第一扩展参数(@onlyAudio)属于一种音频参数,用于表示该媒体帧是否为音频帧,若设定为true,表示终端拉取的媒体帧为音频帧,也即只拉取纯音频流,否则,若设定为false,表示终端拉取的媒体帧为音视频帧,也即拉取音频流和视频画面流,若不做规定时,可以将“false”作为默认值。
在一个示例性场景中,终端可以获取多媒体资源的类型,若多媒体资源的类型为视频,可以将第一扩展参数置为“false”或者默认值,若多媒体资源的类型为音频,可以将第一扩展参数置为“true”。
在一些示例性场景中,终端还可以检测应用程序的类型,若应用程序的类型为视频应用,可以将第一扩展参数置为“false”或者默认值,若应用程序的类型为音频应用,可以将第一扩展参数置为“true”。
第二扩展参数(@fasSpts)属于一种拉取位置参数,用于表示从该第二扩展参数所指示的目标时间戳开始传输该多媒体资源的媒体帧,可选地,该第二扩展参数的数据类型可以为int64_t类型,当然,也可以为其他数据类型,本公开实施例不对第二扩展参数的数据类型进行具体限定。在帧获取请求中可以指定第二扩展参数,若帧获取请求中未指定第二扩展参数,那么服务器由服务器来配置第二扩展参数的默认值。
针对第二扩展参数的不同取值,分别讨论对应取值下的媒体帧拉取情况:
1)若该第二扩展参数大于零(@fasSpts>0),此时该目标时间戳pts大于当前时刻,那么终端将从pts等于@fasSpts的媒体帧(未来的某个时刻)开始拉取媒体流;
2)若该第二扩展参数等于零(@fasSpts=0),此时该目标时间戳pts为距离当前时刻最接近的关键帧或音频帧的时间戳,具体地,在拉取音频帧(纯音频模式)时,终端从最新的音频帧开始拉取媒体流,或者,在拉取音视频帧(非纯音频模式)时,终端从最新的视频I帧开始拉取媒体流;
3)若该第二扩展参数小于零(@fasSpts<0),此时该目标时间戳小于当前时刻,且该媒体帧包括从该目标时间戳开始已缓存的媒体帧,也即是,终端拉取缓存长度为|@fasSpts|毫秒的媒体流。
在一个示例性场景中,终端可以根据多媒体描述文件中的服务类型(@type)字段来确定第二扩展参数,若查询到服务类型为“dynamic”(直播)且用户未指定播放进度,终端可以将第二扩展参数置为0,以便于用户能够实时观看到最新的直播视频流;若查询到服务器类型为“dynamic”(直播)且用户指定了播放进度,终端可以将第二扩展参数置为播放进度所对应的时间戳(目标时间戳),从而能够方便地根据用户所指定的起点开始拉取媒体流;若查询到服务类型为“static”(点播)且用户未指定播放进度,终端可以检测多媒体资源在上一次关闭时的历史播放进度,将第二扩展参数置为该历史播放进度所对应的时间戳(目标时间戳),从而能够方便用户从上一次观看到的进度开始继续进行观看,需要说明的是,若用户首次观看多媒体资源,此时查询不到任何历史播放进度,终端可以将第二扩展参数置为首个媒体帧的时间戳(目标时间戳);若查询到服务类型为“static”(点播)且用户指定了播放进度,终端可以将第二扩展参数置为播放进度所对应的时间戳(目标时间戳),从而能够方便地根据用户所指定的起点开始拉取媒体流。
对帧获取请求而言,可以认为其格式为目标码率的多媒体资源的url地址加上扩展字段,可以形象地表示为“url&extParam”,在FAS标准中,服务器在接收到帧获取请求之后,能够按照FAS所规定的处理规范,对帧获取请求进行响应处理,请参考下述步骤406。
在步骤406中,服务器响应于携带目标地址信息的帧获取请求,以目标码率向终端返回多媒体资源的媒体帧。
在上述过程中,服务器在接收到帧获取请求之后,可以解析该帧获取请求,得到目标地址信息,服务器基于目标地址信息,从资源库中定位到目标码率的多媒体资源的媒体帧。
可选地,若帧获取请求中还携带第一扩展参数或者第二扩展参数中至少一项,那么服务器还可以解析得到第一扩展参数或者第二扩展参数中至少一项,若未携带第一扩展参数或者第二扩展参数中至少一项,服务器可以配置第一扩展参数或者第二扩展参数中至少一项的默认值,不管是从帧获取请求中解析,还是自行配置默认值,服务器均能够确定第一扩展参数以及第二扩展参数,进一步地,服务器基于第一扩展参数确定是否发送音频形式的媒体帧,基于第二扩展参数确定从哪个时间戳开始拉取媒体帧,从而服务器能够从第二扩展参数所指示的目标时间戳开始,以目标码率向终端返回第一扩展参数所指示形式的媒体帧。
在一个示例性场景中,若服务器为CDN服务器,那么该目标地址信息可以是一个域名,终端可以向CDN服务器的中心平台发送帧获取请求,中心平台调用DNS(Domain NameSystem,域名***,本质上是一个域名解析库)对域名进行解析,可以得到域名对应的CNAME(别名)记录,基于终端的地理位置信息对CNAME记录再次进行解析,可以得到一个距离终端最近的边缘服务器的IP(Internet Protocol,网际互连协议)地址,这时中心平台将帧获取请求导向至上述边缘服务器,由边缘服务器响应于帧获取请求,以目标码率向终端提供多媒体资源的媒体帧,从而能够使得终端就近访问目标码率的多媒体资源,这样可以使得CDN服务器整体的负载较为均衡,那么CDN***的性能也就更加稳定。
在步骤407中,若终端接收到目标码率的多媒体资源的媒体帧,播放该目标码率的多媒体资源的媒体帧。
在上述过程中,若终端接收到目标码率的多媒体资源的媒体帧(连续接收到的媒体帧即可构成媒体流),为了保证播放流畅性,终端可以将该媒体帧存入缓存区中,调用媒体编解码组件对媒体帧进行解码,得到解码后的媒体帧,调用媒体播放组件按照时间戳(pts)从小到大的顺序来对缓存区内的媒体帧进行播放。
在解码过程中,终端可以从媒体描述文件的@codec字段中确定多媒体资源的编码方式,根据编码方式确定对应的解码方式,从而按照确定的解码方式对媒体帧进行解码。
在上述过程中,这种基于流式的媒体传输方式,能够做到多媒体资源的帧级传输,而由于帧获取请求采用了“url&extParam”的格式,能够通过定义扩展参数来指定音频参数以及拉取位置参数,这样就能够实现不同码率的媒体流之间的无缝切换,达到多码率自适应的目的,若网络状况改变而需要切换码率时,可以通过下述步骤408-412来进行码率的无缝切换。
在步骤408中,终端响应于码率切换指令,确定待切换码率。
上述码率切换指令,可以由用户在码率切换列表中进行触发,也可以由终端根据自适应策略自动地触发,本公开实施例不对码率切换指令的触发条件进行具体限定。
上述步骤408与上述步骤403类似,这里不做赘述。
在步骤409中,终端从该媒体描述文件包括的多种码率的该多媒体资源的地址信息中,获取该待切换码率的该多媒体资源的待切换地址信息。
上述步骤409与上述步骤404类似,这里不做赘述。
在步骤410中,终端向该服务器发送携带该待切换地址信息的帧获取请求。
其中,该帧获取请求用于指示服务器以待切换码率返回多媒体资源的媒体帧。
上述步骤410与上述步骤405类似,这里不做赘述。
在步骤411中,服务器响应于携带待切换地址信息的帧获取请求,以待切换码率向终端返回多媒体资源的媒体帧。
上述步骤411与上述步骤406类似,这里不做赘述。
在步骤412中,若终端接收到待切换码率的多媒体资源的媒体帧,播放该待切换码率的多媒体资源的媒体帧。
上述步骤412与上述步骤407类似,这里不做赘述。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本公开实施例提供的方法,通过基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息,该媒体描述文件用于提供多种码率的该多媒体资源的地址信息,从而向服务器发送携带该目标地址信息的帧获取请求,该帧获取请求用于指示该服务器以该目标码率返回该多媒体资源的媒体帧,无需对多媒体资源进行分片传输,也就不必在等待一个完整的资源片段到达之后才进行资源传输,从而可以达到帧级别的媒体流传输,大大降低了资源传输过程的延时,提升了资源传输的实时性,提升了资源传输效率。
图5是根据一示例性实施例示出的一种资源传输装置的逻辑结构框图。参照图5,该装置包括确定单元501和发送单元502:
确定单元501,被配置为执行基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息,该媒体描述文件用于提供多种码率的该多媒体资源的地址信息;
发送单元502,被配置为执行向服务器发送携带该目标地址信息的帧获取请求,该帧获取请求用于指示该服务器以该目标码率返回该多媒体资源的媒体帧。
本公开实施例提供的装置,通过基于多媒体资源的媒体描述文件,确定目标码率的该多媒体资源的目标地址信息,该媒体描述文件用于提供多种码率的该多媒体资源的地址信息,从而向服务器发送携带该目标地址信息的帧获取请求,该帧获取请求用于指示该服务器以该目标码率返回该多媒体资源的媒体帧,无需对多媒体资源进行分片传输,也就不必在等待一个完整的资源片段到达之后才进行资源传输,从而可以达到帧级别的媒体流传输,大大降低了资源传输过程的延时,提升了资源传输的实时性,提升了资源传输效率。
在一种可能实施方式中,基于图5的装置组成,该确定单元501包括:
确定子单元,被配置为执行确定该目标码率;
获取子单元,被配置为执行从该媒体描述文件包括的多种码率的该多媒体资源的地址信息中,获取该目标地址信息。
在一种可能实施方式中,该确定子单元被配置为执行:
响应于码率选择指令,将该码率选择指令所携带的数值确定为该目标码率;或,
将该目标码率调整为与当前的网络带宽信息对应的码率。
在一种可能实施方式中,该确定单元501还被配置为执行:响应于码率切换指令,确定待切换码率;从该媒体描述文件包括的多种码率的该多媒体资源的地址信息中,获取该待切换码率的该多媒体资源的待切换地址信息;
该发送单元502还被配置为执行:向该服务器发送携带该待切换地址信息的帧获取请求。
在一种可能实施方式中,该帧获取请求还包括第一扩展参数或者第二扩展参数中至少一项,该第一扩展参数用于表示该媒体帧是否为音频帧,该第二扩展参数用于表示从该第二扩展参数所指示的目标时间戳开始传输该多媒体资源的媒体帧。
在一种可能实施方式中,若该第二扩展参数大于零,该目标时间戳大于当前时刻;
若该第二扩展参数等于零,该目标时间戳为距离当前时刻最接近的关键帧或音频帧的时间戳;
若该第二扩展参数小于零,该目标时间戳小于当前时刻,且该媒体帧包括从该目标时间戳开始已缓存的媒体帧。
在一种可能实施方式中,该媒体描述文件包括版本号和媒体描述集合,其中,该版本号包括该媒体描述文件的版本号或者资源传输标准的版本号中至少一项,该媒体描述集合包括多个媒体描述元信息,每个媒体描述元信息对应于一种码率的多媒体资源,每个媒体描述元信息包括该媒体描述元信息所对应码率的多媒体资源的画面组长度以及属性信息。
在一种可能实施方式中,每个属性信息包括多媒体资源的标识信息、多媒体资源的编码方式、多媒体资源所支持的码率以及该码率的多媒体资源的地址信息。
在一种可能实施方式中,每个属性信息还包括多媒体资源的质量类型、多媒体资源的隐藏选项、第一自适应功能选项或者默认播放功能选项中至少一项,其中,该第一自适应功能选项用于表示多媒体资源是否相对于自适应功能可见。
在一种可能实施方式中,该媒体描述文件还包括服务类型、第二自适应功能选项或者第三自适应功能选项中至少一项,其中,该服务类型包括直播或者点播中至少一项,该第二自适应功能选项用于表示是否打开自适应功能,该第三自适应功能选项用于表示是否在开始播放时默认打开自适应功能。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该资源传输方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6示出了本公开一个示例性实施例提供的终端600的结构框图。该终端600可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本公开中各个实施例提供的资源传输方法。
在一些实施例中,终端600还可选包括有:***设备接口603和至少一个***设备。处理器601、存储器602和***设备接口603之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口603相连。具体地,***设备包括:射频电路604、触摸显示屏605、摄像头组件606、音频电路607、定位组件608和电源609中的至少一种。
***设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和***设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和***设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括至少一条指令的存储介质,例如包括至少一条指令的存储器,上述至少一条指令可由终端中的处理器执行以完成上述实施例中资源传输方法。可选地,上述存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以包括ROM(Read-Only Memory,只读存储器)、RAM(Random-AccessMemory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由终端的处理器执行,以完成上述各个实施例提供的资源传输方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (14)

1.一种资源传输方法,其特征在于,包括:
响应于对播放选项的每一次触控操作,下载多媒体资源的媒体描述文件,所述媒体描述文件包括服务类型、媒体描述集合以及版本号,所述服务类型包括直播或者点播中至少一项,所述版本号包括所述媒体描述文件的版本号或者资源传输标准的版本号中至少一项,所述媒体描述集合包括每种码率的所述多媒体资源的媒体描述元信息,所述媒体描述元信息包括对应码率的所述多媒体资源的画面组长度和属性信息,所述属性信息包括所述多媒体资源所支持的码率、所述码率的所述多媒体资源的地址信息、所述多媒体资源的隐藏选项、第一自适应功能选项以及默认播放功能选项;
其中,当所述隐藏选项指示对应码率的多媒体资源不外显时,所述对应码率的多媒体资源能够通过自适应功能被选中,不能被用户手动选择,当所述隐藏选项指示对应码率的多媒体资源外显时,所述对应码率的多媒体资源能够通过自适应功能被选中,也能够被用户手动选择;当所述第一自适应功能选项指示所述对应码率的多媒体资源对于自适应功能可见时,所述对应码率的多媒体资源能够被自适应功能选中,当所述第一自适应功能选项指示所述对应码率的多媒体资源对于自适应功能不可见时,所述对应码率的多媒体资源不能够被自适应功能选中,所述默认播放功能选项用于表示所述对应码率的多媒体资源是否在启播时默认播放;
确定所述多媒体资源的目标码率;
在所述媒体描述文件中,以所述目标码率为索引,查询得到与所述目标码率的所述多媒体资源对应的媒体描述元信息;
从查询得到的所述媒体描述元信息的属性信息中,提取得到所述目标码率的所述多媒体资源的目标地址信息,所述目标地址信息为域名;
断开当前码率的媒体流传输链接,向内容分发网络CDN服务器的中心平台发送携带所述目标地址信息的帧获取请求,建立基于所述目标码率的媒体流传输链接,获取由边缘服务器以所述目标码率返回的所述多媒体资源的媒体帧;其中,所述中心平台用于调用域名***对所述目标地址信息进行解析,得到所述目标地址信息对应的别名CNNAME记录,基于终端的地理位置信息对所述CNNAME记录进行解析,得到距离所述终端最近的边缘服务器的IP地址,并将所述帧获取请求导向至所述边缘服务器;
所述帧获取请求还包括第一扩展参数或者第二扩展参数中至少一项,所述第一扩展参数用于表示所述媒体帧是否为音频帧,所述第二扩展参数用于表示从所述第二扩展参数所指示的目标时间戳开始传输所述多媒体资源的媒体帧,所述第二扩展参数是根据所述服务类型确定的,其中,当所述服务类型为直播且用户未指定播放进度时,所述第二扩展参数为零,所述目标时间戳为距离当前时刻最接近的关键帧或音频帧的时间戳;当所述服务类型为点播且用户未指定播放进度时,所述第二扩展参数为历史播放进度对应的时间戳或首个媒体帧的时间戳;当所述服务类型为直播且用户指定播放进度或所述服务类型为点播且用户指定播放进度时,所述第二扩展参数为所述播放进度对应的时间戳,若所述第二扩展参数大于零,则所述目标时间戳大于当前时刻,若所述第二扩展参数小于零,则所述目标时间戳小于当前时刻,且所述媒体帧包括从所述目标时间戳开始已缓存的媒体帧。
2.根据权利要求1所述的资源传输方法,其特征在于,所述确定所述多媒体资源的目标码率包括:
响应于码率选择指令,将所述码率选择指令所携带的数值确定为所述目标码率;或,
将所述目标码率调整为与当前的网络带宽信息对应的码率。
3.根据权利要求1所述的资源传输方法,其特征在于,所述内容分发网络CDN服务器的中心平台发送携带所述目标地址信息的帧获取请求之后,所述方法还包括:
响应于码率切换指令,确定待切换码率;
从所述媒体描述文件包括的多种码率的所述多媒体资源的地址信息中,获取所述待切换码率的所述多媒体资源的待切换地址信息;
向所述服务器发送携带所述待切换地址信息的帧获取请求。
4.根据权利要求1所述的资源传输方法,其特征在于,所述属性信息还包括多媒体资源的标识信息和多媒体资源的编码方式。
5.根据权利要求1所述的资源传输方法,其特征在于,所述属性信息还包括多媒体资源的质量类型。
6.根据权利要求1所述的资源传输方法,其特征在于,所述媒体描述文件还包括第二自适应功能选项或者第三自适应功能选项中至少一项,其中,所述第二自适应功能选项用于表示是否打开自适应功能,所述第三自适应功能选项用于表示是否在开始播放时默认打开自适应功能。
7.一种资源传输装置,其特征在于,包括:
确定单元,包括确定子单元和获取子单元;
所述获取子单元,被配置为执行响应于对播放选项的每一次触控操作,下载多媒体资源的媒体描述文件,所述媒体描述文件包括服务类型、媒体描述集合以及版本号,所述服务类型包括直播或者点播中至少一项,所述版本号包括所述媒体描述文件的版本号或者资源传输标准的版本号中至少一项,所述媒体描述集合包括每种码率的所述多媒体资源的媒体描述元信息,所述媒体描述元信息包括对应码率的所述多媒体资源的画面组长度和属性信息,所述属性信息包括所述多媒体资源所支持的码率、所述码率的所述多媒体资源的地址信息、所述多媒体资源的隐藏选项、第一自适应功能选项以及默认播放功能选项;其中,当所述隐藏选项指示对应码率的多媒体资源不外显时,所述对应码率的多媒体资源能够通过自适应功能被选中,不能被用户手动选择,当所述隐藏选项指示对应码率的多媒体资源外显时,所述对应码率的多媒体资源能够通过自适应功能被选中,也能够被用户手动选择;当所述第一自适应功能选项指示所述对应码率的多媒体资源对于自适应功能可见时,所述对应码率的多媒体资源能够被自适应功能选中,当所述第一自适应功能选项指示所述对应码率的多媒体资源对于自适应功能不可见时,所述对应码率的多媒体资源不能够被自适应功能选中,所述默认播放功能选项用于表示所述对应码率的多媒体资源是否在启播时默认播放;
所述确定子单元,被配置为执行确定所述多媒体资源的目标码率;
所述获取子单元,还被配置为执行在所述媒体描述文件中,以所述目标码率为索引,查询得到与所述目标码率的所述多媒体资源对应的媒体描述元信息;从查询得到的所述媒体描述元信息的属性信息中,提取得到所述目标码率的所述多媒体资源的目标地址信息,所述目标地址信息为域名;
发送单元,被配置为执行断开当前码率的媒体流传输链接,向内容分发网络CDN服务器的中心平台发送携带所述目标地址信息的帧获取请求,建立基于所述目标码率的媒体流传输链接,获取由边缘服务器以所述目标码率返回的所述多媒体资源的媒体帧;其中,所述中心平台用于调用域名***对所述目标地址信息进行解析,得到所述目标地址信息对应的别名CNNAME记录,基于终端的地理位置信息对所述CNNAME记录进行解析,得到距离所述终端最近的边缘服务器的IP地址,并将所述帧获取请求导向至所述边缘服务器;所述帧获取请求用于指示所述服务器以所述目标码率返回所述多媒体资源的媒体帧,所述帧获取请求还包括第一扩展参数或者第二扩展参数中至少一项,所述第一扩展参数用于表示所述媒体帧是否为音频帧,所述第二扩展参数用于表示从所述第二扩展参数所指示的目标时间戳开始传输所述多媒体资源的媒体帧,所述第二扩展参数是根据所述服务类型确定的,其中,当所述服务类型为直播且用户未指定播放进度时,所述第二扩展参数为零,所述目标时间戳为距离当前时刻最接近的关键帧或音频帧的时间戳;当所述服务类型为点播且用户未指定播放进度时,所述第二扩展参数为历史播放进度对应的时间戳或首个媒体帧的时间戳,当所述服务类型为直播且用户指定播放进度或所述服务类型为点播且用户指定播放进度时,所述第二扩展参数为所述播放进度对应的时间戳,若所述第二扩展参数大于零,则所述目标时间戳大于当前时刻,若所述第二扩展参数小于零,则所述目标时间戳小于当前时刻,且所述媒体帧包括从所述目标时间戳开始已缓存的媒体帧。
8.根据权利要求7所述的资源传输装置,其特征在于,所述确定子单元被配置为执行:
响应于码率选择指令,将所述码率选择指令所携带的数值确定为所述目标码率;或,
将所述目标码率调整为与当前的网络带宽信息对应的码率。
9.根据权利要求7所述的资源传输装置,其特征在于,所述确定单元还被配置为执行:响应于码率切换指令,确定待切换码率;从所述媒体描述文件包括的多种码率的所述多媒体资源的地址信息中,获取所述待切换码率的所述多媒体资源的待切换地址信息;
所述发送单元还被配置为执行:向所述服务器发送携带所述待切换地址信息的帧获取请求。
10.根据权利要求7所述的资源传输装置,其特征在于,所述属性信息还包括多媒体资源的标识信息和多媒体资源的编码方式。
11.根据权利要求7所述的资源传输装置,其特征在于,所述属性信息还包括多媒体资源的质量类型。
12.根据权利要求7所述的资源传输装置,其特征在于,所述媒体描述文件还包括第二自适应功能选项或者第三自适应功能选项中至少一项,其中,所述第二自适应功能选项用于表示是否打开自适应功能,所述第三自适应功能选项用于表示是否在开始播放时默认打开自适应功能。
13.一种终端,其特征在于,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行所述指令,以实现如权利要求1至权利要求6中任一项所述的资源传输方法。
14.一种计算机可读存储介质,其特征在于,当所述存储介质中的至少一条指令由终端的一个或多个处理器执行时,使得所述终端能够执行如权利要求1至权利要求6中任一项所述的资源传输方法。
CN202010054781.8A 2020-01-17 2020-01-17 资源传输方法、装置、终端及存储介质 Active CN113141524B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010054781.8A CN113141524B (zh) 2020-01-17 2020-01-17 资源传输方法、装置、终端及存储介质
EP20914247.0A EP3930335A4 (en) 2020-01-17 2020-11-26 Resource transmission method and terminal
PCT/CN2020/131840 WO2021143362A1 (zh) 2020-01-17 2020-11-26 资源传输方法及终端
US17/473,189 US11528311B2 (en) 2020-01-17 2021-09-13 Method for transmitting multimedia resource and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010054781.8A CN113141524B (zh) 2020-01-17 2020-01-17 资源传输方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN113141524A CN113141524A (zh) 2021-07-20
CN113141524B true CN113141524B (zh) 2023-09-29

Family

ID=76809560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010054781.8A Active CN113141524B (zh) 2020-01-17 2020-01-17 资源传输方法、装置、终端及存储介质

Country Status (4)

Country Link
US (1) US11528311B2 (zh)
EP (1) EP3930335A4 (zh)
CN (1) CN113141524B (zh)
WO (1) WO2021143362A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113949697B (zh) * 2021-09-24 2023-05-09 北京达佳互联信息技术有限公司 数据分发方法、装置、电子设备及存储介质
CN113904992B (zh) * 2021-09-28 2023-10-17 咪咕文化科技有限公司 带宽资源调度方法、装置、计算设备及存储介质
CN114584561A (zh) * 2022-03-15 2022-06-03 联想(北京)有限公司 一种信息处理方法、装置和电子设备
CN115086714A (zh) * 2022-06-13 2022-09-20 京东科技信息技术有限公司 数据处理方法、装置、设备及存储介质
CN115086300B (zh) * 2022-06-16 2023-09-08 乐视云网络技术(北京)有限公司 一种视频文件调度方法和装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102149005A (zh) * 2011-04-29 2011-08-10 四川长虹电器股份有限公司 自适应带宽控制网络视频质量的方法
CN102957672A (zh) * 2011-08-25 2013-03-06 中国电信股份有限公司 自适应播放flv媒体流的方法、客户端和***
CN103002272A (zh) * 2011-09-15 2013-03-27 上海聚力传媒技术有限公司 一种切换音视频信息的码率的方法、装置和设备
CN103856806A (zh) * 2012-11-28 2014-06-11 腾讯科技(北京)有限公司 视频流切换方法、装置及***
CN105357591A (zh) * 2015-11-16 2016-02-24 北京理工大学 一种自适应码率视频直播的QoE监控和优化方法
CN105744342A (zh) * 2016-01-28 2016-07-06 腾讯科技(深圳)有限公司 移动终端的数据传输方法和装置
WO2018133601A1 (zh) * 2017-01-20 2018-07-26 中兴通讯股份有限公司 一种流媒体传输方法、装置、服务器及终端
CN108769826A (zh) * 2018-06-22 2018-11-06 广州酷狗计算机科技有限公司 直播媒体流获取方法、装置、终端及存储介质
CN108989880A (zh) * 2018-06-21 2018-12-11 北京邮电大学 一种码率自适应切换方法及***
CN109040801A (zh) * 2018-07-19 2018-12-18 北京达佳互联信息技术有限公司 媒体码率自适应方法、装置、计算机设备及存储介质
CN109769125A (zh) * 2018-12-06 2019-05-17 北京东方广视科技股份有限公司 流媒体码率的动态调整方法、媒体服务器及转码服务器
CN110267100A (zh) * 2019-07-12 2019-09-20 北京达佳互联信息技术有限公司 Flv视频的码率切换方法、装置、电子设备及存储介质
CN110636346A (zh) * 2019-09-19 2019-12-31 北京达佳互联信息技术有限公司 一种码率自适应切换方法、装置、电子设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3980592B2 (ja) * 2004-12-22 2007-09-26 日本電信電話株式会社 通信装置、符号化列送信装置、符号化列受信装置、これらの装置として機能させるプログラムとこれを記録した記録媒体、および符号列受信復号方法、通信装置の制御方法
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
US10320869B2 (en) * 2011-07-07 2019-06-11 Telefonaktiebolaget Lm Ericsson (Publ) Network-capacity optimized adaptive HTTP streaming
EP2769523A4 (en) * 2011-10-17 2015-07-22 Ericsson Telefon Ab L M ADAPTIVE CONTINUOUS DIFFUSION METHOD, LOCAL STORAGE AND ENHANCED POST-STORAGE QUALITY OF A CONTENT FILE
WO2013090280A2 (en) * 2011-12-15 2013-06-20 Dolby Laboratories Licensing Corporation Bandwidth adaptation for dynamic adaptive transferring of multimedia
US20130223509A1 (en) * 2012-02-28 2013-08-29 Azuki Systems, Inc. Content network optimization utilizing source media characteristics
JP5784538B2 (ja) * 2012-03-30 2015-09-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 ストリーミングメディア再生装置、メディアビットレート変更判定方法、及びプログラム
US9613042B1 (en) * 2012-04-09 2017-04-04 Conviva Inc. Dynamic generation of video manifest files
US20150156243A1 (en) * 2012-11-06 2015-06-04 Telefonaktiebolagel LM Ericsson (publ) Controlling resource usage of adaptive streaming sessions for transmission via a radio access network
US9124672B2 (en) * 2012-11-08 2015-09-01 Morega Systems, Inc Adaptive video server with data rate control and methods for use therewith
US9015779B2 (en) * 2013-01-30 2015-04-21 Morega Systems, Inc Streaming video server with segment length control and methods for use therewith
US9438652B2 (en) * 2013-04-15 2016-09-06 Opentv, Inc. Tiered content streaming
US20170147587A1 (en) * 2015-11-23 2017-05-25 Le Holdings (Beijing) Co., Ltd. Method for subtitle data fusion and electronic device
US20190014358A1 (en) * 2016-02-12 2019-01-10 Sony Corporation Information processing apparatus and information processing method
US10820063B2 (en) * 2016-06-10 2020-10-27 Arris Enterprises Llc Manifest customization in adaptive bitrate streaming
CN106454395B (zh) * 2016-09-20 2018-10-12 北京百度网讯科技有限公司 在服务器中用于自适应提供多码率流媒体的方法及装置
CN110290402B (zh) * 2019-07-31 2021-11-05 腾讯科技(深圳)有限公司 一种视频码率调整方法、装置、服务器及存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102149005A (zh) * 2011-04-29 2011-08-10 四川长虹电器股份有限公司 自适应带宽控制网络视频质量的方法
CN102957672A (zh) * 2011-08-25 2013-03-06 中国电信股份有限公司 自适应播放flv媒体流的方法、客户端和***
CN103002272A (zh) * 2011-09-15 2013-03-27 上海聚力传媒技术有限公司 一种切换音视频信息的码率的方法、装置和设备
CN103856806A (zh) * 2012-11-28 2014-06-11 腾讯科技(北京)有限公司 视频流切换方法、装置及***
CN105357591A (zh) * 2015-11-16 2016-02-24 北京理工大学 一种自适应码率视频直播的QoE监控和优化方法
CN105744342A (zh) * 2016-01-28 2016-07-06 腾讯科技(深圳)有限公司 移动终端的数据传输方法和装置
WO2018133601A1 (zh) * 2017-01-20 2018-07-26 中兴通讯股份有限公司 一种流媒体传输方法、装置、服务器及终端
CN108989880A (zh) * 2018-06-21 2018-12-11 北京邮电大学 一种码率自适应切换方法及***
CN108769826A (zh) * 2018-06-22 2018-11-06 广州酷狗计算机科技有限公司 直播媒体流获取方法、装置、终端及存储介质
CN109040801A (zh) * 2018-07-19 2018-12-18 北京达佳互联信息技术有限公司 媒体码率自适应方法、装置、计算机设备及存储介质
CN109769125A (zh) * 2018-12-06 2019-05-17 北京东方广视科技股份有限公司 流媒体码率的动态调整方法、媒体服务器及转码服务器
CN110267100A (zh) * 2019-07-12 2019-09-20 北京达佳互联信息技术有限公司 Flv视频的码率切换方法、装置、电子设备及存储介质
CN110636346A (zh) * 2019-09-19 2019-12-31 北京达佳互联信息技术有限公司 一种码率自适应切换方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2021143362A1 (zh) 2021-07-22
US20210409470A1 (en) 2021-12-30
EP3930335A1 (en) 2021-12-29
EP3930335A4 (en) 2022-06-29
CN113141524A (zh) 2021-07-20
US11528311B2 (en) 2022-12-13

Similar Documents

Publication Publication Date Title
CN113141524B (zh) 资源传输方法、装置、终端及存储介质
CN108600773B (zh) 字幕数据推送方法、字幕展示方法、装置、设备及介质
US10439678B2 (en) Method and system for transfering data between plurality of devices
CN113141514B (zh) 媒体流传输方法、***、装置、设备及存储介质
CN113141523B (zh) 资源传输方法、装置、终端及存储介质
US20110046755A1 (en) Contents reproducing device and method
CN108769726B (zh) 多媒体数据推送方法、装置、存储介质及设备
CN109874043B (zh) 视频流发送方法、播放方法及装置
WO2015038338A1 (en) Browsing videos by searching multiple user comments and overlaying those into the content
CN112995759A (zh) 互动业务处理方法、***、装置、设备及存储介质
CN108600778B (zh) 媒体流发送方法、装置、***及服务器、终端、存储介质
RU2673560C1 (ru) Способ и система воспроизведения мультимедийной информации, стандартизированный сервер и терминал прямой трансляции
TW201738770A (zh) 使用共享及個人裝置合作提供個人化使用者功能
CN113835649A (zh) 一种投屏方法和终端
CN112969093A (zh) 互动业务处理方法、装置、设备及存储介质
US20060200440A1 (en) Method for providing information about multimedia contents in multimedia service system
US20220095020A1 (en) Method for switching a bit rate, and electronic device
US9716919B2 (en) Queue to display additional information for entities in captions
CN109714628B (zh) 播放音视频的方法、装置、设备、存储介质及***
US20240098045A1 (en) Chat interaction method, electronic device, and server
CN112492331B (zh) 直播方法、装置、***及存储介质
CN111698262B (zh) 带宽确定方法、装置、终端及存储介质
CN116264619A (zh) 资源处理方法、装置、服务器、终端、***及存储介质
CN114840283A (zh) 多媒体资源显示方法、装置、终端及介质
KR101979270B1 (ko) 영상표시장치, 이동 단말기, 및 그 동작방법

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