CN108024125A - 一种音视频数据播放方法以及服务器和客户端 - Google Patents
一种音视频数据播放方法以及服务器和客户端 Download PDFInfo
- Publication number
- CN108024125A CN108024125A CN201711072311.9A CN201711072311A CN108024125A CN 108024125 A CN108024125 A CN 108024125A CN 201711072311 A CN201711072311 A CN 201711072311A CN 108024125 A CN108024125 A CN 108024125A
- Authority
- CN
- China
- Prior art keywords
- audio
- video data
- server
- client
- sync
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013507 mapping Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 7
- 241001269238 Data Species 0.000 abstract description 10
- 239000012634 fragment Substances 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26258—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4825—End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking 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放在一个列表里。客户端通过访问不同码率的音视频片段来实现不同码率之间的动态切换。
目前,在HLS、DASH等流媒体协议中,只有制作完成每个音视频片段后,客户端才能访问该音视频片段。因此,当访问直播视频或者其他实时网络节目时,客户端需要等待音视频片段的制作完成才能访问该视频片段,所以客户端播放视频会存在延迟现象,至少延迟一个视频片段的时长。此外,由于此类流协议客户端需要频繁的访问不同视频片段的URI,因此也会造成网络资源的浪费。
以HLS为例,假如一个ts片段时长是10秒,那么在由于网络状态或其他原因导致视频播放发生码率切换时,则客户端至少会延迟10秒的时间,从而导致直播过程中的实时性较差。
由此可见,如何避免因视频切断而引入的延迟以及高资源负荷,成为本领域技术人员亟待解决的技术问题。
发明内容
有鉴于现有技术中的问题,本申请提供了一种音视频数据播放方法,该方法应用于包括服务器与客户端的***,包括:
所述服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据,所述音视频数据包含同步标识,所述同步标识在所述音视频数据中的数据位置对应于所述原始音视频数据的相同时刻;
所述服务器为所述音视频数据配置URI地址,并将所述URI地址对应于所述音视频数据的码率写入预设的播放控制列表;
所述服务器将所述播放控制列表发送至所述客户端,以使所述客户端根据所述播放控制列表向所述服务器下载所述音视频数据。
优选地,在所述服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据之后,还包括:
所述服务器为所述音视频数据生成映射表,所述映射表用于表示所述音视频数据中所述同步标识与数据位置的对应关系。
优选地,还包括:
若在根据原始音视频数据生成所述音视频数据的过程中到达预设时间点,所述服务器在所述音视频数据的当前数据位置中***同步标识,并更新所述映射表。
优选地,在所述服务器将所述播放控制列表发送至所述客户端后,还包括:
所述服务器接收来自所述客户端的音视频数据请求消息;
所述服务器根据所述播放控制列表确定目标音视频数据,其中,所述目标音视频数据与所述音视频数据请求消息对应;
若与所述目标音视频数据对应的映射表中存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,根据与所述音视频数据请求消息中携带的同步标识相匹配的同步标识在所述目的音视频数据中确定目标数据位置,并从所述目标数据位置处向所述客户端发送所述目标音视频数据;
优选地,还包括:
若与所述目标音视频数据对应的所述映射表中不存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据;
若所述音视频数据请求消息中没有携带任何同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据。
相应地,本申请还提出了一种服务器,应用于包括客户端的***,包括:
处理器;以及用于存储处理器可执行指令的存储器;
其中,所述处理器被用于执行如上任一项所述的音视频数据播放方法。
相应地,本申请还提出了一种音视频数据播放方法,应用于包括服务器与客户端的***,包括:
所述客户端从所述服务器下载播放控制列表,并根据所述播放控制列表下载所述服务器生成的音视频数据;
若所述客户端在解析所述音视频数据的过程中依据所述播放控制列表与所述客户端当前的网络状态确定需要切换至另一音视频数据,所述客户端向所述服务器发送音视频数据请求消息,所述音视频数据请求消息中携带所述客户端在解析所述音视频数据过程中所获取的最新的同步标识。
优选地,据所述播放控制列表下载所述服务器生成的音视频数据,具体为:
所述客户端按照所述码率从小到大的顺序从所述播放控制列表下载所述音视频数据。
相应地,本申请还提出了一种客户端,应用于包括服务器的***,包括:
处理器;以及用于存储处理器可执行指令的存储器;
其中,所述处理器被用于执行如上任一项所述的音视频数据播放方法。
由此可见,通过应用本申请的技术方案,服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据,该音视频数据包含同步标识,并且同步标识在音视频数据中的数据位置对应于原始音视频数据的相同时刻,后续服务器为音视频数据配置URI地址,并将URI地址对应于音视频数据的码率写入预设的播放控制列表,服务器将播放控制列表发送至客户端,以使客户端根据播放控制列表向服务器下载音视频数据。该方案由服务器针对不同码率预先生成多个音视频数据,并且在音视频数据中设置同步标识,从而避免了在不同视频片段之间切换所导致的延迟以及资源浪费,提升了用户的使用体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种音视频数据播放方法的流程示意图;
图2为本申请实施例提供的另一种音视频数据播放方法的流程示意图;
图3为本申请具体实施例的流程示意图;
图4为本申请具体实施例播放控制列表格式示意图;
图5为本申请实施例服务器生成音视频数据的流程示意图;
图6为客户端处理音视频数据请求消息的流程示意图;
图7为客户端播放音视频数据的流程示意图。
具体实施方式
为了解决背景技术中的问题,本申请提出了一种音视频数据播放方法,该方法无需将视频切段,而是在视频制作时加入同步标识来解决不同码率视频之间切换的同步问题。服务器端进行直播时录制成不同码率的码流,并将所***流的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所示:
码流一映射表
表1
码流二映射表
表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地址对应于所述音视频数据的码率写入预设的播放控制列表;
所述服务器为所述音视频数据配置URI地址,并将所述URI地址对应于所述音视频数据的码率写入预设的播放控制列表;
所述服务器将所述播放控制列表发送至所述客户端,以使所述客户端根据所述播放控制列表向所述服务器下载所述音视频数据。
所述服务器将所述播放控制列表发送至所述客户端,以使所述客户端根据所述播放控制列表向所述服务器下载所述音视频数据。
2.如权利要求1所述的方法,其特征在于,在所述服务器根据待录制的原始音视频数据分别生成与多个预设码率对应的音视频数据之后,还包括:
所述服务器为所述音视频数据生成映射表,所述映射表用于表示所述音视频数据中所述同步标识与数据位置的对应关系。
3.如权利要求2所述的方法,其特征在于,还包括:
若在根据原始音视频数据生成所述音视频数据的过程中到达预设时间点,所述服务器在所述音视频数据的当前数据位置中***同步标识,并更新所述映射表。
4.如权利要求1-3任一项所述的方法,其特征在于,在所述服务器将所述播放控制列表发送至所述客户端后,还包括:
所述服务器接收来自所述客户端的音视频数据请求消息;
所述服务器根据所述播放控制列表确定目标音视频数据,其中,所述目标音视频数据与所述音视频数据请求消息对应;
若与所述目标音视频数据对应的映射表中存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,根据与所述音视频数据请求消息中携带的同步标识相匹配的同步标识在所述目的音视频数据中确定目标数据位置,并从所述目标数据位置处向所述客户端发送所述目标音视频数据。
5.如权利要求4所述的方法,其特征在于,还包括:
若与所述目标音视频数据对应的所述映射表中不存在与所述音视频数据请求消息中携带的同步标识相匹配的同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据;
若所述音视频数据请求消息中没有携带任何同步标识,从所述目标音视频数据的最新同步标识所对应的数据位置处向所述客户端发送所述目标音视频数据。
6.一种服务器,应用于包括所述服务器以及客户端的***,其特征在于,包括:
处理器;以及用于存储处理器可执行指令的存储器;
其中,所述处理器被用于执行权利要求1-5任一项所述的音视频数据播放方法。
7.一种音视频数据播放方法,应用于包括服务器与客户端的***,其特征在于,包括:
所述客户端从所述服务器下载播放控制列表,并根据所述播放控制列表下载所述服务器生成的音视频数据;
若所述客户端在解析所述音视频数据的过程中依据所述播放控制列表与所述客户端当前的网络状态确定需要切换至另一音视频数据,所述客户端向所述服务器发送音视频数据请求消息,所述音视频数据请求消息中携带所述客户端在解析所述音视频数据过程中所获取的最新的同步标识。
8.如权利要求7所述的方法,其特征在于,据所述播放控制列表下载所述服务器生成的音视频数据,具体为:
所述客户端按照所述码率从小到大的顺序从所述播放控制列表下载所述音视频数据。
9.一种客户端,应用于包括所述客户端以及服务器的***,其特征在于,包括:
处理器;以及用于存储处理器可执行指令的存储器;
其中,所述处理器被用于执行权利要求7或8任一项所述的音视频数据播放方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711072311.9A CN108024125A (zh) | 2017-11-03 | 2017-11-03 | 一种音视频数据播放方法以及服务器和客户端 |
PCT/CN2017/120233 WO2019085243A1 (zh) | 2017-11-03 | 2017-12-29 | 一种音视频数据播放方法以及服务器和客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711072311.9A CN108024125A (zh) | 2017-11-03 | 2017-11-03 | 一种音视频数据播放方法以及服务器和客户端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108024125A true CN108024125A (zh) | 2018-05-11 |
Family
ID=62079726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711072311.9A Pending CN108024125A (zh) | 2017-11-03 | 2017-11-03 | 一种音视频数据播放方法以及服务器和客户端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108024125A (zh) |
WO (1) | WO2019085243A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737862A (zh) * | 2018-05-23 | 2018-11-02 | 浙江大华技术股份有限公司 | 一种生成视频码流片段的方法和装置 |
CN109698928A (zh) * | 2018-11-15 | 2019-04-30 | 贵阳朗玛信息技术股份有限公司 | 一种调节视频会议***中视频流的方法及装置 |
CN112752123A (zh) * | 2020-12-28 | 2021-05-04 | 上海哔哩哔哩科技有限公司 | 一种网络质量评估方法与装置 |
Citations (4)
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 | 乐视致新电子科技(天津)有限公司 | 直播音频切换方法、流媒体服务器及客户端 |
-
2017
- 2017-11-03 CN CN201711072311.9A patent/CN108024125A/zh active Pending
- 2017-12-29 WO PCT/CN2017/120233 patent/WO2019085243A1/zh active Application Filing
Patent Citations (4)
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 | 乐视致新电子科技(天津)有限公司 | 直播音频切换方法、流媒体服务器及客户端 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737862A (zh) * | 2018-05-23 | 2018-11-02 | 浙江大华技术股份有限公司 | 一种生成视频码流片段的方法和装置 |
CN109698928A (zh) * | 2018-11-15 | 2019-04-30 | 贵阳朗玛信息技术股份有限公司 | 一种调节视频会议***中视频流的方法及装置 |
CN109698928B (zh) * | 2018-11-15 | 2021-04-13 | 贵阳朗玛信息技术股份有限公司 | 一种调节视频会议***中视频流的方法及装置 |
CN112752123A (zh) * | 2020-12-28 | 2021-05-04 | 上海哔哩哔哩科技有限公司 | 一种网络质量评估方法与装置 |
CN112752123B (zh) * | 2020-12-28 | 2022-03-25 | 上海哔哩哔哩科技有限公司 | 一种网络质量评估方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019085243A1 (zh) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI716018B (zh) | 動態縮減替換內容之播放以幫助對齊替換內容之結束與已替換內容之結束 | |
US10523726B2 (en) | Real-time or near real-time streaming | |
US9338206B2 (en) | Method and apparatus for playing live content | |
CN103200461B (zh) | 一种多台播放终端同步播放***及播放方法 | |
US20220286718A1 (en) | Method for playing back live-streaming video, and device thereof | |
CN111418215B (zh) | 媒体客户端、方法、非暂时性数据存储装置 | |
JP2007173987A (ja) | マルチメディアデータ送受信システム、及び装置、又はプログラム | |
JP2018121329A (ja) | 動画再生方法及び装置 | |
CN112839238B (zh) | 投屏播放方法、装置和存储介质 | |
CN108024125A (zh) | 一种音视频数据播放方法以及服务器和客户端 | |
CN110620950B (zh) | 一种音视频文件的存储方法、装置及设备 | |
US9332421B2 (en) | Method and apparatus for random access to multimedia content in wireless communication system | |
JP2017055379A (ja) | 情報機器および配信装置 | |
JP6869135B2 (ja) | 再生装置、再生装置の制御方法、及び、プログラム | |
CN103648021B (zh) | 从usb存储设备播放网络视频文件的方法 | |
CN107948703A (zh) | 播放进度同步方法及装置 | |
JP2015104075A (ja) | メディア再生制御装置、メディア再生制御方法、及びプログラム | |
JP2004104704A (ja) | 映像再生装置、映像再生方法、プログラム | |
CN107484040A (zh) | 一种实现网络加速的方法 | |
JP2017225044A (ja) | コンテンツ配信システムのクライアント装置、コンテンツの取得方法及びプログラム | |
CN105323653B (zh) | 一种播放片段视频的方法及设备 | |
JP6275906B1 (ja) | 動画コンテンツを再生するためのプログラム及び方法、並びに、動画コンテンツを配信及び再生するためのシステム | |
JP2016091436A (ja) | 通信装置、通信方法、及び、プログラム | |
JP5178947B2 (ja) | サーバ、データ配信システム及び情報配信方法 | |
CN106454512A (zh) | 播放器事件统计方法、装置、播放器及终端设备 |
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 | ||
CB02 | Change of applicant information |
Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant after: Hisense Visual Technology Co., Ltd. Address before: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180511 |
|
RJ01 | Rejection of invention patent application after publication |