WO2019085243A1 - 一种音视频数据播放方法以及服务器和客户端 - Google Patents

一种音视频数据播放方法以及服务器和客户端 Download PDF

Info

Publication number
WO2019085243A1
WO2019085243A1 PCT/CN2017/120233 CN2017120233W WO2019085243A1 WO 2019085243 A1 WO2019085243 A1 WO 2019085243A1 CN 2017120233 W CN2017120233 W CN 2017120233W WO 2019085243 A1 WO2019085243 A1 WO 2019085243A1
Authority
WO
WIPO (PCT)
Prior art keywords
audio
video data
server
client
synchronization identifier
Prior art date
Application number
PCT/CN2017/120233
Other languages
English (en)
French (fr)
Inventor
李斌
周杰
Original Assignee
青岛海信电器股份有限公司
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 青岛海信电器股份有限公司 filed Critical 青岛海信电器股份有限公司
Publication of WO2019085243A1 publication Critical patent/WO2019085243A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种音视频数据播放方法。服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据,该音视频数据包含同步标识,并且同步标识在音视频数据中的数据位置对应于原始音视频数据的相同时刻,后续服务器为音视频数据配置URI地址,并将URI地址对应于音视频数据的码率写入预设的播放控制列表,服务器将播放控制列表发送至客户端,以使客户端根据播放控制列表向服务器下载音视频数据。该方案由服务器针对不同码率预先生成多个音视频数据,并且在音视频数据中设置同步标识,从而避免了在不同视频片段之间切换所导致的延迟以及资源浪费,提升了用户的使用体验。

Description

一种音视频数据播放方法以及服务器和客户端 技术领域
本申请涉及音视频播放领域,特别涉及一种音视频数据播放方法以及服务器和客户端。
背景技术
相关技术中,在实现直播的码率自适应功能时,一般采用HLS(Live Streaming,动态码率自适应技术)、DASH(Dynamic Adaptive Streaming,动态自适应流)等流媒体协议。而这些流媒体协议都是将音视频分成较小的片段,并将这些音视频小片段的网络地址URI(Uniform Resource Identifier,统一资源标识符)放在一个列表里。客户端通过访问不同码率的音视频片段来实现不同码率之间的动态切换。
发明内容
本申请提供了一种音视频数据播放方法,该方法应用于包括服务器与客户端的系统,包括:
所述服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据,所述音视频数据包含同步标识,所述同步标识在所述音视频数据中的数据位置对应于所述原始音视频数据的相同时刻;
所述服务器为所述音视频数据配置URI地址,并将所述URI地址对应于所述音视频数据的码率写入预设的播放控制列表;
所述服务器将所述播放控制列表发送至所述客户端,以使所述客户端根据所述播放控制列表向所述服务器下载所述音视频数据。
可选地,在所述服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据之后,还包括:
所述服务器为所述音视频数据生成映射表,所述映射表用于表示所述音视频数据中所述同步标识与数据位置的对应关系。
可选地,还包括:
若在根据原始音视频数据生成所述音视频数据的过程中到达预设时 间点,所述服务器在所述音视频数据的当前数据位置中插入同步标识,并更新所述映射表。
可选地,在所述服务器将所述播放控制列表发送至所述客户端后,还包括:
所述服务器接收来自所述客户端的音视频数据请求消息;
所述服务器根据所述播放控制列表确定目标音视频数据,其中,所述目标音视频数据与所述音视频数据请求消息对应;
若与所述目标音视频数据对应的映射表中存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,根据与所述音视频数据请求消息中携带的同步标识相匹配的同步标识在所述目的音视频数据中确定目标数据位置,并从所述目标数据位置处向所述客户端发送所述目标音视频数据;
可选地,还包括:
若与所述目标音视频数据对应的所述映射表中不存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据;
若所述音视频数据请求消息中没有携带任何同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据。
相应地,本申请还提出了一种服务器,应用于包括客户端的系统,包括:
处理器;以及用于存储处理器可执行指令的存储器;
其中,所述处理器配置为执行所述指令以实现上述服务器一侧的音视频数据播放方法。
相应地,本申请还提出了一种音视频数据播放方法,包括:
所述客户端从所述服务器下载播放控制列表,并根据所述播放控制列表从所述服务器下载音视频数据;
若所述客户端在解析所述音视频数据的过程中依据所述播放控制列表与所述客户端当前的网络状态确定需要切换至另一音视频数据,所述客户端向所述服务器发送音视频数据请求消息,所述音视频数据请求消息中携带所述客户端在解析所述音视频数据过程中所获取的最新的同步标识。
可选地,根据所述播放控制列表下载所述服务器生成的音视频数据,包括:
所述客户端按照码率从小到大的顺序从所述播放控制列表下载所述音视频数据。
相应地,本申请还提出了一种客户端,包括:
处理器;以及用于存储处理器可执行指令的存储器;
其中,所述处理器配置为执行所述指令以实现上述客户端一侧的音视频数据播放方法。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种音视频数据播放方法的流程示意图;
图2为本申请实施例提供的另一种音视频数据播放方法的流程示意图;
图3为本申请具体实施例的流程示意图;
图4为本申请具体实施例播放控制列表格式示意图;
图5为本申请实施例服务器生成音视频数据的流程示意图;
图6为客户端处理音视频数据请求消息的流程示意图;
图7为客户端播放音视频数据的流程示意图。
具体实施方式
目前,在HLS、DASH等流媒体协议中,只有制作完成每个音视频片段后,客户端才能访问该音视频片段。因此,当访问直播视频或者其他实时 网络节目时,客户端需要等待音视频片段的制作完成才能访问该视频片段,所以客户端播放视频会存在延迟现象,至少延迟一个视频片段的时长。此外,由于此类流协议客户端需要频繁的访问不同视频片段的URI,因此也会造成网络资源的浪费。
以HLS为例,假如一个ts片段时长是10秒,那么在由于网络状态或其他原因导致视频播放发生码率切换时,则客户端至少会延迟10秒的时间,从而导致直播过程中的实时性较差。
由此可见,如何避免因视频切断而引入的延迟以及高资源负荷,成为本领域技术人员亟待解决的技术问题。
本申请提出了一种音视频数据播放方法,该方法无需将视频切段,而是在视频制作时加入同步标识来解决不同码率视频之间切换的同步问题。服务器端进行直播时录制成不同码率的码流,并将所有码流的URI放到一个播放控制表里面。客户端播放视频时,首先下载该播放控制表并缓存,然后根据网络情况的变化来主动选择合适的码流进行下载并播放,客户端在发出网络连接请求时,需要增加同步标识参数,以实现不同码率视频之间的无缝切换。如图1所示,为本申请实施例提供的一种服务器音视频数据播放方法的流程示意图。该方法的实施过程如下:
步骤S101、所述服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据,所述音视频数据包含同步标识,所述同步标识在所述音视频数据中的数据位置对应于所述原始音视频数据的相同时刻。
本申请的技术方案由服务器将原始音视频数据对应于多个码率生成整段的音视频数据,这样避免了同一码率对应多个视频片段的问题。此外,如果客户端在播放音视频的过程中切换码率,则服务器需要确定当前音视频的播放进度,也就是确定当前音视频文件播放到的音视频时间点,进而在确定切换的码率对应的音视频数据后,从当前音视频播放到的音视频时间点开始向客户端发送音视频数据。
在上述过程中,服务器所生成的音视频数据中包含同步标识,并且同步标识在所述音视频数据中的数据位置对应于所述原始音视频数据的相同时刻。换言之,同步标识在原始音视频数据的时刻,与音视频数据的数 据位置所对应的时刻是一样的,这样保证了视频切换过程中的一致性和准确性。
举例来说,例如音视频数据一中有相邻的三个同步标识X1、X2、X3,则与音视频数据一码率不同的音视频数据二中也存在有时间标识X1’、X2’、X3’。音视频数据一的X1与X2之间是标准时间某天15点30分01秒100毫秒至15点30分01秒200毫秒的音视频数据,X2与X3之间是15点30分01秒200毫秒至15点30分01秒300毫秒的音视频数据,则音视频数据二中的X1’与X2’之间是同样是15点30分01秒100毫秒至15点30分01秒200毫秒的音视频数据,X2’与X3’之间是15点30分01秒200毫秒至15点30分01秒300毫秒的音视频数据。
如果客户端在播放音视频数据的过程中切换码率,则服务器可以根据音视频数据中的同步标识确定当前音视频文件播放到的音视频时间点,在确定切换的目的音视频数据后,从当前音视频文件播放到的音视频时间点对应的同步标识处开始向客户端发送音视频数据,就可以使切换码率的前后,音视频文件的播放能平滑过渡,不会存在重复播放或者遗漏播放等问题。
由于同一个音视频文件对应不同码率的音视频数据的大小不相同,相同的音视频时间点在不同码率对应的音视频数据中的数据位置也不相同。因此如何方便的确定同步标识在切换音视频数据中数据位置对播放视频片段有很大的影响。为此,本申请的一些实施例中在所述服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据之后由服务器为所述音视频数据生成映射表,所述映射表用于表示所述音视频数据中所述同步标识与数据位置的对应关系。后续在视频播放的过程中,如果发生切换码率的操作,则服务器根据该映射表确定同步标识在音视频数据中的数据位置,进而从该数据位置开始向客户端发送音视频数据。
基于上述映射表,为了使得对应不同码率的音视频数据的映射表中保存有该音视频数据的最新的同步标识与该同步标识在音视频数据中的数据偏移的对应关系,在本申请的一些实施例中,服务器在生成音视频的过程中,若在根据原始音视频数据生成所述音视频数据的过程中到达预设时 间点,所述服务器在所述音视频数据的当前数据位置中插入同步标识,并更新所述映射表。
需要说明的是,尽管上述实施例以映射表的方式对同步标识的记录进行了阐述,但是本申请并不仅限于此。在能使服务器基于该映射表,根据音视频数据中的同步标识,确定该同步标识在该音视频数据中的数据位置的前提下,服务器为各音视频数据生成映射表或者其他的方式的变化并不影响本申请的保护范围。
需要说明的是,在能使对应不同码率的音视频数据的映射表中,保存有音视频数据的最新的同步标识与该同步标识在音视频数据中的数据偏移的对应关系的前提下,在音视频数据中每插入一个同步标识,则对应更新该音视频数据的映射表的方式或者其他的方式的变化并不会影响本申请的保护范围。
需要说明的是,若是生成音视频数据的过程中到达音视频的预设时间点,则插入同步标识,使相同的同步标识在各音视频数据中的数据位置对应于原始音视频数据的相同时刻。在能使相同同步标识在各音视频数据中的数据位置对应于原始音视频数据的相同时刻的前提下,在生成音视频数据的过程中到达音视频的预设时间点,则插入同步标识的方式或者其他方式的变化并不影响本申请的保护范围。
步骤S102、所述服务器为所述音视频数据配置URI地址,并将所述URI地址对应于所述音视频数据的码率写入预设的播放控制列表。
本申请实施例中,在生成音视频数据后,服务器需要记录音视频数据的URI地址,以便在播放音视频阶段,根据该URI地址将音视频数据发送给客户端。为此,服务器配置有播放控制列表,该播放控制列表中维护有不同码率的音视频数据及音视频数据的URI地址。服务器使用该播放控制列表记录音视频数据的URI地址。
步骤S103、所述服务器将所述播放控制列表发送至所述客户端,以使所述客户端根据所述播放控制列表向所述服务器下载所述音视频数据。
本申请实施例中,客户端在播放音视频时,需要确定播放的目的音视频数据,进而从服务器下载目的音视频数据。因此,服务器在生成音视频 数据,并将音视频数据的URI地址对应于码率添加到播放控制列表后,将该播放控制列表发送给客户端,客户端可以根据该播放控制列表确定需要播放的码率,根据需要播放的码率向服务器发送音视频数据请求消息,进而从服务器下载需要播放的目的音视频数据。
客户端在接收到来自服务器的播放控制列表后,确定需要播放的码率,并向服务器发送携带该码率对应的目的音视频数据的信息的音视频数据请求消息,服务器根据该音视频数据请求消息向服务器发送目的音视频数据。
在本申请的一些实施例中,服务器进一步通过以下步骤向客户端发送音视频数据:
步骤A、所述服务器接收来自所述客户端的音视频数据请求消息;
步骤B、所述服务器根据所述播放控制列表确定目标音视频数据,其中,所述目标音视频数据与所述音视频数据请求消息对应;
步骤C、若与所述目标音视频数据对应的映射表中存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,根据与所述音视频数据请求消息中携带的同步标识相匹配的同步标识在所述目的音视频数据中确定目标数据位置,并从所述目标数据位置处向所述客户端发送所述目标音视频数据。
上述过程以与目标音视频数据对应的映射表中存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识进行了描述,但在目的音视频数据的映射表中不存在音视频数据请求消息中携带的同步标识的情况下,可能是该音视频数据请求消息中携带的同步标识发生异常(例如过期或者错误)或者是还未生成该同步标识(例如音视频数据请求消息中含有同步标识X5,但是目前音视频数据里只包含X4,则从X4开始播放)。因此,对于同步标识不存在的情况,本申请一些实施例以下述情况为例进行说明:
(1)若与所述目标音视频数据对应的所述映射表中不存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据;
(2)若所述音视频数据请求消息中没有携带任何同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据。
以上流程以服务器的角度对本申请技术方案进行了描述,对于系统中的客户端,如图2所示,为本申请实施例提供的一种客户端音视频数据播放方法的流程示意图。该方法的实施过程如下:
步骤S201、所述客户端从所述服务器下载播放控制列表,并根据所述播放控制列表下载所述服务器生成的音视频数据。
客户端在播放音视频时,根据当前的网络环境选择选择播放的码率,进而根据该码率下载对应的音视频数据以进行播放,而本申请中,播放控制列表中维护有不同码率对应的音视频数据及各音视频数据的URI,客户端可以根据该播放控制列表确定音视频的不同码率对应的音视频数据。因此,本申请实施例中,客户端根据当前的网络环境选择选择播放的码率,从服务器下载播放控制列表,进而依据该播放控制列表及确定的码率从服务器下载对应的音视频数据。
客户端播放的音视频文件存在多种码率的音视频数据,码率不同的音视频数据的播放受网络环境的影响不同。码率越小,对网络环境的要求越高。因此,选择播放码率的方式会影响客户端播放音视频的质量。而刚开始播放音视频时的网络环境要好于已经播放一段时间后的网络环境。因此,在本申请的一些实施例中,客户端依据播放控制列表,按照码率从小到大的顺序开始下载音视频数据。
需要说明的是,本申请实施例中,按照码率从小到大的顺序开始下载音视频数据,使客户端选择播放的码率与当前的网络环境匹配,提高音视频的播放质量。在能使客户端选择播放的码率与当前的网络环境匹配,提高音视频的播放质量的前提下,按照码率从小到大的顺序开始下载音视频数据的方式,或者其他方式的变化并不影响本申请的保护范围。
步骤S202、若所述客户端在解析所述音视频数据的过程中依据所述播放控制列表与所述客户端当前的网络状态确定需要切换至另一音视频数据,所述客户端向所述服务器发送音视频数据请求消息,所述音视频数据 请求消息中携带所述客户端在解析所述音视频数据过程中所获取的最新的同步标识。
客户端播放的音视频有多种码率,不同码率在不同网络环境中的播放效果是不同的。而在播放音视频的过程中,网络环境在不断的变化。因此,客户端在播放音视频的过程中,当网络环境发生变化时,需要根据网络环境的变化不断切换适合当前网络环境的码率对应的音视频数据,才能保证播放的质量。因此,本申请实施例中,依据播放控制列表与网络状态判断是否需要切换音视频数据。
在本申请的一个具体应用场景中,客户端在播放过程中实时监控网络环境,在解析音视频数据遇到同步标识时,也就是音视频文件每次播放到预设的时间点,客户端就基于当前的网络状态,查询控制播放列表,判断当前网络状态对应的码率是否与当前播放的码率相同,进而判断是否需要切换音视频数据。如果相同则不需要切换音视频数据,否则需要将当前播放的码率对应的音视频数据切换成播放控制列表中与当前网络状态对应的码率。
与相关技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据,该音视频数据包含同步标识,并且同步标识在音视频数据中的数据位置对应于原始音视频数据的相同时刻,后续服务器为音视频数据配置URI地址,并将URI地址对应于音视频数据的码率写入预设的播放控制列表,服务器将播放控制列表发送至客户端,以使客户端根据播放控制列表向服务器下载音视频数据。该方案由服务器针对不同码率预先生成多个音视频数据,并且在音视频数据中设置同步标识,从而避免了在不同视频片段之间切换所导致的延迟以及资源浪费,提升了用户的使用体验。
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性 劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的具体实施例应用于包括服务器与客户端的应用场景。其中,服务器用于生成对应于不同码率的音视频数据,并向客户端发送音视频数据。客户端用于从服务器下载音视频数据并播放,并在播放的过程中根据网络情况确定是否需要切换码率。
如图3所示,为本申请具体实施例的流程示意图。该实施例具体如下:
步骤S301、服务器根据原始音视频数据对应于不同码率生成音视频数据,并将音视频数据的URI地址对应于该音视频数据的码率写入预设的播放控制列表。
服务器根据待播放的音视频对应不同码率生成音视频数据,配置与各音视频数据对应的URI地址,并将音视频数据的URI地址和相应的码率都存放在预设于服务器的播放控制列表。该播放控制列表是一个通用的可识别的文件,例如txt、xml等,且该播放控制表使用服务器端和客户端约定好的语法对音视频数据进行存放。本申请的具体实施例中,播放控制表使用txt文件进行保存,如图4所示,为本申请具体实施例播放控制列表格式示意图。
服务器生成音视频数据的过程如图5所示,为本申请实施例服务器生成音视频数据的流程示意图。生成音视频数据的过程具体由如下步骤组成:
步骤S501、服务器录入原始音视频数据,根据该原始音视频数据对应不同码率生成音视频数据,同时对应每个码率的音视频数据生成同步标识与数据位置的映射表。
步骤S502、若是生成音视频数据的过程中到达音视频的预设时间点,则插入同步标识,并更新该音视频数据的映射表;
步骤S503、否则,生成不同码率的音视频数据。
本申请实施例中,在生成音视频数据过程中,在音视频的预设时间点插入同步标识。该音视频数据中的每两个同步标识之间的音视频数据都是可独立解码,并且同一个音视频数据内的同步标识在数据可访问的区间内必须是唯一的。各音视频数据包含的同步标识与其他音视频数据包含的同步标识是相同的。而且,相同的同步标识在各音视频数据中的数据位置对 应于原始音视频数据的相同时刻。例如:本申请实施例中,音视频数据一中有相邻的三个同步标识X1、X2、X3,其中X1与X2之间是标准时间某天15点30分01秒100毫秒至15点30分01秒200毫秒的音视频数据,X2与X3之间是15点30分01秒200毫秒至15点30分01秒300毫秒的音视频数据,则音视频数据二中必须有相同的时间标识X1、X2、X3,且X1与X2之间是同样是15点30分01秒100毫秒至15点30分01秒200毫秒的音视频数据,X2与X3之间是15点30分01秒200毫秒至15点30分01秒300毫秒的音视频数据。另外,在每个音视频数据中只有唯一的X1、X2、X3。
本申请实施例中,每个码率的音视频数据都有一个同步标识和数据位置的映射表,服务器可以根据该映射表确定每个同步标识所对应的音视频数据的数据位置。服务器在更新音视频数据内容时需要同步更新对应的映射表。服务器在切换音视频数据时,需要根据该映射表与音视频数据中的同步标识,确定当前音视频文件播放到的音视频时间点,进而将切换的音视频数据从当前音视频文件播放到的音视频时间点开始向客户端发送音视频数据。映射表可以由服务器自己定义格式,本申请实施例中,音视频数据一与音视频数据二都包含X1、X2、X3三个同步标识。音视频数据一的映射表如表1所示,音视频数据二的映射表如表2所示:
码流一映射表
Figure PCTCN2017120233-appb-000001
表1
码流二映射表
Figure PCTCN2017120233-appb-000002
表2
步骤S302、服务器根据来自客户端的音视频数据请求消息向客户端发送音视频数据。
步骤S302的具体流程如图6所示,为客户端处理音视频数据请求消息的流程示意图。客户端处理音视频数据请求消息的流程具体由以下步骤组成:
步骤S601、服务器接收客户端的音视频数据请求消息。
步骤S602、根据音视频数据请求消息中的URI判断该音视频数据请求消息是否合法,若合法,执行步骤S604,否则执行步骤S603。
步骤S603、则服务器向客户端发送错误消息。
步骤S604、则根据音视频数据请求消息确定需要发送的音视频数据,判断音视频数据请求消息中是否包含同步标识,若是,执行步骤S606,否则执行步骤S605。
步骤S605、从该音视频数据的最新的同步标识处开始向客户端发送音视频数据信息。
步骤S606、判断该音视频数据对应的映射表中是否包含该同步标识,若是,执行步骤S607.,否则,执行步骤S605。
步骤S607、从该音视频数据的映射表中该同步标识对应的数据位置处开始向客户端发送音视频数据信息。
步骤S303、客户端播放音视频数据。
客户端播放音视频数据的流程如图7所示,为客户端播放音视频数据的流程示意图。客户端播放音视频数据的流程具体由以下的步骤组成:
步骤S701、客户端下载播放控制列表,确定码率最小的音视频数据,并向服务器发送包含该音视频数据信息的音视频数据请求消息。
步骤S702、客户端依据播放控制列表从服务器下载音视频数据并解析。
步骤S703、判断解析过程是否遇到同步标识,若是,执行步骤S705,否则执行步骤S704。
步骤S704、继续缓存并解析音视频数据。
步骤S705、依据播放控制列表与当前的平均网速判断是否需要切换音视频数据,若是,执行步骤S706,否则执行步骤S704。
步骤S706、依据播放控制列表与当前的平均网速确定切换的音视频数据,并向服务器发送包含该同步标识与该音视频数据信息的音视频数据请求消息。返回执行步骤S702,客户端依据播放控制列表下载并解析切换的音视频数据直到遇到下一个同步标识,切换播放的音视频数据信息。
本申请实施例中,服务器端将所有音视频数据的网络地址以及各音视频数据的码率都放在一个播放控制表里面,客户端访问时会先下载该播放控制表,然后根据网络情况选择相应码率的音视频数据进行下载。本申请具体实施例中,服务器端同时录制了分辨率为1280*720p和1920*1080p的两个音视频数据,客户端网络情况好的时候会选择1920*1080p的音视频数据进行播放。而在网络情况差时会自动切换到1280*720p的音视频数据,直到网速再次达到1920*1080p的码率要求时再主动切换到1920*1080p的音视频数据。
基于与上述方法同样的发明构思,本申请实施例还提出了一种服务器,应用于包括该服务器和客户端的系统,包括:
处理器;以及用于存储处理器可执行指令的存储器;
其中,所述处理器被用于执行如上所述的音视频数据播放方法。
相应的,本申请还提出了一种客户端,应用于包括该客户端以及服务器的系统,包括:
处理器;以及用于存储处理器可执行指令的存储器;
其中,所述处理器被用于执行如上所述的音视频数据播放方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一些实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (9)

  1. 一种音视频数据播放方法,其特征在于,所述方法包括:
    服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据,所述音视频数据包含同步标识,所述同步标识在所述音视频数据中的数据位置对应于所述原始音视频数据的相同时刻;
    所述服务器为所述音视频数据配置统一资源标识符(URI)地址,并将所述URI地址对应于所述音视频数据的码率写入预设的播放控制列表;
    所述服务器将所述播放控制列表发送至所述客户端,以使所述客户端根据所述播放控制列表向所述服务器下载所述音视频数据。
  2. 如权利要求1所述的方法,其特征在于,在所述服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据之后,还包括:
    所述服务器为所述音视频数据生成映射表,所述映射表用于表示所述音视频数据中所述同步标识与数据位置的对应关系。
  3. 如权利要求2所述的方法,其特征在于,还包括:
    若在根据原始音视频数据生成所述音视频数据的过程中到达预设时间点,所述服务器在所述音视频数据的当前数据位置中插入同步标识,并更新所述映射表。
  4. 如权利要求1-3任一项所述的方法,其特征在于,在所述服务器将所述播放控制列表发送至所述客户端后,还包括:
    所述服务器接收来自所述客户端的音视频数据请求消息;
    所述服务器根据所述播放控制列表确定目标音视频数据,其中,所述目标音视频数据与所述音视频数据请求消息对应;
    若与所述目标音视频数据对应的映射表中存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,根据与所述音视频数据请求消息中携带的同步标识相匹配的同步标识在所述目的音视频数据中确定目标数据位置,并从所述目标数据位置处向所述客户端发送所述目标音视 频数据。
  5. 如权利要求4所述的方法,其特征在于,还包括:
    若与所述目标音视频数据对应的所述映射表中不存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据;
    若所述音视频数据请求消息中没有携带任何同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据。
  6. 一种服务器,其特征在于,包括:
    处理器;以及用于存储处理器可执行指令的存储器;
    其中,所述处理器配置为执行所述指令以实现权利要求1-5任一项所述的音视频数据播放方法。
  7. 一种音视频数据播放方法,其特征在于,包括:
    客户端从服务器下载播放控制列表,并根据所述播放控制列表从所述服务器下载音视频数据;
    若所述客户端在解析所述音视频数据的过程中依据所述播放控制列表与所述客户端当前的网络状态确定需要切换至另一音视频数据,所述客户端向所述服务器发送音视频数据请求消息,所述音视频数据请求消息中携带所述客户端在解析所述音视频数据过程中所获取的最新的同步标识。
  8. 如权利要求7所述的方法,其特征在于,根据所述播放控制列表从所述服务器下载音视频数据,包括:
    所述客户端按照码率从小到大的顺序从所述播放控制列表下载所述音视频数据。
  9. 一种客户端,其特征在于,包括:
    处理器;以及用于存储处理器可执行指令的存储器;
    其中,所述处理器被用于执行权利要求7或8任一项所述的音视频数据播放方法。
PCT/CN2017/120233 2017-11-03 2017-12-29 一种音视频数据播放方法以及服务器和客户端 WO2019085243A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711072311.9 2017-11-03
CN201711072311.9A CN108024125A (zh) 2017-11-03 2017-11-03 一种音视频数据播放方法以及服务器和客户端

Publications (1)

Publication Number Publication Date
WO2019085243A1 true WO2019085243A1 (zh) 2019-05-09

Family

ID=62079726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/120233 WO2019085243A1 (zh) 2017-11-03 2017-12-29 一种音视频数据播放方法以及服务器和客户端

Country Status (2)

Country Link
CN (1) CN108024125A (zh)
WO (1) WO2019085243A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737862A (zh) * 2018-05-23 2018-11-02 浙江大华技术股份有限公司 一种生成视频码流片段的方法和装置
CN109698928B (zh) * 2018-11-15 2021-04-13 贵阳朗玛信息技术股份有限公司 一种调节视频会议系统中视频流的方法及装置
CN112752123B (zh) * 2020-12-28 2022-03-25 上海哔哩哔哩科技有限公司 一种网络质量评估方法与装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118302A (zh) * 2011-11-16 2013-05-22 汤姆森特许公司 数字内容版本切换的方法以及相应设备
CN103957428A (zh) * 2014-05-16 2014-07-30 中国科学院上海高等研究院 基于众核处理器且带多码率转码功能的流媒体服务器
CN105338425A (zh) * 2015-10-29 2016-02-17 深圳云聚汇数码有限公司 一种实现多屏间视频无缝切换的系统及方法
CN105657579A (zh) * 2015-10-29 2016-06-08 乐视致新电子科技(天津)有限公司 直播音频切换方法、流媒体服务器及客户端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118302A (zh) * 2011-11-16 2013-05-22 汤姆森特许公司 数字内容版本切换的方法以及相应设备
CN103957428A (zh) * 2014-05-16 2014-07-30 中国科学院上海高等研究院 基于众核处理器且带多码率转码功能的流媒体服务器
CN105338425A (zh) * 2015-10-29 2016-02-17 深圳云聚汇数码有限公司 一种实现多屏间视频无缝切换的系统及方法
CN105657579A (zh) * 2015-10-29 2016-06-08 乐视致新电子科技(天津)有限公司 直播音频切换方法、流媒体服务器及客户端

Also Published As

Publication number Publication date
CN108024125A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
JP5588517B2 (ja) データセグメントのオプションのブロードキャスト配信によるストリーミング
US8423659B2 (en) Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US9338208B2 (en) Common event-based multidevice media playback
US8762580B2 (en) Common event-based multidevice media playback
EP2391086B1 (en) Method and apparatus for playing live content
TWI788744B (zh) 動態縮減替換內容之播放以幫助對齊替換內容之結束與已替換內容之結束
US9780894B2 (en) Systems for synchronous playback of media using a hybrid bluetooth™ and Wi-Fi network
JP6290915B2 (ja) 共通イベントベースのマルチデバイスメディア再生
CN105282627A (zh) 一种获取直播视频切片的方法及服务器
JP2016538754A (ja) コンテンツ配信のための方法及び装置
JP2015179551A (ja) メタデータファイルを更新する方法、装置、およびシステム
US20160173347A1 (en) System and method for synchronous media rendering over wireless networks with wireless performance monitoring
US20170104550A1 (en) System for media rebroadcasting for synchronized rendering across multiple devices
WO2019085243A1 (zh) 一种音视频数据播放方法以及服务器和客户端
US20170019198A1 (en) System for synchronous playback of media using a hybrid bluetooth™ and wi-fi network
US10277652B2 (en) Transmission apparatus, transmission method, and program
CN112004132B (zh) 一种视频同步播放方法及装置
US11895350B2 (en) Techniques for providing a content stream based on a delivered stream of content
JP2016091436A (ja) 通信装置、通信方法、及び、プログラム
JP6275906B1 (ja) 動画コンテンツを再生するためのプログラム及び方法、並びに、動画コンテンツを配信及び再生するためのシステム
JP2017225044A (ja) コンテンツ配信システムのクライアント装置、コンテンツの取得方法及びプログラム
JP6885351B2 (ja) 品質予測装置、品質予測方法及びプログラム
KR20170138647A (ko) 미디어 재생 프로그램
RU2655744C2 (ru) Устройство подачи содержания, способ подачи содержания, программа, оконечное устройство и система подачи содержания
CN114124941B (zh) m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17931029

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17931029

Country of ref document: EP

Kind code of ref document: A1