CN115643429A - 视频播放方法、装置、电子设备及计算机可读存储介质 - Google Patents
视频播放方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115643429A CN115643429A CN202110819698.XA CN202110819698A CN115643429A CN 115643429 A CN115643429 A CN 115643429A CN 202110819698 A CN202110819698 A CN 202110819698A CN 115643429 A CN115643429 A CN 115643429A
- Authority
- CN
- China
- Prior art keywords
- video
- resolution
- target
- coding
- coding information
- 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
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供了一种视频播放方法、装置、电子设备及计算机可读存储介质,涉及视频处理及区块链技术领域。该方法包括:响应于视频清晰度切换操作,向服务器发送视频清晰度切换请求,视频清晰度切换请求中包含目标分辨率和视频标识;接收服务器发送的目标编码文件,并基于目标编码文件解码得到目标分辨率对应的视频并播放。在本申请的方案中,由于服务器中仅存储一个分辨率的片源的编码信息(第一编码信息)和多个编码信息,其他分辨率的视频均可基于基本视频和目标分辨率对应的目标编码信息确定,由此,基于本申请的方案可节省存储资源。
Description
技术领域
本申请涉及网络媒体,视频处理以及播放控制技术领域,具体的,本申请涉及一种视频播放方法、装置、电子设备及计算机可读存储介质。
背景技术
随着视频业务的发展,用户观看网络视频的需求日益上升。视频清晰度和播放流畅度是影响用户体验的关键因素。为了满足不同用户的需求,在视频播放平台上,同一个片源往往存在不同的清晰度,例如:标清、高清、超清等。
现有技术中,通常先将各清晰度的片源分别进行存储,在接收到清晰度切换请求时,将该清晰度切换请求对应的目标分辨率对应的片源发送给终端进行播放,由于需要存储各清晰度的片源,导致存储资源的浪费。
发明内容
本申请实施例的目的旨在提供一种能够减少存储资源的视频播放方法、装置、电子设备及计算机可读存储介质。
一方面,本申请实施例提供了一种视频播放方法,该方法包括:
响应于视频清晰度切换操作,向服务器发送视频清晰度切换请求,上述视频清晰度切换请求中包含目标分辨率和视频标识;
接收服务器发送的目标编码文件,并基于目标编码文件解码得到目标分辨率对应的视频并播放,其中,目标编码文件是服务器通过以下方式得到的:
确定视频标识对应的基本视频的第一编码信息,基本视频的分辨率为基准分辨率;
若上述目标分辨率是基准分辨率,则将包含第一编码信息的目标编码文件发送至用户终端;
若上述目标分辨率不是基准分辨率,且上述目标分辨率是与基准分辨率不相邻的分辨率,则从预存储的视频标识对应的视频编码信息中,确定目标分辨率对应的目标编码信息,并将包含第一编码信息和目标编码信息的目标编码文件发送至用户终端;
其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少两个分辨率对应的编码信息,上述至少两个分辨率包括目标分辨率。
另一方面,本申请实施例提供了一种视频播放方法,该方法包括:
接收视频清晰度切换请求,视频清晰度切换请求中包括目标分辨率和视频标识;
确定视频标识对应的基本视频的第一编码信息,其中,上述基本视频的分辨率为基准分辨率;
若上述目标分辨率不是基准分辨率,且上述目标分辨率是与基准分辨率不相邻的分辨率,则从预存储的视频标识对应的视频编码信息中,确定目标分辨率对应的目标编码信息;
其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少两个分辨率对应的编码信息,上述至少两个分辨率包括目标分辨率;
将上述目标编码文件发送给用户终端,以使用户终端基于目标编码文件解码得到目标分辨率对应的视频并播放,其中,若上述目标分辨率不是基准分辨率,上述目标编码文件包括第一编码信息和目标编码信息,若上述目标分辨率是基准分辨率,上述目标编码文件包括第一编码信息。
再一方面,本申请实施例提供了一种视频播放装置,该装置包括:
清晰度切换请求发送模块,用于响应于视频清晰度切换操作,向服务器发送视频清晰度切换请求,视频清晰度切换请求中包含目标分辨率和视频标识;
视频确定及播放模块,用于接收服务器发送的目标编码文件,并基于目标编码文件解码得到目标分辨率对应的视频并播放,其中,目标编码文件是服务器通过以下方式得到的:
确定视频标识对应的基本视频的第一编码信息,基本视频的分辨率为基准分辨率;
若目标分辨率是基准分辨率,则将包含第一编码信息的目标编码文件发送至用户终端;
若目标分辨率不是基准分辨率,且目标分辨率是与基准分辨率不相邻的分辨率,则从预存储的视频标识对应的视频编码信息中,确定目标分辨率对应的目标编码信息,并将包含第一编码信息和目标编码信息的目标编码文件发送至用户终端;
其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少两个分辨率对应的编码信息,至少两个分辨率包括目标分辨率。
可选的,上述视频确定及播放模块在基于目标编码文件解码得到目标分辨率对应的视频并播放时,具体用于:基于目标编码信息对应的视频参数,对基本视频进行分辨率调整,得到目标分辨率对应的视频并播放。
可选的,上述视频确定及播放模块在基于目标分辨率对应的目标编码文件解码得到目标分辨率对应的视频并播放时,具体用于:分别对第一编码信息和目标编码信息进行解码,得到基本视频和目标编码信息对应的视频参数;基于目标编码信息对应的视频参数对基本视频进行分辨率调整,得到目标分辨率对应的视频并播放。
可选的,上述目标编码文件中还包括分辨率标识,分辨率标识用于表征目标分辨率;上述视频确定及播放模块在基于目标分辨率对应的目标编码文件,解码得到目标分辨率对应的视频并播放时,具体用于:解析目标编码文件,得到分辨率标识、第一编码信息和目标编码信息;采用分辨率标识对应的解码参数,对第一编码信息和目标编码信息进行解码,得到目标分辨率对应的视频并播放。
又一方面,本申请实施例提供了一种视频播放装置,该装置包括:
清晰度切换请求接收模块,用于接收视频清晰度切换请求,视频清晰度切换请求中包括目标分辨率和视频标识;
第一编码信息确定模块,用于确定视频标识对应的基本视频的第一编码信息,其中,基本视频的分辨率为基准分辨率;
目标编码信息确定模块,用于在目标分辨率不是基准分辨率,且上述目标分辨率是与基准分辨率不相邻的分辨率时,从预存储的视频标识对应的视频编码信息中,确定上述目标分辨率对应的目标编码信息;
其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少两个分辨率对应的编码信息,至少两个分辨率包括目标分辨率;
目标编码文件处理模块,用于将上述目标编码文件发送给用户终端,以使用户终端基于目标编码文件解码得到目标分辨率对应的视频并播放,其中,若上述目标分辨率不是基准分辨率,上述目标编码文件包括第一编码信息和目标编码信息,若上述目标分辨率是基准分辨率,上述目标编码文件包括第一编码信息。
可选的,上述装置包含在视频服务器或CDN服务器中的至少一个中;若装置包含在视频服务器和CDN服务器中,上述视频播放模块在接收视频播放请求时,具体用于:视频服务器接收视频播放请求,确定视频标识对应的CDN服务器的地址信息,并将地址信息发送给用户终端,以使用户终端与CDN服务器建立连接;CDN服务器将设定分辨率对应的编码文件发送给用户终端。
可选的,上述目标编码文件中还包括分辨率标识,分辨率标识用于表征目标分辨率,分辨率标识用于用户终端采用分辨率标识对应的解码参数,对第一编码信息和目标编码信息进行解码,得到目标分辨率对应的视频并播放。
可选的,该装置还包括:视频播放模块,用于在接收视频清晰度切换请求之前,接收视频播放请求,视频播放请求包括视频标识;将设定分辨率对应的编码文件发送给用户终端,以使用户终端基于设定分辨率对应的编码文件解码得到设定分辨率的视频并播放。
可选的,若上述装置包含在视频服务器和CDN服务器中,上述清晰度切换请求接收模块在接收视频清晰度切换请求时,具体用于:视频服务器接收视频清晰度切换请求,将目标分辨率发送给CDN服务器;上述目标编码文件处理模块在将目标编码文件发送给用户终端时,具体用于:上述CDN服务器将目标编码文件发送给用户终端。
另一方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,存储器中存储有计算机程序,处理器在运行计算机程序时执行本申请任一可选实施例中提供的视频播放方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序在被处理器运行时,处理器执行本申请任一可选实施例中提供的视频播放方法。
再一方面,本申请实施例还提供了一种计算机程序产品或计算机程序,当其在计算机设备上运行时,是的计算机设备执行本申请所提供的任一可选实施方法。该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请任一可选实施方式中提供的视频播放方法。
本申请提供的技术方案带来的有益效果是:本申请实施例所提供的方案,在接收到视频清晰度切换请求时,可先确定该视频标识对应的基本视频的第一编码信息,再基于目标分辨率以及预存储的视频标识对应的映射关系,确定目标分辨率对应的目标编码信息。在目标分辨率不是基准分辨率,用户终端基于包含第一编码信息和目标编码信息的目标编码文件,解码得到目标分辨率对应的视频并播放,在目标分辨率是基准分辨率时,用户终端基于包含第一编码信息的目标编码文件,解码得到目标分辨率对应的视频并播放。在本方案中,由于服务器中仅存储一个分辨率的片源的编码信息(第一编码信息)和各分辨率对应的编码信息,其他分辨率的视频均可基于基本视频确定,由此,基于本申请的方案可节省存储资源。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种视频播放方法的流程示意图;
图2为本申请实施例提供的一种增加设定标识的示意图;
图3为本申请实施例提供的又一种视频播放方法的流程示意图;
图4为本申请实施例提供的一种分辨率选择界面的示意图;
图5为本申请实施例提供的一种编码信息的示意图;
图6为本申请实施例提供的一种视频播放方法的流程示意图;
图7为本申请实施例提供的一种视频播放系统的结构示意图;
图8为本申请实施例提供的一种视频播放装置的结构示意图;
图9为本申请实施例提供的又一种视频播放装置的结构示意图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本申请实施例所涉及的视频播放方法可以采用云技术实现,如处理过程中所涉及的数据存储可以采用云存储方式,处理过程中所涉及的数据计算可以采用云计算方式。
本申请实施例所提供的方案可以由任一电子设备执行,可以是用户终端设备,也可以是服务器执行,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以包括以下至少一项:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视、智能车载设备。
在一种可能的实现方式中,用户终端和服务器可组成为一区块链,而服务器和用户终端可以为区块链上的节点,本申请实施例中的视频播放方法可以由区块链上的至少一个节点执行,即本申请实施例中的服务器或者服务器集群可以为区块链上的一个或者至少两个节点,本申请实施例中的用户终端以为区块链上的一个节点。
本申请是针对现有技术中所存在的浪费存储资源的问题,而提出的一种视频播放方法,在该方案中,服务器中可以仅存储基准分辨率的基本视频的第一编码信息,以及至少一个分辨率中的每个分辨率对应的编码信息,其中,对于一个分辨率,该分辨率对应的编码信息为基于基本视频得到该分辨率的视频时所需的视频参数的编码信息。其他分辨率的视频可基于基本视频确定,通过本申请的方案,相较于现有技术的方案可节省存储资源。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种可能的实现方式,如图1所示,提供了一种视频播放方法的流程图,该方案可以由任一电子设备执行,例如,本申请实施例的方案可以在用户终端或者服务器上执行,或者由用户终端和服务器交互执行。
图1示出了本申请实施例提供的一种视频播放方法的流程示意图,该方法可以由服务器执行,其中,该服务器可以是视频类应用程序的应用服务器(也可以称为视频服务器),也可以是内容分发网络(CDN,Content Delivery Network,内容分发网络)服务器,还可以是视频服务器和CDN服务器组成的服务器集群;视频服务器可以通过CDN服务器将视频发送给用户终端,从而提高视频分发的效率,为用户提供更好的服务体验。如图1中所示,在该示例中,执行主体可以为视频服务器或CDN服务器,该方法可以包括以下步骤:
步骤S110,接收视频清晰度切换请求,视频清晰度切换请求中包括目标分辨率和视频标识。
其中,视频清晰度切换请求指的想将当前播放的视频的分辨率切换为目标分辨率的请求,为描述方便,将下文出现的当前播放的视频称为第一视频,其中,视频清晰度切换请求是基于用户在用户终端上所显示的视频应用的客户端界面上视频清晰度切换操作生成的,目标分辨率即用户在客户端界面上所选择的想要切换至的分辨率。其中,上述视频应用的形式本申请实施例不做限定,可以是网页版的视频应用,可以是终端设备上所安装的应用程序,还可以是小程序等。
比如,想观看更加清晰的视频,则可以在客户端界面上选择相比于所播放视频的当前分辨率更高的分辨率作为目标分辨率再比如,当前网络不稳定,导致当前播放的第一视频出现卡顿,用户可以选择相比于当前分辨率更低的分辨率作为目标分辨率,当然,在实际应用中,还可以配置“自动”选项,用户如果选择该选项,则目标分比率则是预先配置的指定分辨率或者是终端设备/服务器根据当前的网络状态确定的分辨率。
可以理解的是,对于用户而言,上述第一视频、后文中目标分辨率对应的视频(为描述方便,下文可称为目标视频),以及后文中视频标识对应的基本视频,三者本质上是对应于相同视频内容的视频,区别仅在于三者的视频分辨率(清晰度)不同。其中,第一视频可能是用户打开视频时的视频,即具有默认分辨率的视频,也可能是对默认分辨率进行过至少一次分辨率切换后的视频。
比如,用户在其终端设备上所安装的视频类应用中选择打开了一个视频,此时所播放的视频的分辨率则为默认分辨率,在视频播放过程中或者视频暂停时,用户可以根据需求选择进行视频分辨率切换即上述视频清晰度切换操作,可选的,作为一个示例,视频播放界面可以显示有视频清晰度切换控件,比如,可以是显示当前分辨率的一个控件,用户在触发该控件后,可以显示各可选的视频分辨率选项,用户可以根据需求选择其中一个作为目标分辨率,比如用户点击了其中一个视频分辨率选项之后该选项对应的分辨率则为目标分辨率。
其中,视频标识用于表征视频的身份,一个视频对应一个视频标识,服务器中可同时存储多个视频的信息,则在想要切换视频的分辨率时,服务器可基于视频清晰度切换请求中的视频标识,确定所要进行清晰度切换的是哪个视频。
步骤S120,确定视频标识对应的基本视频的第一编码信息,其中,基本视频的分辨率为基准分辨率。
其中,对于相同视频内容的视频,服务器中仅存储一份基本视频的第一编码信息,对于多种不同视频内容的视频,则在服务器中可对应存储多个基本视频的第一编码信息,则在本申请方案中,可基于视频标识,确定该视频标识对应的基本视频的第一编码信息,即该基本视频与第一视频的视频标识相同,该基本视频与第一视频是具有相同视频内容,且分辨率不同的视频。
可以理解的是,第一编码信息是在变化的,进行清晰度切换的时机不同,对应的第一编码信息可以是不同的,比如,在第一视频播放到第10分钟时进行切换所确定的第一编码信息与在播放到第30分种进行切换时所确定的第一编码信息可以是不同的。
其中,基本视频作为一个参考视频,该视频的分辨率作为一个参考分辨率,基于该基准分辨率的基本视频,可得到其他分辨率的视频,得到的其他分辨率的视频与该基本视频是具有相同视频内容,仅分辨率不同的两个视频。
步骤S130,若目标分辨率不是基准分辨率,且目标分辨率是与基准分辨率不相邻的分辨率,则基于目标分辨率以及预存储的视频标识对应的映射关系,确定目标分辨率对应的目标编码信息;其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少两个分辨率对应的编码信息(为描述方便,下文将与存储的每个分辨率对应的编码信息称为第二编码信息),至少两个分辨率包括目标分辨率。
其中,对于一个分辨率,该分辨率对应的视频参数指的是基于基本视频得到该分辨率的视频时所需要的视频参数,该视频参数是与分辨率有关的参数,基于该视频参数,对基本视频的分辨率进行调整可以得到该分辨率的视频。可以理解的是,对分辨率进行调整包括调高基本视频的分辨率或调低基本视频的分辨率。
其中,目标分辨率可以是基准分辨率,也可以是其他分辨率,如果第一视频的分辨率为基准分辨率,则目标分辨率通常为其他分辨率,如果第一视频的分辨率不是基准分辨率,则目标分辨率可以为基准分辨率,也可以为除第一视频分辨率的其他分辨率。
其中,目标分辨率是与基准分辨率相邻的分辨率,指的是目标分辨率是至少两个分辨率中与基准分辨率最接近的分辨率,则目标分辨率是与基准分辨率不相邻的分辨率指的是,目标分辨率是至少两个分辨率中与基准分辨率不是最接近的分辨率。作为一个示例,比如,至少两个分辨率包括两个分辨率,分别为分辨率480P和分辨率720P,如果基准分辨率为270P,至少两个分辨率中480P是与基准分辨率270P最接近的分辨率,则目标分辨率只能是720P,不能是480P。
步骤140,将目标编码文件发送给用户终端,以使用户终端基于目标编码文件解码得到目标分辨率对应的视频并播放;其中,若目标分辨率不是基准分辨率,上述目标编码文件包括第一编码信息和目标分辨率对应的目标编码信息,若目标分辨率是基准分辨率,目标编码文件包括第一编码信息。
其中,该目标编码文件为目标分辨率对应的编码文件,不同分辨率对应的编码文件不同。在目标分辨率是基准分辨率时,表示想要将第一视频的分辨率切换至基准分辨率,则目标编码文件中包括第一编码信息,基本视频即为目标分辨率对应的视频。在目标分辨率不是基准分辨率时,表示想要将第一视频的分辨率切换至其他分辨率,则目标编码文件中除了第一编码信息外,还包括目标分辨率对应的目标编码信息,基于该目标编码信息和第一编码信息,可得到目标分辨率对应的视频。
在本申请的可选实施例中,上述基于目标编码文件解码得到目标分辨率对应的视频,包括:基于该第二编码信息对应的视频参数,对基本视频进行分辨率调整,得到目标分辨率对应的视频。
其中,用户终端如何基于该第二编码信息对应的视频参数,对基本视频进行分辨率调整,得到目标分辨率对应的视频将在下文具体描述,在此不在赘述。
由于除基准分辨率之外的其他分辨率的视频可基于基本视频得到,基于本申请的方案,在确定了目标分辨率对应的目标编码信息之后,可直接基于该目标编码信息对应的视频参数,对基本视频进行分辨率调整,得到目标分辨率对应的视频。作为一个示例,假设,基准分辨率为270P,目标分辨率为720P,目标编码信息为720P对应的第二编码信息,则可基于该第二编码信息对应的视频参数对基本视频进行分辨率调整,得到7200P的视频,即目标分辨率对应的视频。
其中,用户终端对基于上述第一编码信息和目标编码信息,得到目标分辨率对应的视频后,可播放该目标分辨率对应的视频,为了不影响用户的观看体验,第一视频的播放结束位置与目标分辨率对应的视频的播放起始位置一致,具体的,可基于接收到视频清晰度切换请求时,获取到第一视频的播放位置(可以是播放时间点,也可以是所播放的视频帧的位置),基于该播放位置,确定目标分辨率对应的视频的播放时的起始位置,则在进行视频清晰度切换后,可为用户带来无缝切换的观看体验。
本申请实施例所提供的方案,在接收到视频清晰度切换请求时,可先确定该视频标识对应的基本视频的第一编码信息,再基于目标分辨率以及预存储的视频标识对应的映射关系,确定目标分辨率对应的目标编码信息。在目标分辨率不是基准分辨率,用户终端基于包含第一编码信息和目标编码信息的目标编码文件,解码得到目标分辨率对应的视频并播放,在目标分辨率是基准分辨率时,用户终端基于包含第一编码信息的目标编码文件,解码得到目标分辨率对应的视频并播放。在本方案中,由于服务器中仅存储一个分辨率的片源的编码信息(第一编码信息)和各编码信息,其他分辨率的视频均可基于基本视频确定,由此,基于本申请的方案可节省存储资源,并且切换前后的视频画面可以保证对齐,提高切换质量,基于本申请的方案在清晰度切换时不需要重新启动播放器,从而还可减少切换耗时。
另一方面,由于预存储的视频编码信息包括至少两个分辨率对应的编码信息,基于目标分辨率可在与存储的视频编码信息中直接确定该目标分辨率对应的目标编码信息,避免在预存储的视频编码信息不是上述的形式所导致的信息不全面等情况时,导致清晰度切换后所播放的视频出现花屏、黑屏等现象。
在本申请的可选方案中,如果目标分辨率不是基准分辨率,且目标分辨率是与基准分辨率相邻的分辨率,还包括:基于目标分辨率以及预存储的视频标识对应的映射关系,确定目标分辨率对应的目标编码信息,其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少一个分辨率对应的编码信息,上述至少两个分辨率包括目标分辨率。在确定了目标分辨率对应的目标编码信息之后,可执行步骤S140实现分辨率的切换。
可选的,对于基本视频的视频数据可以进行视频流分片,得到多个视频流分片(视频流分片可以为TS分片),一个视频流分片对应基本视频中的一段视频,则对于一个分辨率,第二编码信息为基于基本视频得到该分辨率的TS分片对应的视频片段时所需的视频参数的编码信息。
可选的,可将多个视频流分片按照时序生成m3u8索引,该索引表征了各视频流分片的序号以及各片段之间的对应关系。则基本视频可包括至少两个视频片段,则第一视频为该至少两个视频片段中任一TS分片对应的视频片段,则在响应于视频清晰度切换操作时,可基于该索引,找到该任一TS分片的下一个TS分片,对该TS分片进行处理得到目标分辨率对应的视频片段并播放。也就是说,服务器基于该索引,可以知道当前播放的是哪个TS分片对应的视频片段,接下来要播放的是哪个TS分片对应的视频片段。
可选的,当前播放的视频(第一视频)可以为一个TS分片对应的视频片段,在用户终端确定得到目标分辨率对应的视频(该视频为一个TS分片对应的视频片段)后,可在当前播放的视频片段播放结束时再播放该目标分辨率对应的视频。
可以理解的是,如果该视频片段是多个视频流分片中的最后一个TS分片对应的视频频段,则在用户终端接收到视频清晰度切换操作时,服务器可响应于该操作生成提示信息,并将提示信息发送给用户终端显示,以通过提示信息通知用户此时不能进行清晰度切换。此时,响应于清晰度切换操作,用户终端将以最后一个TS分片对应的分辨率继续进行播放。
可选的,在编码时,除了第一编码信息外,对于一个分辨率,第二编码信息可以是基于第一相邻视频得到该分辨率的视频时所需的视频参数的编码信息,也可以是基于基本视频直接得到该分辨率的视频时所需的视频参数的编码信息,即目标编码信息为第二编码信息。
在本申请的可选实施例中,如果第二编码信息可以是基于第一相邻视频得到该分辨率的视频时所需的视频参数的编码信息,则上述预存储的视频编码信息包括至少一个分辨率对应的第二编码信息,一个分辨率所对应的第二编码信息是由第三视频得到该分辨率的视频时所需的视频参数的编码信息,上述第三视频为该分辨率的相邻分辨率对应的视频,上述目标编码信息包括目标分辨率对应的第二编码信息,以及目标分辨率和基准分辨率之间的各分辨率对应的第二编码信息。
其中,各分辨率为目标分辨率与基准分辨率之间的分辨率,如果第二编码信息可以是基于第一相邻视频得到该分辨率的视频时所需的视频参数的编码信息,那么从预存储的视频编码信息中所确定的目标分辨率对应的目标编码信息包括目标分辨率对应的第二编码信息,以及目标分辨率和基准分辨率之间的各分辨率对应的第二编码信息,在本申请可选的方案中,如果上述目标编码信息为至少两个第二编码信息,则将基本视频作为初始的待处理视频,将各第二编码信息对应的视频参数中与基准分辨率相邻的分辨率所对应的视频参数作为初始的当前参数,重复执行以下操作直至得到目标分辨率对应的视频:
基于当前参数对待处理视频进行分辨率调整,得到基准分辨率相邻的分辨率对应的第二视频,并将与当前参数对应的分辨率相邻的分辨率所对应的视频参数作为新的当前参数,并将第二视频作为新的待处理视频。
其中,由于除基准分辨率之外的其他分辨率的视频可基于基本视频得到,如果目标编码信息包括至少两个第二编码信息,说明基准分辨率与目标分辨率之间间隔至少一个分辨率,则将基本视频作为待处理视频,基于至少一个分辨率中最接近基准分辨率的分辨率(分辨率1)对应的视频参数(当前参数)对基本视频进行分辨率调整,得到最接近基准分辨率的分辨率1对应的视频(相邻视频),然后重复上述步骤,以该视频作为新的待处理视频,基于与分辨率1最接近的分辨率(分辨率2)对应的视频参数(新的当前参数),即对分辨率1对应的视频进行分辨率调整,得到分辨率2对应的视频,直到最终得到的视频是目标分辨率对应的视频参数进行分辨率调整得到的视频。
基准分辨率与目标分辨率之间间隔至少一个分辨率,则从基准分辨率的基本视频变换到目标分辨率的视频需要基于至少两个第二编码信息,每个第二编码信息是相邻的两个分辨率中一个分辨率变换到另一个分辨率所需要的视频参数的编码信息,相对于,从基准分辨率到目标分辨率对应的目标编码信息仅包括一个第二编码信息而言,这样在编码各分辨率对应的视频参数时,可减少数据存储量。
作为一个示例,假设,基准分辨率为270P,目标分辨率为720P,从270P到720P之间有一个480P,即目标编码信息包括两个第二编码信息,一个是从270P到480P对应的第二编码信息(为描述方便,下文称为编码信息1),一个是从480P到720P对应的第二编码信息(为描述方便,下文称为编码信息2),则先基于编码信息1对应的视频参数对基本视频进行分辨率调整,得到480P的视频,然后再基于编码信息2对应的视频参数对480P的视频进行分辨率调整,得到720P的视频,即目标分辨率对应的视频。假如,目标编码信息包括一个第二编码信息,即该第二编码信息在编码时是基于270P到720P所需要的视频参数进行编码得到的编码信息,则对应存储的是270P到720P所需要的视频参数的编码信息,相较于,480P到720P对应的第二编码信息,数据量大。
其中,基于设定分辨率对应的目标编码信息和基本视频的第一编码信息,得到第一视频的处理原理与上述基于第一编码信息和目标分辨率对应的目标编码信息的处理原理的相同,在此不在赘述。
可选的,视频参数可以包括针对基本视频中每帧图像中的每个像素点对应的视频参数,则基于目标视频参数,对基本视频进行分辨率增强处理,包括:基于目标视频参数,对基本视频中的每帧图像的每个像素点进行分辨率增强处理。
在接收视频清晰度切换请求之前,该方法还可以包括:
接收视频播放请求,视频播放请求包括视频标识;
将设定分辨率对应的编码文件发送给用户终端,以使用户终端基于设定分辨率对应的编码文件解码得到设定分辨率的视频并播放。
其中,若设定分辨率为基准分辨率,设定分辨率对应的编码文件包括第一编码信息(该第一编码信息与前文描述的切换请求对应确定的第一编码信息不同),若设定分辨率不是基准分辨率,设定分辨率对应的编码文件包括第一编码信息和设定分辨率对应的目标编码信息。
其中,视频播放请求所请求播放的是用户打开视频时的视频,视频播放请求可以是基于用户在视频应用的客户端界面的播放操作生成的,比如,用户在其终端设备上所安装的视频类应用中选择打开了一个视频,该视频即为目标视频,打开该视频的操作即为播放操作。此时,请求播放的视频的分辨率为默认分辨率。第一视频可能是请求播放的视频,也可能不是。
视频标识用于表征视频的身份,一个视频对应一个视频标识,在想要播放某个视频时,服务器可基于该视频的视频标识,确定所要播放的是哪个视频。
其中,设定分辨率可以为基准分辨率,也可以为其他分辨率,则在本申请的可选方案中,若设定分辨率为基准分辨率,则设定分辨率对应的编码文件,具体的可将第一编码信息发送给用户终端,以使用户终端解码该第一编码信息,将解码得到的基本视频作为设定分辨率对应的视频并播放。
如果设定分辨率不是基准分辨率,则上述设定分辨率对应的编码文件包括第一编码信息和设定分辨率对应的目标编码信息。具体的,可基于设定分辨率以及预先存储的映射关系,确定设定分辨率对应的目标编码信息;将第一编码信息和设定分辨率对应的目标编码信息发送给用户终端,以使用户终端基于该第一编码信息和设定分辨率对应的目标编码信息,得到设定分辨率对应的视频并播放,其中,用户终端如何基于该第一编码信息和设定分辨率对应的目标编码信息,得到设定分辨率对应的视频将在下文进行描述,在此不在赘述。
在本申请的一可选方案中,目标编码文件中还包括分辨率标识,分辨率标识用于表征目标分辨率,分辨率标识用于用户终端采用分辨率标识对应的解码参数,对第一编码信息和目标编码信息进行解码,得到目标分辨率对应的视频并播放。
上述将目标编码文件发送给用户终端,以使用户终端基于目标编码文件解码得到目标分辨率对应的视频并播放,包括:
将目标编码文件发送给用户终端,以使用户终端通过执行以下操作得到目标分辨率对应的视频并播放:
解析目标编码文件,得到分辨率标识、第一编码信息和目标分辨率对应的目标编码信息;
采用分辨率标识对应的解码参数,对第一编码信息和目标编码信息进行解码,得到目标分辨率对应的视频并播放。
其中,在确定了目标分辨率对应的目标编码信息之后,可基于第一编码信息、目标分辨率对应的目标编码信息和包含目标分辨率的分辨率标识的头文件,生成目标编码文件,其中,该头文件中包含了表征了目标分辨率对应的视频的属性信息,比如,视频分辨率,视频播放时长等。该分辨率标识表征了目标分辨率,由于不同分辨率的编码信息不同,因此解码不同分辨率的编码信息所用的解码参数也可能不同,则在解析到目标分辨率的分辨率标识时,可确定该目标分辨率对应的解码参数,基于该解码参数,对第一编码信息和目标编码信息解码得到目标分辨率对应的视频。
其中,解码参数可以为解码得到的信息所对应的相关信息,比如,缓存空间,分辨率越大对应的编码信息解码后对应需要的缓存空间越大。则在解码不同分辨率对应的编码信息时,需要重新确定解码参数。
可选的,可通过解码器解码编码信息,则可通过重启解码器,确定目标分辨率对应的目标解码参数。
作为一个示例,如图2所示的目标编码文件的示意图,本示例中,假设第一视频的分辨率为480P(Progressive,逐行扫描),基准分辨率为270P,目标分辨率为720P,基于480P和预先存储的映射关系,可先确定出480P对应的目标编码信息(图中所示的Enhaance1、2),该目标编码信息包括480P对应的第二编码信息(为描述方便,下文可称为编码信息1),以及720P对应的第二编码信息(为描述方便,下文可称为编码信息2);然后基于第一视频对应的基本视频的第一编码信息(图中所示的Base,为描述方便,下文可称为编码信息3)、编码信息1、编码信息2和包含720P的分辨率标识的头文件,得到目标编码文件(图中所示的SVC720P.ts),接着基于该目标编码文件,采用该分辨率标识对应的解码参数,分别对编码信息1、编码信息2和编码信息3进行解码,得到编码信息1对应的视频参数1,编码信息2对应的视频参数2,以及编码信息3对应的基本视频,基于视频参数1对基本视频的分辨率进行调整,得到480P的视频,基于视频参数2对480P的视频的分辨率进行调整,得到720P的视频(目标分辨率对应的视频)。
其中,第一视频(480P的视频)也可以采用上述同样的方式得到,具体为:先基于480P和预先存储的映射关系,确定出480P对应的目标编码信息,该目标编码信息包括480P对应的第二编码信息(图中所示的Enhaance1,可称为编码信息1),然后基于第一视频对应的基本视频的第一编码信息(图中所示的Base,为描述方便,下文可称为编码信息3)、编码信息1和包含4800P的分辨率标识的头文件,得到目标编码文件(图中所示的SVC480P.ts),接着基于该目标编码文件,采用该分辨率标识对应的解码参数,分别对编码信息1和编码信息3进行解码,得到编码信息1对应的视频参数1,以及编码信息3对应的基本视频,基于视频参数1对基本视频的分辨率进行调整,得到480P的视频(480P的第一视频)。
本申请的方案中,该方法的执行主体可以是视频服务器,也可以是CDN服务器,还可以是视频服务器和CDN服务器,在执行主体是视频服务器和CDN服务器时,上述接收视频播放请求,包括:
视频服务器接收视频播放请求,确定视频标识对应的CDN服务器的地址信息,并将地址信息发送给用户终端,以使用户终端与CDN服务器建立连接;
将设定分辨率对应的编码文件发送给用户终端,包括:
CDN服务器将设定分辨率对应的编码文件发送给用户终端。
其中,在本申请的方案中,不同视频内容的视频的编码信息可以由不同CDN服务器存储,一个CDN服务器中可至少存储一个视频的编码信息,对于相同视频内容的视频,CDN服务器中存储基准分辨率的该视频的第一编码信息和各第二编码信息。在视频服务器接收到视频播放请求时,可基于视频标识确定接下来处理该请求的CDN服务器是哪个,然后基于该视频标识对应的CDN服务器进行后续处理。
其中,地址信息指的是CDN服务器的IP地址(Internet Protocol Address,互联网协议地址)。在基于CDN服务器的地址信息建立用户终端与CDN服务器建立连接之后,用户终端可基于该地址信息到对应的CDN服务器下载对应的编码文件(设定分辨率对应的编码文件)。
基于本申请的方案,由于CDN服务器中仅存储有一个分辨率的片源的编码信息,其他分辨率的视频均可基于基本视频确定,则在请求播放某个视频时,可基于请求播放的视频的视频标识对应的CDN服务器确定设定分辨率对应的编码文件。
在本申请的可选方案中,若该方法由视频服务器和CDN服务器执行,上述接收视频清晰度切换请求,包括:
视频服务器接收视频清晰度切换请求,将目标分辨率发送给CDN服务器;
将目标编码文件发送给用户终端,包括:
CDN服务器将目标编码文件发送给用户终端。
由于CDN服务器中仅存储有一个分辨率的片源的编码信息,其他分辨率的视频均可基于基本视频确定,则在进行清晰度切换时,可仍通过该CDN服务器确定其他分辨率对应的目标编码文件,不需要切换CDN服务器,相较于现有技术中,不同清晰度的视频存储在不同的CND服务器,在清晰度切换时,需要切换至目标分辨率的视频对应的CDN服务器才可确定目标分辨率对应的视频播放该视频,可能导致切换卡顿、黑屏以及画面跳变等现象,本申请方案无需切换CDN服务器即可播放目标分辨率的视频,可提高切换质量,进而提高用户体验。
基于与图1中所示的视频播放方法相同的原理,本申请实施例还提供了一种视频播放方法,该视频播放方法的执行主体为用户终端,参见图3所示的视频播放方法的流程示意图,该方法包括以下步骤:
步骤S210,响应于视频清晰度切换操作,向服务器发送视频清晰度切换请求,视频清晰度切换请求中包含目标分辨率和视频标识。
其中,上述当前播放的视频(为描述方便,下文可称为第一视频)可基于该视频标识对应的基本视频的第一编码信息得到的,该基准视频与第一视频为具有相同视频内容,且分辨率不同的两个视频。
其中,视频清晰度切换操作指的是想将第一视频的分辨率切换为其他分辨率的操作,该操作可以基于用户终端的视频应用的客户端界面上的清晰度切换标识触发,针对该清晰度切换标识的触发操作即为视频清晰度切换操作,该触发操作可以为长按操作,点击操作等,本申请中不限定该触发操作的具体表现形式。该清晰度切换标识可以为文字,字符,图片等,本申请中不限定该清晰度切换标识的具体表现形式。该清晰度切换标识对应的分辨率即为想要切换到的目标分辨率。
其中,第一视频的分辨率可能为默认分辨率(设定分辨率),也可能为其他分辨率;默认分辨率可以为基准分辨率,也可以为其他分辨率。在播放第一视频之前,还包括:
响应于视频播放操作,将视频标识发送给服务器,以使服务器基于视频标识确定视频标识对应的基本视频的第一编码信息,基于设定分辨率以及视频标识对应的映射关系,确定设定分辨率对应的目标编码信息,将设定分辨率对应的编码文件发送给用户终端,以使用户终端基于设定分辨率对应的编码文件解码得到设定分辨率的视频并播放。
其中,若设定分辨率为基准分辨率,设定分辨率对应的编码文件包括第一编码信息,若设定分辨率不是基准分辨率,设定分辨率对应的编码文件包括第一编码信息和设定分辨率对应的目标编码信息。
在本申请的可选实施例中,当前播放的视频对应的播放界面上还显示有清晰度切换标识,该方法还包括:
响应于针对清晰度切换标识的触发操作,显示当前播放的视频的分辨率对应的分辨率选择界面,分辨率选择界面上显示有至少两个分辨率标识(为了与前文出现的分辨率标识进行区分,下文可称该分辨率标识为清晰度标识),每个清晰度标识对应一个分辨率,至少两个清晰度标识包括当前播放的视频的分辨率对应的第一标识;
响应于视频清晰度切换操作,包括:
响应于针对至少两个清晰度标识中的第二标识的选择确认操作,将选择确认操作作为视频清晰度切换操作,并将第二标识对应的分辨率作为目标分辨率,其中,第二标识为至少两个清晰度标识中除第一标识之外的任一标识。
其中,视频清晰度切换标识可以为文字,字符,图像等,本申请中不限定清晰度切换标识的具体表现形式。对该视频清晰度切换标识的触发操作可以为长按操作,点击操作等,本申请中不限定该触发操作的具体表现形式。
其中,在分辨率选择界面中,为了区分设定分辨率和其他分辨率,第一标识的显示形式可以与其他清晰度标识的显示形式不同,在实际应用中,可通过不同的颜色区分第一标识和其他清晰度标识,也可以通过高光标注第一标识,以区分该第一标识和其他清晰度标识,本申请中不限定第一标识和其他清晰度标识的具体显示形式,可区分出这两种标识的显示方式均在本申请的保护范围内。
其中,清晰度标识可以文字,数字,或文字和数据组合的方式表现,本申请中不限定清晰度标识的具体表现形式。
可选的,在选择第二标识时,即响应于对第二标识的选择确认操作,该第二标识对应的显示方式可进行变化,可变化第一标识对应的显示方式。通过显示方式的变化,可告知用户所切换的目标分辨率具体为哪个分辨率,是否与自己想要切换的分辨率一致。
作为一个示例,如图4所示的分辨率选择界面的示意图,该图中,清晰度切换标识通过文字表征,比如,“画质”,各分辨别率标识通过数字和文字组合的方式表征,包括但不限于,270P标清,480P高清,720P超清,1080P蓝光,HDR(High Dynamic Range,高动态范围,大于1080P)臻彩视界。当前播放的视频的分辨率为1080P(第一标识对应的分辨率),则1080P对应的显示颜色为设定颜色,该设定颜色与其他分辨率所对应的显示颜色不同。基于该分辨率选择界面中的至少两个清晰度标识,用户可选择自己想切换的目标分辨率,比如,当前网络状态不稳定,播放1080P的视频出现卡顿,则可选择将1080P切换至720P,则基于对该720P对应标识的选择确定操作,可将该720P确定为目标分辨率。
可选的,分辨率选择界面可以悬浮显示于第一视频对应的播放界面。
可选的,为了不影响第一视频的观看,分辨率选择界面的尺寸可小于第一视频对应的播放界面的尺寸。
可选的播放第一视频可基于播放视频的APP(Application,应用程序)对应的播放器进行播放,对于该APP的会员(VIP,Very Important Person),可以将分辨率切至较高的分辨率,即目标分辨率可以为较高的分辨率,如图4中所示,分辨率1080P和HDR为较高分辨率,会员可以将分辨率切换至这两个分辨率中的任一个,如果不是会员,则最高只可切换至720P。
步骤S220,接收服务器发送的目标编码文件,并基于目标编码文件解码得到目标分辨率对应的视频并播放,其中,上述目标编码文件是服务器通过以下方式得到的:
确定视频标识对应的基本视频的第一编码信息,基本视频的分辨率为基准分辨率;
若目标分辨率是基准分辨率,则将包含第一编码信息的目标编码文件发送至用户终端;
若目标分辨率不是基准分辨率,且上述目标分辨率是与基准分辨率不相邻的分辨率,则从预存储的视频标识对应的视频编码信息中,确定目标分辨率对应的目标编码信息,并将包含第一编码信息和目标编码信息的目标编码文件发送至用户终端;
其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少两个分辨率对应的编码信息,上述至少两个分辨率包括目标分辨率。
其中,服务器中存储有视频标识对应的基本视频的第一编码信息,以及各第二编码信息,对于一个分辨率,第二编码信息为基于基本视频得到该分辨率的视频时所需的视频参数的编码信息,则如果目标分辨率为基准分辨率,则可直接将基本视频的第一编码信息作为目标编码文件发送给用户终端。如果第一视频的分辨率为其他分辨率(比如,第二分辨率),且目标分辨率是与基准分辨率不相邻的分辨率,则从预存储的视频标识对应的视频编码信息中,确定目标分辨率对应的目标编码信息,然后基于基本视频的第一编码信息,以及目标分辨率对应的目标编码信息,可确定出目标分辨率对应的视频。
在本申请的可选实施例中,上述基于目标分辨率对应的目标编码文件解码得到目标分辨率对应的视频,包括:
分别对第一编码信息和目标编码信息进行解码,得到基本视频和目标编码信息对应的视频参数;
基于目标编码信息对应的视频参数对基本视频进行分辨率调整,得到目标分辨率对应的视频。
其中,需要对第一编码信息进行解码,得到基本视频,对目标分辨率对应的目标编码信息进行解码,得到该目标编码信息对应的视频参数,基于该基本视频和该视频参数,可得到目标分辨率对应的视频。得到目标分辨率对应的视频后,将目标分辨率对应的视频进行播放,完成对当前播放的视频的清晰度切换。
在本申请的可选实施例中,目标编码文件中还包括分辨率标识,分辨率标识用于表征目标分辨率;基于目标分辨率对应的目标编码文件,解码得到目标分辨率对应的视频,包括:
解析目标编码文件,得到分辨率标识、第一编码信息和目标编码信息;
采用分辨率标识对应的解码参数,对第一编码信息和目标编码信息进行解码,得到目标分辨率对应的视频。
该方案具体在前文的服务器端已经进行说明,在此不在赘述。
其中,上述方案是用户终端与服务器之间相互交互完成的,上述方案与图1中所示的视频播放方法的原理相同,相关内容参见前文所描述的方案,在此不再赘述。
基于本申请提供的该方法,在接收到视频清晰度切换请求时,可先确定该视频标识对应的基本视频的第一编码信息,再基于目标分辨率以及预存储的视频标识对应的映射关系,确定目标分辨率对应的目标编码信息。在目标分辨率不是基准分辨率,用户终端基于包含第一编码信息和目标编码信息的目标编码文件,解码得到目标分辨率对应的视频并播放,在目标分辨率是基准分辨率时,用户终端基于包含第一编码信息的目标编码文件,解码得到目标分辨率对应的视频并播放。在本方案中,由于服务器中仅存储一个分辨率的片源的编码信息(第一编码信息)和各第二编码信息,其他分辨率的视频均可基于基本视频确定,由此,基于本申请的方案可节省存储资源,切换前后的视频画面可以保证对齐,提高切换质量,基于本申请的方案在清晰度切换时不需要重新启动播放器,从而还可减少切换耗时。
在本申请的可选实施例中,对于一个分辨率,第二编码信息为基于当前播放的视频的基本视频得到该分辨率的视频时所需的视频参数的编码信息,目标编码信息包括目标分辨率对应的第二编码信息包括以下两种情况:
第一种,上述预存储的视频编码信息包括至少一个分辨率对应的第二编码信息,一个分辨率所对应的第二编码信息是由第三视频得到该分辨率的视频时所需的视频参数的编码信息,上述第三视频为该分辨率的相邻分辨率对应的视频,目标编码信息包括目标分辨率对应的第二编码信息,以及目标分辨率和基准分辨率之间的各分辨率对应的第二编码信息。
其中,参见上述分辨率从480P切换到720P的示例,为了得到720P的视频,需要先基于480P的第二编码信息对应的视频参数,对270P的基本视频进行分辨率调整,得到480P的视频(该视频为第三视频),然后再基于720P的第二编码信息对应的视频参数,对480P的视频进行分辨率调整,得到720P的视频。
第二种,上述预存储的视频编码信息包括至少一个分辨率对应的目标编码信息,至少一个分辨率包括目标分辨率。
其中,对于第二种情况,可直接基于目标分辨率对应的第二编码信息(该第二编码信息即为目标编码信息)对应的视频参数,对基本视频进行分辨率调整,得到目标分辨率的视频。
作为一个示例,仍然以分辨率从480P切换到720P的示例为例,目标分辨率为720P,则基于该720P对应的视频参数对基本视频进行分辨率调整,得到目标分辨率的视频(720P的视频)。
可选的,前文所描述的对视频的分辨率进行调整包括将该视频的分辨率调高或调低。比如,前文基本视频的基准分辨率为270P,目标分辨率通常都大于该基准分辨率,则需要基于目标分辨码率对应的目标解码信息对应的视频参数,对该基本视频的分辨率进行调高。如果基准分辨率大于目标分辨率,则需要基于目标分辨码率对应的目标解码信息对应的视频参数,对该基本视频的分辨率进行调低。可以理解的是,目标分辨率不同,对应所需要的视频参数不同。作为一个视频,从270P(基准分辨率)切换至480P(目标分辨率)所需要的视频参数和从480P(基准分辨率)切换至270P(目标分辨率)所需要的视频参数不同。
本申请的可选实施例中,接收服务器发送的当前播放的视频对应的基本视频的第一编码信息以及目标分辨率对应的目标编码信息,包括:
接收服务器基于目标分辨率确定的目标编码文件,目标编码文件中包括当前播放的视频对应的基本视频的第一编码信息、目标分辨率对应的目标编码信息以及头文件,文件头中包括目标分辨率的分辨率标识;
对当前播放的视频对应的基本视频的第一编码信息和目标分辨率对应的目标编码信息进行解码,包括:
解析目标编码文件,得到当前播放的视频对应的基本视频的第一编码信息、目标分辨率对应的目标编码信息以及头文件;
采用目标分辨率的分辨率标识对应的解码参数,分别对当前播放的视频对应的基本视频的第一编码信息和目标分辨率对应的目标编码信息进行解码。
可以理解的是,本申请所提供的图1中所示的可选实施例以及以图1中所示的方案为基础的其他可选实施例,与图3中所示的可选实施例以及以图3所示的方案为基础的其他可选实施例,是分别从两种不同的角度对同一技术方案进行的描述,一个是从用户终端角度(即从用户的角度)进行的描述,即方法的执行主体为用户终端,另一个是服务器的角度进行的描述,即方法的执行主体为服务器。在前文的描述中,从两种角度进行描述时,一些重复的内容可能就没有再进行过多的重复说明,但两种不同角度的说明内容是可以相互参考、相互补充的,这对于本领域技术人员而言也是清楚的。
为了更好的说明及理解本申请所提供的方法的原理,下面结合一个可选的具体实施例对本申请的方案进行说明。需要说明的是,该具体实施例中的各步骤的具体实现方式并不应当理解为对于本申请方案的限定,在本申请所提供的方案的原理的基础上,本领域技术人员能够想到的其他实现方式也应视为本申请的保护范围之内。
在本示例中,以480P的视频切换至720P的视频为例进行说明,在切换之前,需要对基准分辨率为270P的基本视频和基于基本视频得到其他各分辨率的视频时所需要的视频参数进行编码;Base层对应的是基本视频的第一编码信息,Enhance Layer1层(增强层1)对应的是基于270P的视频得到480P的视频所需要的视频参数的第二编码信息;EnhanceLayer2层(增强层2)对应的是基于270P视频得到720P视频所需要的视频参数的第二编码信息,Enhance Layer3层(增强层3)对应的是基于270P的视频得到1080P的视频所需要的视频参数的第二编码信息。
可选的,还可以基于SVC(ScalableVideoCoding,可适性视讯编码或可分级视频编码)对基准分辨率为270P的基本视频和基于基本视频得到其他各分辨率的视频时所需要的视频参数进行编码;如图5所示的编码信息的示意图,Base层对应的是基本视频的第一编码信息,Enhance Layer1层(增强层1)对应的是基于270P的视频得到480P的视频所需要的视频参数的第二编码信息;Enhance Layer2层(增强层2)对应的是基于480P视频得到720P视频所需要的视频参数的第二编码信息,Enhance Layer3层(增强层3)对应的是基于720P的视频得到1080P的视频所需要的视频参数的第二编码信息。本示例中不是采用的该种编码方式。
在得到第一编码信息和各第二编码信息之后,可将上述基本视频的第一编码信息和各第二编码信息存储在服务器中,该服务器为视频类应用程序的应用服务器(也可以称为视频服务器),视频服务器可以通过CDN服务器将视频发送给用户终端。本示例中,基本视频的第一编码信息和各第二编码信息的格式均为ts格式。
参见图6所示的视频播放方法的流程示意图,用户终端一侧包括播放视频的APP,以及该APP对应的播放器。后台指的是服务器一侧,包括视频服务器和CDN服务器,后台和用户终端之间可以进行通信。该APP中对应设置了默认分辨率(也可称为启播分辨率),该默认分辨率为480P。
参见图7所示的视频播放系统的结构示意图,用户终端的播放器包括解复用模块(demuxer模块),解码器(图中包括解码器1(decoder1),解码器2(decoder2))和渲染模块(render模块)。本示例中,解复用模块用于将视频的视频数据和音频数据分离开来,以便于后续对视频数据进行渲染处理。作为一个示例,解码器1是用来解码480P的视频,解码器2是用来解码720P的视频,可以理解的是,不同分辨率的视频对应的编码信息可以基于不同的解码参数进行解码,比如,解码参数可以为缓存空间,分辨率越大的编码信息解码后对应需要的缓存空间越大。则该示例中可不只包括上述两个解码器。
在用户想通过用户终端的APP播放某个视频(为描述方便,下文称为第二视频)时,可基于对该APP应用界面的视频播放标识(比如,播放按钮)的触发操作,此时,APP层调用播放器的启播接口开始播放,并将默认分辨率传递给播放器,播放器基于该默认播放请求,生成视频播放请求,发送给视频服务器,该视频播放请求中包括该第二视频的视频标识以及用户在APP对应的账号信息,该视频标识用来标识该第二视频的身份,播放器基于该视频播放请求向视频服务器请求该第二视频的播放地址(图中所示的获取SVC播放地址),即视频服务器接收播放器发送的视频播放请求中的账号信息和视频标识,基于视频标识和账号信息生成该默认分辨率的第二视频的播放地址(对应图中的生成启播分辨率的SVC源地址StsrtURL),比如,http://test_svc.m3u8;即视频服务器确定该视频标识对应的CDN服务器的地址信息(播放地址),可由视频服务器或CDN服务器获取该默认分辨率对应的分辨率列表。将该播放地址以及分辨率列表发送给播放器,播放器接收到分辨率列表后,可通过接口传递给APP层,APP层接收到该列表后,可在APP的界面上进行显示。
同时,播放器使用视频服务器提供的播放地址开始建立与CDN服务器的网络连接,下载播放地址对应的第二视频的编码文件,通常视频数据以视频流的形式传输,通过播放器中的解复用模块、解码器和渲染模块对下载得到的编码文件进行处理,得到第二视频并播放。
在本示例中,对于播放地址对应的基本视频的视频数据可以预先进行视频流分片,得到多个视频流分片(本示例中,视频流分片为TS分片),一个视频流分片对应基本视频中的一段视频,将多个视频流分片按照时序生成m3u8索引,该索引表征了各视频流分片的序号以及各片段之间的对应关系。在下载第二视频的编码文件时,CDN服务器可基于m3u8索引,将第一个TS分片对应的编码文件发送给播放器,或者,播放器可基于播放请求向CDN服务器请求第一个TS分片,播放器接收到CDN服务器发送的第一个TS分片对应的编码文件后,下载该TS分片对应的编码文件,播放器处理该TS分片对应的编码文件,得到该TS分片对应的视频片段并播放,在播放器处理该TS分片时,可继续向后台请求第二个TS分片或接收后台发送的第二个TS分片。
在该播放某个TS分片(TS分片1)对应的视频片段(该视频片段的分辨率为480P)时,用户基于播放该视频片段的界面上所显示的分辨率切换标识,基于对该标识的触发操作,可以向后台获取该默认分辨率对应的分辨率列表,该分辨率列表包括多个分辨率选项,每个分辨率选项对应一个分辨率;基于对多个分辨率选项中任一选项的触发操作(视频清晰度切换操作),生成视频清晰度切换请求。如果该视频清晰度切换操作对应的分辨率选项为1080P,则目标分辨率为1080P,则基于该视频清晰度切换操作,用户想将视频的分辨率由480P切换至1080P,此时,第一视频为第二视频对应的TS分片1对应的视频片段。APP层接收到该视频清晰度切换请求,基于该目标分辨率,调用播放器对应的清晰度切换接口,通过该接口将目标分辨率发送给视频服务器。
视频服务器将目标分辨率发送给CDN服务器,CDN服务器基于默认分辨率,修改发送给播放器的下一TS分片对应的码流内容(编码文件),即修改该下一个TS分片对应的编码信息;具体的:CDN服务器接收到视频清晰度切换请求后,基于目标分辨率和预先存储的各第二编码信息,确定该目标分辨率对应的目标编码信息,该目标编码信息为增强层3对应的第二编码信息(为描述方便,下文称为编码信息1)。基于第二视频的视频标识,确定第二视频的基本视频的第一编码信息,此处,该第一编码信息可以为第二视频的基本视频中的下一个TS分片对应的第一编码信息;第二视频和该基本视频为具有相同视频内容的视频,该基本视频的分辨率与第二视频的分辨率不同。
基于第二视频的基本视频的第一编码信息,该目标分辨率对应的目标编码信息以及包含目标分辨率的分辨率标识的头文件,生成目标编码文件,该分辨率标识表征了目标分辨率为1080P。该目标编码文件可表示为SVC1080P.ts。
CDN服务器将该目标编码文件发送给播放器,播放器的解复用模块先解析目标编码文件,在解析得到包含目标分辨率的分辨率标识的头文件时,采用该目标分辨率对应的解码参数,解码第二视频的基本视频的第一编码信息,以及该目标分辨率对应的目标编码信息,得到第二视频的基本视频,以及该目标分辨率对应的视频参数(编码信息1对应的第一视频参数),在本示例中,具体可通过重启解码器,确定目标分辨率对应的解码参数。其中,在解析得到包含目标分辨率的分辨率标识的头文件时,表明接下来解码的目标编码文件发生变化,即分辨率发生变化,则播放器的解复用模块会将更新的信息放到目标编码文件对应的视频包的描述结构体中。
基于第一视频参数对第二视频的基本视频的分辨率进行调整,得到1080P的视频片段(目标分辨率的视频)。最后通过播放器的渲染模块将1080P的视频片段进行渲染,在TS分片1对应的视频片段播放结束后,播放1080P的视频片段,此时,用户在用户终端上所观看到的视频为分辨率为1080P。
基于与本申请图1所提供的方法相同的原理,本申请实施例还提供了一种视频播放装置,如图8所示,该视频播放装置30包括清晰度切换请求发送模块310和视频确定及播放模块320;其中:
清晰度切换请求发送模块310,用于响应于视频清晰度切换操作,向服务器发送视频清晰度切换请求,视频清晰度切换请求中包含目标分辨率和视频标识;
视频确定及播放模块320,用于接收服务器发送的目标编码文件,并基于目标编码文件解码得到目标分辨率对应的视频并播放,其中,目标编码文件是服务器通过以下方式得到的:
确定视频标识对应的基本视频的第一编码信息,基本视频的分辨率为基准分辨率;
若目标分辨率是基准分辨率,则将包含第一编码信息的目标编码文件发送至用户终端;
若目标分辨率不是基准分辨率,且目标分辨率是与基准分辨率不相邻的分辨率,则从预存储的视频标识对应视频编码信息中,确定目标分辨率对应的目标编码信息,并将包含第一编码信息和目标编码信息的目标编码文件发送至用户终端;
其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少两个分辨率对应的编码信息,上述至少两个分辨率包括目标分辨率。。
本申请实施例所提供的方案,由于服务器中仅存储一个分辨率的片源的编码信息(第一编码信息)和各第二编码信息,其他分辨率的视频均可基于基本视频和目标分辨率对应的目标编码信息确定,由此,基于本申请的方案可节省存储资源,切换前后的视频画面可以保证对齐,提高切换质量,基于本申请的方案在清晰度切换时不需要重新启动播放器,从而还可减少切换耗时。
可选的,上述视频确定及播放模块在基于目标编码文件解码得到目标分辨率对应的视频时,具体用于:基于目标编码信息对应的视频参数,对基本视频进行分辨率调整,得到目标分辨率对应的视频并播放。
可选的,上述视频确定及播放模块在基于目标分辨率对应的目标编码文件解码得到目标分辨率对应的视频时,具体用于:分别对第一编码信息和目标编码信息进行解码,得到基本视频和目标编码信息对应的视频参数;基于目标编码信息对应的视频参数对基本视频进行分辨率调整,得到目标分辨率对应的视频。
可选的,目标编码文件中还包括分辨率标识,分辨率标识用于表征目标分辨率;上述视频确定及播放模块在基于目标分辨率对应的目标编码文件,解码得到目标分辨率对应的视频时,具体用于:解析目标编码文件,得到分辨率标识、第一编码信息和目标编码信息;采用分辨率标识对应的解码参数,对第一编码信息和目标编码信息进行解码,得到目标分辨率对应的视频。
基于与本申请图3所提供的方法相同的原理,本申请实施例还提供了一种视频播放装置,如图9所示,该视频播放装置40包括清晰度切换请求接收模块410,第一编码信息确定模块420,目标编码信息确定模块430和目标编码文件处理模块440;其中:
清晰度切换请求接收模块410,用于接收视频清晰度切换请求,视频清晰度切换请求中包括目标分辨率和视频标识;
第一编码信息确定模块420,用于确定视频标识对应的基本视频的第一编码信息,其中,基本视频的分辨率为基准分辨率;
目标编码信息确定模块430,用于在目标分辨率不是基准分辨率且上述目标分辨率是与基准分辨率不相邻的分辨率时,从预存储的视频标识对应的视频编码信息中,确定上述目标分辨率对应的目标编码信息;
其中,上述目标编码信息包括由基本视频得到目标分辨率的视频时所需的视频参数的编码信息,上述预存储的视频编码信息包括至少两个分辨率对应的编码信息,上述至少两个分辨率包括目标分辨率;
目标编码文件处理模块440,用于将目标编码文件发送给用户终端,以使用户终端基于目标编码文件解码得到目标分辨率对应的视频并播放,其中,若目标分辨率不是基准分辨率,目标编码文件包括第一编码信息和目标编码信息,若目标分辨率是基准分辨率,目标编码文件包括第一编码信息。
本申请实施例所提供的方案,由于服务器中仅存储一个分辨率的片源的编码信息(第一编码信息)和各第二编码信息,其他分辨率的视频均可基于基本视频和目标分辨率对应的目标编码信息确定,由此,基于本申请的方案可节省存储资源,切换前后的视频画面可以保证对齐,提高切换质量,基于本申请的方案在清晰度切换时不需要重新启动播放器,从而还可减少切换耗时。
可选的,上述目标编码文件中还包括分辨率标识,上述分辨率标识用于表征目标分辨率,分辨率标识用于用户终端采用分辨率标识对应的解码参数,对第一编码信息和目标编码信息进行解码,得到目标分辨率对应的视频并播放。
可选的,该装置还包括:视频播放模块,用于在接收视频清晰度切换请求之前,接收视频播放请求,视频播放请求包括视频标识;将设定分辨率对应的编码文件发送给用户终端,以使用户终端基于设定分辨率对应的编码文件解码得到设定分辨率的视频并播放。
可选的,上述装置40包含在视频服务器或CDN服务器中的至少一个中;若上述装置40包含在视频服务器和CDN服务器中,上述视频播放模块在接收视频播放请求时,具体用于:视频服务器接收视频播放请求,确定视频标识对应的CDN服务器的地址信息,并将地址信息发送给用户终端,以使用户终端与CDN服务器建立连接;CDN服务器将设定分辨率对应的编码文件发送给用户终端。
可选的,若上述装置40包含在视频服务器和CDN服务器中,上述清晰度切换请求接收模块在接收视频清晰度切换请求时,具体用于:视频服务器接收视频清晰度切换请求,将目标分辨率发送给CDN服务器;上述目标编码文件处理模块在将目标编码文件发送给用户终端时,具体用于:CDN服务器将目标编码文件发送给用户终端。
本申请实施例的视频播放装置可执行本申请实施例所提供的视频播放方法,其实现原理相类似,本申请各实施例中的视频播放装置中的各模块、单元所执行的动作是与本申请各实施例中的视频播放方法中的步骤相对应的,对于视频播放装置的各模块的详细功能描述具体可以参见前文中所示的对应的视频播放方法中的描述,在此处不再赘述。
视频播放装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该用户界面的显示装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。
在一些实施例中,本发明实施例提供的视频播放装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的视频播放装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的视频播放方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在另一些实施例中,本发明实施例提供的视频播放装置可以采用软件方式实现,存储在存储器中的视频播放装置,其可以是程序和插件等形式的软件,并包括一系列的模块,包括视频播放装置30中的清晰度切换请求发送模块310和视频确定及播放模块320,以及视频播放装置40中的清晰度切换请求接收模块410,第一编码信息确定模块420,目标编码信息确定模块430和目标编码文件处理模块440;其中,视频播放装置30中的各模块用于实现本发明实施例提供的视频播放方法,视频播放装置40中的各模块于实现本发明实施例提供的视频播放方法。
本申请实施例提供了一种视频播放装置,与现有技术相比,由于服务器中仅存储一个分辨率的片源的编码信息(第一编码信息)和各第二编码信息,其他分辨率的视频均可基于基本视频和目标分辨率对应的目标编码信息确定,由此,基于本申请的方案可节省存储资源,切换前后的视频画面可以保证对齐,提高切换质量,基于本申请的方案在清晰度切换时不需要重新启动播放器,从而还可减少切换耗时。
上述从虚拟模块或者虚拟单元的角度介绍本申请的视频播放装置,下面从实体装置的角度介绍本申请的电子设备。
基于与本申请实施例提供的方法相同的原理,本申请实施例中提供了一种电子设备,该电子设备包括存储器和处理器;存储器中存储有计算机程序,该计算机程序在被处理器执行时,可以实现本申请任一可选方式中所提供的方法。
作为一个可选方案,图10中示出了本申请实施例所适用的一种电子设备的结构示意图,如图10所示,图10所示的电子设备4000包括处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscReadOnly Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于用户终端设备、服务器,其中,服务器可以是物理服务器、云服务器、单个服务器或服务器集群等。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该程序在计算机上运行时,可以使得计算机可以执行前述方法实施例中相应内容。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例涉及的各种可选实现方式中提供的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种视频播放方法,其特征在于,包括:
响应于视频清晰度切换操作,向服务器发送视频清晰度切换请求,所述视频清晰度切换请求中包含目标分辨率和视频标识;
接收所述服务器发送的目标编码文件,并基于所述目标编码文件解码得到所述目标分辨率对应的视频并播放,其中,所述目标编码文件是所述服务器通过以下方式得到的:
确定所述视频标识对应的基本视频的第一编码信息,所述基本视频的分辨率为基准分辨率;
若所述目标分辨率是所述基准分辨率,则将包含所述第一编码信息的目标编码文件发送至用户终端;
若所述目标分辨率不是所述基准分辨率,且所述目标分辨率是与所述基准分辨率不相邻的分辨率,则从预存储的所述视频标识对应的视频编码信息中,确定所述目标分辨率对应的目标编码信息,并将包含所述第一编码信息和所述目标编码信息的目标编码文件发送至用户终端;
其中,所述目标编码信息包括由所述基本视频得到所述目标分辨率的视频时所需的视频参数的编码信息,预存储的所述视频编码信息包括至少两个分辨率对应的编码信息,所述至少两个分辨率包括所述目标分辨率。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标编码文件解码得到所述目标分辨率对应的视频并播放,包括:
基于所述目标编码信息对应的视频参数,对所述基本视频进行分辨率调整,得到所述目标分辨率对应的视频并播放。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标编码文件解码得到所述目标分辨率对应的视频并播放,包括:
分别对所述第一编码信息和所述目标编码信息进行解码,得到所述基本视频和所述目标编码信息对应的视频参数;
基于所述目标编码信息对应的视频参数对所述基本视频进行分辨率调整,得到所述目标分辨率对应的视频并播放。
4.根据权利要求1或2所述的方法,其特征在于,所述目标编码文件中还包括分辨率标识,所述分辨率标识用于表征所述目标分辨率;所述基于所述目标编码文件解码得到所述目标分辨率对应的视频并播放,包括:
解析所述目标编码文件,得到所述分辨率标识、所述第一编码信息和所述目标编码信息;
采用所述分辨率标识对应的解码参数,对所述第一编码信息和所述目标编码信息进行解码,得到所述目标分辨率对应的视频并播放。
5.一种视频播放方法,其特征在于,包括:
接收视频清晰度切换请求,所述视频清晰度切换请求中包括目标分辨率和视频标识;
确定所述视频标识对应的基本视频的第一编码信息,其中,所述基本视频的分辨率为基准分辨率;
若所述目标分辨率不是所述基准分辨率,且所述目标分辨率是与所述基准分辨率不相邻的分辨率,则从预存储的所述视频标识对应的视频编码信息中,确定所述目标分辨率对应的目标编码信息;
其中,所述目标编码信息包括由所述基本视频得到所述目标分辨率的视频时所需的视频参数的编码信息,预存储的所述视频编码信息包括至少两个分辨率对应的编码信息,所述至少两个分辨率包括所述目标分辨率;
将所述目标编码文件发送给用户终端,以使所述用户终端基于所述目标编码文件解码得到所述目标分辨率对应的视频并播放,其中,若所述目标分辨率不是所述基准分辨率,所述目标编码文件包括所述第一编码信息和所述目标编码信息,若所述目标分辨率是所述基准分辨率,所述目标编码文件包括所述第一编码信息。
6.根据权利要求5所述的方法,其特征在于,所述方法由视频服务器或CDN服务器中的至少一个执行;
若所述方法由所述视频服务器和所述CDN服务器执行,所述接收视频播放请求,包括:
所述视频服务器接收所述视频播放请求,确定所述视频标识对应的CDN服务器的地址信息,并将所述地址信息发送给用户终端,以使所述用户终端与所述CDN服务器建立连接;
所述将设定分辨率对应的编码文件发送给所述用户终端,包括:
所述CDN服务器将设定分辨率对应的编码文件发送给所述用户终端。
7.根据权利要求5所述的方法,其特征在于,所述目标编码文件中还包括分辨率标识,所述分辨率标识用于表征所述目标分辨率,所述分辨率标识用于所述用户终端采用所述分辨率标识对应的解码参数,对所述第一编码信息和所述目标编码信息进行解码,得到所述目标分辨率对应的视频并播放。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述接收视频清晰度切换请求之前,还包括:
接收视频播放请求,所述视频播放请求包括所述视频标识;
将设定分辨率对应的编码文件发送给所述用户终端,以使所述用户终端基于所述设定分辨率对应的编码文件解码得到所述设定分辨率的视频并播放。
9.根据权利要求6所述的方法,若所述方法由所述视频服务器和所述CDN服务器执行,所述接收视频清晰度切换请求,包括:
所述视频服务器接收视频清晰度切换请求,将所述目标分辨率发送给所述CDN服务器;
所述将所述目标编码文件发送给用户终端,包括:
所述CDN服务器将所述目标编码文件发送给用户终端。
10.一种视频播放装置,其特征在于,包括:
清晰度切换请求发送模块,用于响应于视频清晰度切换操作,向服务器发送视频清晰度切换请求,所述视频清晰度切换请求中包含目标分辨率和视频标识;
视频确定及播放模块,用于接收所述服务器发送的目标编码文件,并基于所述目标编码文件解码得到所述目标分辨率对应的视频并播放,其中,所述目标编码文件是所述服务器通过以下方式得到的:
确定所述视频标识对应的基本视频的第一编码信息,所述基本视频的分辨率为基准分辨率;
若所述目标分辨率是所述基准分辨率,则将包含所述第一编码信息的目标编码文件发送至用户终端;
若所述目标分辨率不是所述基准分辨率,且所述目标分辨率是与所述基准分辨率不相邻的分辨率,则从预存储的所述视频标识对应视频编码信息中,确定所述目标分辨率对应的目标编码信息,并将包含所述第一编码信息和所述目标编码信息的目标编码文件发送至用户终端;
其中,所述目标编码信息包括由所述基本视频得到所述目标分辨率的视频时所需的视频参数的编码信息,预存储的所述视频编码信息包括至少两个分辨率对应的编码信息,所述至少两个分辨率包括所述目标分辨率。
11.一种视频播放装置,其特征在于,包括:
清晰度切换请求接收模块,用于接收视频清晰度切换请求,所述视频清晰度切换请求中包括目标分辨率和视频标识;
第一编码信息确定模块,用于确定所述视频标识对应的基本视频的第一编码信息,其中,所述基本视频的分辨率为基准分辨率;
目标编码信息确定模块,用于在所述目标分辨率不是所述基准分辨率,且所述目标分辨率是与所述基准分辨率不相邻的分辨率时,从预存储的所述视频标识对应视频编码信息中,确定所述目标分辨率对应的目标编码信息;
其中,所述目标编码信息包括由所述基本视频得到所述目标分辨率的视频时所需的视频参数的编码信息,预存储的所述视频编码信息包括至少两个分辨率对应的编码信息,所述至少两个分辨率包括所述目标分辨率;
目标编码文件处理模块,用于将所述目标编码文件发送给用户终端,以使所述用户终端基于所述目标编码文件解码得到所述目标分辨率对应的视频并播放,其中,若所述目标分辨率不是所述基准分辨率,所述目标编码文件包括所述第一编码信息和所述目标编码信息,若所述目标分辨率是所述基准分辨率,所述目标编码文件包括所述第一编码信息。
12.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在运行所述计算机程序时执行权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序在被处理器运行时,所述处理器执行权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110819698.XA CN115643429A (zh) | 2021-07-20 | 2021-07-20 | 视频播放方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110819698.XA CN115643429A (zh) | 2021-07-20 | 2021-07-20 | 视频播放方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115643429A true CN115643429A (zh) | 2023-01-24 |
Family
ID=84939508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110819698.XA Pending CN115643429A (zh) | 2021-07-20 | 2021-07-20 | 视频播放方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115643429A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886932A (zh) * | 2023-09-07 | 2023-10-13 | 中移(杭州)信息技术有限公司 | 视频流传输方法、装置、终端设备及存储介质 |
-
2021
- 2021-07-20 CN CN202110819698.XA patent/CN115643429A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886932A (zh) * | 2023-09-07 | 2023-10-13 | 中移(杭州)信息技术有限公司 | 视频流传输方法、装置、终端设备及存储介质 |
CN116886932B (zh) * | 2023-09-07 | 2023-12-26 | 中移(杭州)信息技术有限公司 | 视频流传输方法、装置、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3562163B1 (en) | Audio-video synthesis method and system | |
KR101467430B1 (ko) | 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템 | |
US7720986B2 (en) | Method and system for media adaption | |
US10432690B1 (en) | Manifest partitioning | |
WO2019024919A1 (zh) | 视频转码方法及其装置、服务器、可读存储介质 | |
US10863211B1 (en) | Manifest data for server-side media fragment insertion | |
US10104143B1 (en) | Manifest segmentation | |
US20160261927A1 (en) | Method and System for Providing and Displaying Optional Overlays | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
JP2011514053A (ja) | 対話型コンテンツ識別のためのビデオに対するトリガの使用 | |
CN110582012B (zh) | 视频切换方法、视频处理方法、装置及存储介质 | |
US10116719B1 (en) | Customized dash manifest | |
CN112637661B (zh) | 视频流的切换方法及装置、计算机存储介质、电子设备 | |
WO2008055402A1 (fr) | Procédé, système, dispositif et boîtier décodeur pour afficher des informations de multiples chaînes sur un même écran | |
CN110996160B (zh) | 视频处理方法、装置、电子设备及计算机可读取存储介质 | |
US20220060532A1 (en) | Method for transmitting resources and electronic device | |
CN112911318B (zh) | 直播间背景替换方法、装置、电子设备及存储介质 | |
JP2015531217A (ja) | ストリーミングメディアのための状態情報を搬送すること | |
CN110636372B (zh) | 视频解码方法、视频播放装置、电子设备及存储介质 | |
US20120300127A1 (en) | System for managing detection of advertisements in an electronic device, for example in a digital tv decoder | |
CN115643429A (zh) | 视频播放方法、装置、电子设备及计算机可读存储介质 | |
CN111010620B (zh) | 多媒体资源轮播的方法、装置、电子设备和存储介质 | |
US20160337679A1 (en) | Method for displaying bit depth for playing video using dash | |
CN112243136B (zh) | 内容播放方法、视频存储方法和设备 | |
WO2019007027A1 (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 |