一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频播放的方法、装置及系统与流程

2022-08-17 09:36:06 来源:中国专利 TAG:


1.本技术涉及多媒体技术领域,尤其涉及一种视频播放的方法、装置及系统。


背景技术:

2.在视频播放过程中,播放终端通常首先向媒体服务器请求视频的索引文件,再根据索引文件请求视频分片并播放。其中,视频的索引文件通常包括所述视频的每个分片的url。当播放时间较大,或者每个分片的时长较小时,索引文件通常较大。这样,在视频播放之前,播放终端需要花费较长的时间下载索引文件,从而导致起播时延较长,用户体验差。


技术实现要素:

3.鉴于以上内容,有必要提供一种视频播放的方法、装置及系统,有助于通过简单的方式达到降低起播时延的效果,提升用户体验。
4.第一方面,本技术的一实施例提供一种视频播放的方法,应用于播放终端,该方法包括:向媒体服务器发送第一索引文件请求,所述第一索引文件请求包括视频的标识;接收所述媒体服务器发送的第一索引文件,所述第一索引文件包括第一索引信息、以及第二索引信息包括的视频分的总时长;然后,根据所述第一索引文件从所述媒体服务器获取并播放所述视频分片;向所述媒体服务器发送第二索引文件请求,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长和所述视频的标识;其中,上述第一索引信息包括所述视频的完整索引文件中从首个视频分片开始的预设时长的视频分片的信息,第二索引信息包括所述完整索引文件中所述第一索引信息包括的视频分片之后的视频分片的信息。
5.通过本技术的第一方面,通过让播放终端接收媒体服务器发送的完整索引文件中的部分索引文件,使得播放终端可根据部分索引文件从获取视频分片并播放,而不是下载全部的索引文件后才获取视频分片并播放,从而可通过简单的方式达到降低起播时延的效果,提升用户体验。
6.根据本技术的一些实施例,上述方法还包括:接收所述媒体服务器发送的第二索引文件,所述第二索引文件包括从所述第二索引信息的首个分片开始的预设时长的视频分片的信息;所述第二索引文件还包括第三索引信息包括的视频分片的总时长,所述第三索引信息包括所述完整索引文件中所述第二索引信息包括的视频分片之后的视频分片的信息;向所述媒体服务器发送第三索引文件请求,所述第三索引文件请求包括所述第三索引信息包括的视频分片的总时长和所述视频的标识。通过这样,从而可以让播放终端从所述媒体服务器获取完整的索引文件。
7.根据本技术的一些实施例,所述第一索引文件还包括第二索引信息包括的视频分片的总时长,可以是:所述第一索引文件的can-skip-until的值为所述第二索引信息包括的视频分片的总时长。
8.根据本技术的一些实施例,所述第二索引文件请求包括所述第二索引信息包括的
视频分片的总时长,可以是:所述第二索引文件请求包括hls-skip字段,所述hls-skip字段的值为所述第二索引信息包括的视频分片的总时长。
9.根据本技术的一些实施例,当所述视频的标识对应的视频为时移的内容时,所述第一索引文件请求还包括时移时长信息;所述时移时长信息为时移操作对应的起播点到当前直播点的时间间隔。
10.第二方面,本技术的一实施例还提供一种视频播放的方法,应用于媒体服务器,所述方法包括:接收播放终端发送的第一索引文件请求,所述第一索引文件请求包括视频的标识;根据所述视频的标识生成第一索引文件,并向所述播放终端发送所述第一索引文件;所述第一索引文件包括第一索引信息、以及第二索引信息包括的视频分片的总时长;其中,所述第一索引信息包括所述视频的完整索引文件中从首个视频分片开始的预设时长的视频分片的信息,所述第二索引信息包括所述完整索引文件中所述第一索引信息包括的视频分片之后的视频分片的信息;接收所述播放终端的第二索引文件请求,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长和所述视频的标识。
11.根据本技术的一些实施例,所述方法还包括:向所述播放终端发送第二索引文件,所述第二索引文件包括从所述第二索引信息的首个分片开始的预设时长的视频分片的信息;所述第二索引文件还包括第三索引信息包括的视频分片的总时长,所述第三索引信息包括所述完整索引文件中所述第二索引信息包括的视频分片之后的视频分片的信息;接收所述播放终端发送的第三索引文件请求,所述第三索引文件请求包括所述第三索引信息包括的视频分片的总时长和所述视频的标识。
12.根据本技术的一些实施例,所述第一索引文件还包括第二索引信息包括的视频分片的总时长,可以是:所述第一索引文件的can-skip-until的值为所述第二索引信息包括的视频分片的总时长。
13.根据本技术的一些实施例,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长,可以是:所述第二索引文件请求包括hls-skip字段,所述hls-skip字段的值为所述第二索引信息包括的视频分片的总时长。
14.根据本技术的一些实施例,当所述视频的标识对应的视频为时移的内容时,所述第一索引文件请求还包括时移时长;所述时移时长为时移操作对应的起播点到当前直播点的时间间隔。
15.第三方面,本技术的一实施例还提供一种播放终端,所述播放终端包括至少一个处理器、存储器和通信接口;所述至少一个处理器与所述存储器和所述通信接口耦合;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述至少一个处理器的控制下与目标服务器进行通信;所述指令在被所述至少一个处理器执行时,使所述至少一个处理器执行如上第一方面任意一种可能的实施方式所述的视频播放的方法。
16.第四方面,本技术的一实施例还提供一种服务器,所述服务器包括至少一个处理器、存储器和通信接口;所述至少一个处理器与所述存储器和所述通信接口耦合;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述至少一个处理器的控制下与目标播放终端进行通信;所述指令在被所述至少一个处理器执行时,使所述至少一个处理器执行如上第二方面任意一种可能的实施方式所述的视频播放的方法。
17.第五方面,本技术的一实施例还提供一种播放终端,所述播放终端包括:收发单
元,用于向媒体服务器发送第一索引文件请求,所述第一索引文件请求包括视频的标识;还用于接收所述媒体服务器发送的第一索引文件,所述第一索引文件包括第一索引信息、以及第二索引信息所包括的视频分片的总时长;其中,所述第一索引信息包括所述视频的完整索引文件中从首个视频分片开始的预设时长的视频分片的信息,所述第二索引信息包括所述完整索引文件中所述第一索引信息包括的视频分片之后的视频分片的信息,并根据第一索引文件从媒体服务器获取视频分片;处理单元,用于播放所述收发单元获取的视频分片;所述收发单元,还用于向所述媒体服务器发送第二索引文件请求,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长和所述视频的标识。
18.第六方面,本技术的一实施例还提供一种服务器,所述服务器包括:收发单元,用于接收播放终端发送的第一索引文件请求,所述第一索引文件请求包括视频的标识;处理单元,用于根据所述视频的标识生成第一索引文件;所述第一索引文件包括第一索引信息、以及第二索引信息包括的视频分片的总时长;其中,所述第一索引信息包括所述视频的完整索引文件中从首个视频分片开始的预设时长的视频分片的信息;所述第二索引信息包括所述完整索引文件中所述第一索引信息包括的视频分片之后的视频分片的信息;所述收发单元,还用于向所述播放终端发送所述处理单元生成的所述第一索引文件;并用于接收所述播放终端的第二索引文件请求,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长和所述视频的标识。
19.第七方面,本技术的一实施例还提供一种视频播放系统,所述播放系统包括播放终端和服务器;所述播放终端用于执行如上第一方面任意一种可能的实施方式所述的视频播放的方法,所述服务器用于执行如上第二方面任意一种可能的实施方式所述的视频播放的方法。
20.第八方面,本技术的一实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序使得计算机设备执行如上第一方面或第二方面任意一种可能的实施方式所述的视频播放的方法。
21.第九方面,本技术的一实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从所述计算机可读存储介质中读取所述计算机执行指令,所述至少一个处理器执行所述计算机执行指令使得所述设备执行如上第一方面或第二方面任意一种可能的实施方式所述的视频播放的方法。本技术中第二方面到第九方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第六方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
附图说明
22.图1为本技术实施例提供的视频播放系统的示意图。
23.图2为本技术实施例提供的播放终端的实体结构示意图。
24.图3为本技术实施例提供的媒体服务器实体结构的示意图。
25.图4为本技术实施例提供的一种视频播放的方法的流程图。
26.图5为本技术实施例提供的一种节目单的示意图。
27.图6为本技术实施例提供的一种操作节目单的示意图。
28.图7为本技术实施例提供的另一种操作节目单的示意图。
29.图8为本技术实施例提供的一种进度条的示意图。
30.图9为本技术实施例提供的一种操作进度条的示意图。
31.图10为申请实施例提供的一种播放终端的逻辑结构示意图。
32.图11为本技术实施例提供的一种服务器的逻辑结构示意图。
具体实施方式
33.在本技术实施例的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
34.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术中的技术领域的技术人员通常理解的含义相同。本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。应理解,本技术中除非另有说明,“多个”是指两个或多于两个。
35.现有技术中,媒体服务器可以采取对索引文件进行预先压缩的手段来降低索引文件的大小,从而降低起播时延。但在分片的url中存在动态参数(例如,防盗链参数)的情况下,媒体服务器无法对索引文件进行预先压缩,只能在播放终端请求时进行实时压缩,播放终端也需要播放时进行实时解压缩,而上述的实时压缩和实时解压缩会消耗大量的时间和cpu资源,因而通过所述手段降低起播时延的效果并不好。
36.参考图1所示,为本技术实施例的一种视频播放系统的示意图。如图1所示,所述视频播放系统10包括播放终端20及媒体服务器30。
37.所述播放终端20用于根据对所述播放终端20的操作向媒体服务器30发送视频的索引文件请求,接收媒体服务器30下发的部分索引文件,并根据部分索引文件向媒体服务器30发送视频分片请求,接收媒体服务器30下发的视频分片,并进行播放,继续向媒体服务器30发送视频的索引文件请求直至接收到完整的索引文件。
38.所述媒体服务器30用于根据索引文件请求生成索引文件,并下发部分索引文件至播放终端20,根据视频分片请求获取视频分片,并将视频分片下发至播放终端20,并根据所述视频的索引文件继续向播放终端20下发部分索引文件直至下发完整的索引文件。
39.请同时参考图2所示,为本技术实施例的播放终端的示意图。所述播放终端20可为电视机,电视与机顶盒的组合,手机,平板电脑,个人计算机等。
40.所述播放终端20包括存储器21、处理器22、显示器23及通信接口24。本领域技术人员可以理解,图2中示出的结构并不构成对所述播放终端20的限定,所述播放终端20可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
41.所述存储器21可用于存储软件程序和/或模块/单元。所述处理器22通过运行或执行存储在所述存储器21内的软件程序和/或模块/单元,以及调用存储在存储器21内的数据,实现所述播放终端20的各种功能。所述存储器21可主要包括存储程序区和存储数据区,
其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如网页浏览功能、声音播放功能、图像播放功能等)等;存储数据区可存储根据播放终端20的使用所创建的数据(比如音频数据等)等。此外,存储器21可以包括非易失性计算机可读存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
42.所述处理器22可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器22可以是微处理器或者该处理器22也可以是任何常规的处理器等,所述处理器22是所述播放终端20的控制中心,利用各种接口和线路连接整个播放终端20的各个部分。
43.所述显示器23可为液晶显示器、有机发光显示器、柔性显示器、等离子显示器等。所述显示器23用于显示电视内容。
44.所述通信接口24可包括标准的有线接口、无线接口等。所述通信接口24用于供所述播放终端20与所述媒体服务器30进行通信。
45.请同时参考图3所示,为本技术实施例的媒体服务器的示意图。所述媒体服务器30包括存储器31、处理器32及通信接口33。本领域技术人员可以理解,图3中示出的结构并不构成对所述媒体服务器30的限定,所述媒体服务器30可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
46.所述存储器31可用于存储软件程序和/或模块/单元。所述处理器32通过运行或执行存储在所述存储器31内的软件程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述媒体服务器30的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据媒体服务器30的使用所创建的数据(比如音频数据等)等。此外,存储器31可以包括非易失性计算机可读存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
47.所述处理器32可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述媒体服务器30的控制中心,利用各种接口和线路连接整个媒体服务器30的各个部分。
48.所述通信接口33可包括标准的有线接口、无线接口等。所述通信接口33用于供所述媒体服务器30与所述播放终端20进行通信。
49.参考图4所示,为本技术一实施例的视频播放的方法的流程图。所述视频播放的方法应用于直播时移的场景。所述视频播放的方法包括:
50.s401:播放终端接收时移操作,并确定所述时移操作对应的时移时长信息。
51.在本实施例中,所述播放终端可接收用户或机器人等的时移操作。以下以用户为例进行简单说明。用户通过播放终端观看某个频道直播的内容,为了便于描述,假设用户当前观看的频道为频道a。当用户想要观看频道a的时移内容时,可通过在播放终端上执行时移操作来观看所述时移内容。其中,所述时移内容是指频道a的在当前直播点之前某个时间的内容,所述当前直播点表示当前正在直播的时间点。
52.具体地,用户可以首先通过操作遥控器、手机或平板上预设的某个按键来发起时移请求,例如,用户按下遥控器上的“频道时移”按键。相应地,播放终端在接收到用户的按键事件后,便知道用户想要观看频道a的时移内容,向媒体服务器请求频道a的时移节目单;并在接收到媒体服务器下发的频道a的时移节目单后,向用户呈现所述节目单。如图5所示,所述节目单信息可包括电视节目的标题、时间段等内容。所述电视节目的标题可为例如,视频1、视频2及视频3。时间段可包括例如,视频的播放开始时间和结束时间。可以理解的是,图5是节目单的一种示例,所述节目单还可包括频道等。本技术并不对节目单的内容和形式进行限定。
53.当用户看到播放终端上呈现的时移节目单后,可以进一步通过遥控器等选择自己想要观看的某个时移节目。例如,在图6中,用户可按下遥控器上的方向键左键将焦点从当前正在播放的视频3移动至视频2来选择观看视频2。在图7中,用户可按下遥控器上的方向键左键将焦点从当前正在播放的视频3移动至视频1来选择观看视频1。
54.相应地,播放终端在接收到用户选择的时移节目后,根据用户选择的时移节目确定本次时移操作对应的时移时长信息。其中,时移时长信息是指从当前直播点到用户选择的视频的起始点之间的时间差,如图6所示。在图6中,当前正在播放的视频为视频3,当前直播点为9:20,选择的视频2的起始点为8:00,则所述时移时长信息为当前直播点9:20到用户选择的视频的起始点8:00之间的时间差,即1小时20分钟。可以理解的是,当所述时移操作对应的时移时长大于频道支持的最大时移时长,则可确定所述时移时长信息为所述频道支持的最大时移时长,如图7所示。在图7中,当前直播点为9:20,选择的视频1的起始点为7:00,所述时移操作对应的时移时长为2小时20分钟,大于频道支持的最大时移时长2小时,则可确定所述时移时长信息为2小时。
55.此外,用户还可以通过操作直播进度条来选择想要观看的时移内容。具体地,用户可以首先通过操作遥控器、手机或平板上的按键来发起时移请求,例如,用户按下遥控器上的“确定”按键。相应地,播放终端在接收到用户的按键事件后,便知道用户想要暂停,并观看频道a的时移内容,向媒体服务器请求频道a的直播进度条,并在接收到媒体服务器下发的频道a的直播进度条后,向用户呈现所述直播进度条。如图8所示,所述直播进度条610显示在视频播放界面620的下方。所述直播进度条610上还可显示有进度滑块630。可以理解的是,图8是直播进度条的一种示例。本技术并不对直播进度条的内容和形式进行限定。
56.当用户看到播放终端上呈现的直播进度条后,可以进一步通过遥控器等选择自己想要观看的某个时移节目的时间。例如,在图9中,用户可按下遥控器上的方向键左键、右键拖动进度滑块来选择用户想要观看的视频时间。此时,所述直播进度条610还可显示所述进度滑块630对应的播放点的海报图片640。所述海报图片640可位于所述直播进度条610的上方或下方。
57.相应地,播放终端在接收到用户选择的时移节目后,根据用户选择的时移节目的时间确定本次时移操作对应的时移时长信息。其中,时移时长信息是指从当前直播点到用户选择的时间之间的时间差。如图9所示。在图9中,当前直播点为11:10,用户选择的时间为10:00,则时移时长信息是指从当前直播点11:10到用户选择的时间10:00之间的时间差,即1小时10分钟。可以理解的是,当所述时移操作对应的时移时长大于频道支持的最大时移时长,则可确定所述时移时长信息为所述频道支持的最大时移时长。
58.s402:所述播放终端向媒体服务器发送第一索引文件请求,所述第一索引文件请求中包括频道a的id及所述时移操作对应的时移时长信息。
59.具体地,播放终端向媒体服务器发送第一索引文件请求,所述第一索引文件请求用于向媒体服务器请求上述用户选择的时移节目的索引文件。所述第一索引文件请求中携带的时移时长信息是为了让媒体服务器明确用户选择的时移节目的起始时间点,以便于媒体服务器根据所述起始时间点生成相应的索引文件。所述频道a的id为所述视频的标识。所述频道a的id对应的视频为时移的内容,此时,所述第一索引文件请求中还包括时移时长信息。
60.在具体实现时,直播时移的时移时长信息可以通过hls协议中的skip boundary字段来携带。以图6为例,用户选择的时移节目为视频2,视频2所在的频道a的id为频道1,所述时移操作对应的时移时长信息为4800秒,则所述第一索引文件请求可以为:http://频道1/xxx/xx.m3u8?_hls_skip=4800,即skip boundary字段的值为4800。其中,skip boundary是变量,需要根据直播时移的时移时长的信息进行填充。例如,在所述实施例中,直播时移的时移时长为4800秒,则所述skip boundary字段的值可以填充为4800。
61.s403:媒体服务器根据所述第一索引文件请求生成所述视频的完整索引文件。
62.在本实施例中,所述根据所述第一索引文件请求生成所述视频的完整索引文件包括:
63.根据所述第一索引文件请求中的所述频道a的id及所述时移时长信息确定时移视频的内容;
64.获取所述时移视频的内容的视频分片;
65.根据所述视频分片生成所述视频的完整索引文件。
66.在本实施例中,所述根据所述第一索引文件请求中的所述频道a的id及所述时移时长信息确定时移视频的内容包括:根据所述第一索引文件请求中的所述频道a的id及所述时移时长信息确定时移节目的起始时间点,并根据所述时移节目的起始时间点在所述媒体服务器的存储器或存储服务器中查到时移视频的内容。所述视频分片为按照预设时间间隔预先被划分好。例如,所述预设时间间隔可为2~10秒。显然,所述预设时间间隔可根据需要修改为其他值。则,每个视频分片的时长为所述预设时间间隔。所述视频分片为在接收到所述第一索引文件请求之前,已经被预先划分好,所述媒体服务器在接收到所述第一索引文件请求时,直接获取所述视频分片。所述视频分片的序列号的生成是按照播放时间顺序从小到大。首个视频分片在时间上最靠近所述起播点。
67.s404:若所述视频的完整索引文件大于预设值,所述媒体服务器根据预设时长生成第一索引文件,所述第一索引文件包括第一索引信息,以及第二索引信息包括的视频分片的总时长。
68.所述第一索引信息包括所述视频的完整索引文件中从首个视频分片开始的预设时长的视频分片的信息。例如,以每个视频分片的时长为10秒为例,若直播时移的时移时长为4800秒,则完整索引文件中共包含480个视频分片的信息;如果预设时长为600秒,则所述第一索引信息包括所述480个视频分片中从首个视频分片开始的60个视频分片的信息。
69.所述第二索引信息是指上述完整索引文件中所述第一索引信息包括的视频分片之后的视频分片的信息,如前述的例子,如果完整索引文件包括480个视频分片的信息,第一索引信息包括从首个视频分片开始的60个分片的信息,则第二索引信息包括完整索引文件中从第61个视频分片到最后一个视频分片,即总共420个视频分片的信息,第二索引信息包括的视频分片的总时长为上述420个视频分片的总时长,即为4200秒。所述第二索引信息包括的视频分片的总时长用于通知播放终端所述媒体服务器未下发的视频分片的信息的总时长为多少,从而让播放终端后续根据所述信息请求包括所述第二索引信息的索引文件。
70.以hls协议为例,将所述第二索引信息包括的视频分片的总时长写入所述第一索引文件中包括:设置所述第一索引文件的can-skip-until的值为所述第二索引信息包括的视频分片的总时长。具体地,在m3u8索引文件中增加标签ext-x-server-control,具体定义如下:ext-x-server-control:can-skip-until=所述第二索引信息包括的视频分片的总时长。例如,在上述实施例中can-skip-until=4200。
71.具体地例子如下:
72.#extm3u
73.#ext-x-targetduration:10
74.#ext-x-version:3
75.#ext-x-server-control:can-skip-until=4200
76.#ext-x-skip:skipped-segments=60
77.其中,ext-x-server-control:can-skip-until=4200表示所述视频的完整索引文件中还剩包括4200秒的视频分片的信息的索引文件未发送至所述播放终端。ext-x-skip:skipped-segments=60表示所述第一索引文件中的最后一个视频分片的序列号为60。
78.s405:所述媒体服务器向所述播放终端发送所述第一索引文件。
79.s406:所述播放终端根据所述第一索引文件向所述媒体服务器发送视频分片请求。
80.在本实施例中,所述播放终端根据所述第一索引文件中的从首个视频分片开始的预设时长的视频分片的信息向所述媒体服务器发送视频分片请求。所述视频分片请求中包括从首个视频分片开始的预设时长的视频分片的信息。所述视频分片请求中包括的从首个视频分片开始的预设时长的视频分片的信息可供所述媒体服务器确定用户所请求的视频分片,以便所述媒体服务器下发视频分片。
81.s407:所述媒体服务器根据所述视频分片请求发送视频分片至所述播放终端。
82.s408:所述播放终端播放所述视频分片。
83.可见,在本实施例中,所述播放终端仅需要部分索引文件便可下载视频分片并启动视频播放,无需全部的索引文件,提高了视频直播起播的速度。
84.s409:所述播放终端向所述媒体服务器发送第二索引文件请求,所述第二索引文件请求包括所述频道a的id,以及所述第二索引信息包括的视频分片的总时长。
85.播放终端向媒体服务器发送第二索引文件请求,所述第二索引文件请求用于向媒体服务器请求上述用户选择的时移节目中还未下发的内容。所述第二索引文件请求中携带的第二索引信息包括视频分片的总时长是为了让媒体服务器明确还未下发的时移节目的起始时间点,以便于媒体服务器根据所述起始时间点生成相应的索引文件。在上述实施例中,第二索引文件请求可以为:http://频道1/xxx/xx.m3u8?_hls_skip=4200。
86.在本实施例中,所述播放终端向所述媒体服务器发送第二索引文件请求与所述播放终端向所述媒体服务器发送第一索引文件请求间隔预设时长。所述预设时长可为一个视频分片时长,所述预设时长还可为两个视频分片时长等。
87.s410:所述媒体服务器根据所述第二索引文件请求生成第二索引文件,所述第二索引文件包括从上述第二索引信息的首个视频分片开始的预设时长的视频分片的信息。
88.在所述实施例中,上述第二索引信息包括上述完整索引文件中从第61个视频分片到最后一个视频分片,即总共420个视频分片的信息;预设时长为600秒,则所述第二索引文件包括从第61个视频分片开始的时长为600秒的视频分片的信息,即包括从第61个到第120个视频分片的信息。
89.在所述实施例中,由于媒体服务器在发送完第二索引文件后,仍然没有将完整的索引文件发送给播放终端,所以,所述第二索引文件还包括第三索引信息包括的视频分片的总时长,所述第三索引信息是指所述完整索引文件中所述第二索引信息包括的视频分片之后的视频分片的信息,例如,在所述例子中,完整索引文件包括480个视频分片的信息,第二索引信息中最后一个视频分片为第120个视频分片,则第三索引信息包括所述480个视频分片中从第121个视频分片开始到最后一个视频分片,即总共360个视频分片的信息,则第三索引信息包括的视频分片的总时长为上述360个视频分片的总时长,即为3600秒。
90.所述将所述第三索引信息包括的视频分片的总时长写入所述第二索引文件中的过程可以参见前述将第二索引信息包括的视频分片的总时长写入所述第一索引文件中的过程,在此不再赘述。
91.s411:所述媒体服务器向所述播放终端发送所述第二索引文件。
92.可以理解的是,播放终端在接收到第二索引文件之后,一方面,可类似上述s406-s408的过程,根据第二索引文件向媒体服务器获取视频分片并播放。
93.另一方面,由于上述第二索引文件中包括的所述第三索引信息包括的视频分片的总时长,用于向播放终端指示当前对应的时移的完整索引文件并没有发送完,因此,还会继续向媒体服务器发送索引文件请求。在所述实施例中,播放终端发现第二索引文件中还包括第三索引信息包括的视频分片的总时长,因而知道还有索引文件待请求,于是会按照类似上述s409的过程,向媒体服务器发送第三索引文件请求,用以请求所述第三索引信息。相应地,媒体服务器也会类似s410-s411生成并向播放终端发送第三索引文件。
94.可以理解的是,媒体服务器和播放终端会持续执行上述过程直至满足时移结束条件,例如,播放终端接收到用户退出时移的播放操作。时移结束还可能是由其他因素触发,本技术对此不作限制。
95.可以理解的是,如果第二索引信息中包括的所有视频分片的总时长不超过所述预
设时长,则上述第二索引文件包括第二索引信息的全部内容。在这种情况下,因为媒体服务器已经将当前时移的完整的索引文件(即时移起播点到当前直播点之间的内容对应的索引文件)发送到播放终端,因此,第二索引文件不会包括第三索引信息包括的视频分片的总时长。相应地,播放终端在收到这样的索引文件时,就会明白已经接收到当前时移的完整的索引文件,后续会定期请求直播索引文件。
96.在实际情况下,播放终端在处理时移操作的过程中,若所述播放终端再次接收到时移操作,且所述时移操作的起播点对应的索引文件不存在,则播放终端和媒体服务器会重新按照上述s401-s411的步骤来执行。
97.可以理解的是,在上述时移场景中,若时移操作对应的视频的完整的索引文件小于预设值,则媒体服务器直接发送所述完整的索引文件至播放终端,而不用在发送的完整的索引文件中包含上述第二索引信息包含的视频分片的总时长。
98.图4所示的视频播放的方法不仅可应用于直播时移的场景,还可应用于点播的场景。所述点播的场景可包括点播且从视频的开始处播放的场景和点播且从书签处开始播放的场景。下面分别对这两种场景分别进行简要描述。
99.在点播且从视频的开始处播放的场景下,与上述在直播时移的场景下的不同之处在于:
100.在开始时,所述播放终端接收的是点播操作,且在接收到点播操作时并不需要确定时移时长信息;在所述播放终端向媒体服务器发送第一索引文件请求时,所述第一索引文件请求中包括的是视频b的id,例如vod1,且所述第一索引文件请求中并不需要包括时移时长信息,此时所述第一索引文件请求所请求的为用户选择的视频的索引文件,所述第一索引文件请求可以表示为如下url形式,例如:http://vid1/xxx/xx.m3u8?_;所述媒体服务器在所述媒体服务器的存储器或存储服务器中查视频时,是根据所述视频b的id在所述媒体服务器的存储器或存储服务器中查到点播的视频,此时所述视频分片在时间上不是最靠近所述起播点,而是最靠近所述视频的开始处。在所述媒体服务器生成第一索引文件时,所述完整索引文件中包含的视频分片的信息是根据所述视频b的时长确定的。在所述播放终端向媒体服务器发送第二索引文件请求时,所述第二索引文件请求中包括的是所述视频b的id,第二索引文件请求可以为例如:http://vid1/xxx/xx.m3u8?_hls_skip=4200。点播场景下播放结束的条件可以是播放终端接收到用户退出播放的操作,或者该点播的视频播放结束等。关于点播场景下其他具体的实施方式可以参考上述直播场景中的描述,在此不再赘述。
101.在点播且从书签处开始播放的场景下,与上述在直播时移的场景下的不同之处在于:
102.在开始时,所述播放终端接收的是点播操作,所述点播操作中包括对视频书签的操作,且在接收到点播操作时确定视频剩余播放时长。在所述播放终端向媒体服务器发送第一索引文件请求时,所述第一索引文件请求中包括的是视频b的id,例如vod1,且所述第一索引文件请求中并不需要包括时移时长信息,而是包括视频b的剩余播放时长,所述第一索引文件请求可以表示为如下url形式,例如:http://vid1/xxx/xx.m3u8?_hls_skip=4800。所述媒体服务器在所述媒体服务器的存储器或存储服务器中查视频时,是根据所述视频b的id及所述视频b的剩余播放时长确定起始时间点,进而在所述媒体服务器的存储器
或存储服务器中查到点播的视频,此时所述视频分片在时间上不是最靠近所述起播点,而是最靠近所述视频书签记录的播放进度处。在所述媒体服务器生成第一索引文件时,所述完整索引文件中包含的视频分片的信息是根据所述视频b的剩余播放时长确定的。在所述播放终端向媒体服务器发送第二索引文件请求时,所述第二索引文件请求中包括的是所述视频b的id,第二索引文件请求可以为例如:http://vid1/xxx/xx.m3u8?_hls_skip=4200。
103.可见,在上述两种点播场景下,可以让播放终端只需要接收点播视频的部分索引文件即可请求对应的分片播放视频,而不是在接收到完整的索引文件后才请求分片播放,从而可提高视频点播起播的速度,降低起播时延。
104.本技术实施例还提供一种播放终端,请参考图10所示,为本技术实施例提供的播放终端的逻辑结构示意图。图10所示的播放终端100包括收发单元1001及处理单元1002。
105.收发单元1001用于向媒体服务器发送第一索引文件请求,所述第一索引文件请求包括视频的标识;还用于接收所述媒体服务器发送的第一索引文件,所述第一索引文件包括第一索引信息、以及第二索引信息所包括的视频分片的总时长;其中,所述第一索引信息包括所述视频的完整索引文件中从首个视频分片开始的预设时长的视频分片的信息,所述第二索引信息包括所述完整索引文件中所述第一索引信息包括的视频分片之后的视频分片的信息,并根据第一索引文件从媒体服务器获取视频分片;
106.处理单元1002用于播放收发单元1001获取的视频分片;
107.收发单元1001还用于向媒体服务器发送第二索引文件请求,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长和所述视频的标识。
108.可选地,收发单元1001用于接收所述媒体服务器发送的第二索引文件,所述第二索引文件包括从所述第二索引信息的首个分片开始的预设时长的视频分片的信息;所述第二索引文件还包括第三索引信息包括的视频分片的总时长,所述第三索引信息包括所述完整索引文件中所述第二索引信息包括的视频分片之后的视频分片的信息;还用于向所述媒体服务器发送第三索引文件请求,所述第三索引文件请求包括所述第三索引信息包括的视频分片的总时长和所述视频的标识。
109.可选地,所述第一索引文件包括第二索引信息包括的视频分片的总时长,包括:所述第一索引文件的can-skip-until的值为所述第二索引信息包括的视频分片的总时长。
110.可选地,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长,包括:所述第二索引文件请求包括hls-skip字段,所述hls-skip字段的值为所述第二索引信息包括的视频分片的总时长。
111.可选地,当所述视频的标识对应的视频为时移的内容时,所述第一索引文件请求还包括时移时长信息;所述时移时长信息为时移操作对应的起播点到当前直播点的时间间隔。
112.本发明实施例中描述的播放终端100可以用来实施上述视频播放的方法中所述播放终端执行的操作。
113.本技术实施例还提供一种媒体服务器,请参考图11所示,为本技术实施例提供的媒体服务器的逻辑结构示意图。图11所示的媒体服务器110包括收发单元1101及处理单元1102。
114.收发单元1101用于接收播放终端发送的第一索引文件请求,所述第一索引文件请
求包括视频的标识;
115.处理单元1102用于根据所述视频的标识生成第一索引文件;所述第一索引文件包括第一索引信息、以及第二索引信息包括的视频分片的总时长;其中,所述第一索引信息包括所述视频的完整索引文件中从首个视频分片开始的预设时长的视频分片的信息;所述第二索引信息包括所述完整索引文件中所述第一索引信息包括的视频分片之后的视频分片的信息;
116.收发单元1101还用于向所述播放终端发送所述处理单元1102生成的所述第一索引文件;并用于接收所述播放终端的第二索引文件请求,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长和所述视频的标识。
117.可选地,收发单元1101用于向所述播放终端发送第二索引文件,所述第二索引文件包括从所述第二索引信息的首个分片开始的预设时长的视频分片的信息;所述第二索引文件还包括第三索引信息包括的视频分片的总时长,所述第三索引信息包括所述完整索引文件中所述第二索引信息包括的视频分片之后的视频分片的信息;还用于接收所述播放终端发送的第三索引文件请求,所述第三索引文件请求包括所述第三索引信息包括的视频分片的总时长和所述视频的标识。
118.可选地,所述第一索引文件还包括第二索引信息包括的视频分片的总时长,包括:所述第一索引文件的can-skip-until的值为所述第二索引信息包括的视频分片的总时长。
119.可选地,所述第二索引文件请求包括所述第二索引信息包括的视频分片的总时长,包括:所述第二索引文件请求包括hls-skip字段,所述hls-skip字段的值为所述第二索引信息包括的视频分片的总时长。
120.可选地,当所述视频的标识对应的视频为时移的内容时,所述第一索引文件请求还包括时移时长;所述时移时长为时移操作对应的起播点到当前直播点的时间间隔。
121.本发明实施例中描述的媒体服务器110可以用来实施上述视频播放的方法中所述媒体服务器执行的操作。
122.除以上方法和设备外,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序使得计算机设备执行图4所示的视频播放的方法。
123.一种计算机程序产品,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从所述计算机可读存储介质中读取所述计算机执行指令,所述至少一个处理器执行所述计算机执行指令使得所述设备实现图4所示的视频播放的方法。
124.本案的播放终端可向媒体服务器请求索引文件,从所述媒体服务器获取完整索引文件中的部分索引文件,并根据所述部分索引文件从所述媒体服务器获取并播放视频分片,然后再从所述媒体服务器请求剩余的索引文件,可仅需部分索引文件就可起播,避免索引文件过大所导致的起播时延,从而可通过简单的方式达到降低起播时延的效果,提升用户体验。
125.本案的媒体服务器可接收播放终端发送的索引文件请求,生成并向所述播放终端发送完整索引文件中的部分索引文件,并接收请求剩余的索引文件的请求,可通过下发部分索引文件至所述播放终端,使得所述播放终端仅需部分索引文件就可起播,避免索引文件过大所导致的起播时延,从而可通过简单的方式达到降低起播时延的效果,提升用户体
验。
126.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
127.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
128.所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
129.最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献