CN111372126B - 视频播放方法、装置及存储介质 - Google Patents

视频播放方法、装置及存储介质 Download PDF

Info

Publication number
CN111372126B
CN111372126B CN201910569992.2A CN201910569992A CN111372126B CN 111372126 B CN111372126 B CN 111372126B CN 201910569992 A CN201910569992 A CN 201910569992A CN 111372126 B CN111372126 B CN 111372126B
Authority
CN
China
Prior art keywords
video
display
height
determining
width
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910569992.2A
Other languages
English (en)
Other versions
CN111372126A (zh
Inventor
刘龙飞
王保青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201910569992.2A priority Critical patent/CN111372126B/zh
Publication of CN111372126A publication Critical patent/CN111372126A/zh
Application granted granted Critical
Publication of CN111372126B publication Critical patent/CN111372126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • H04N21/440272Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA for performing aspect ratio conversion
    • 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/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows

Abstract

本发明公开了一种视频播放方法、装置及存储介质,属于视频处理技术领域。所述方法包括:获取目标视频帧的视频分辨率;基于该视频分辨率,确定该目标视频帧的视频帧宽高比;确定显示屏当前的显示宽度与该视频帧宽高比之间的比值,得到高度比对值;根据该高度比对值与该显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放。由于在确定视频播放窗口的尺寸过程中,综合考虑了视频帧宽高比、显示屏当前的显示宽度以及显示高度之间的关系,因此使得所确定的视频播放窗口能够与目标视频帧较好得匹配,如此基于确定后的视频播放窗口进行视频播放时,可以实现视频的自适应显示。

Description

视频播放方法、装置及存储介质
技术领域
本发明实施例涉及视频处理技术领域,特别涉及一种视频播放方法、装置及存储介质。
背景技术
受摄像设备和后期处理等因素的影响,视频的分辨率呈多样化发展,譬如,某视频的前半部分视频帧与后半部分视频帧的分辨率也可能大不相同。另一方面,随着电子设备的快速发展,用于播放视频的终端的屏幕分辨率也大小不一。因此,在播放视频时,视频的分辨率与屏幕分辨率可能存在不匹配的现象。因此,在视频播放过程中,如何实现视频的自适应播放成为研究的热点。
发明内容
本发明实施例提供了一种视频播放方法、装置及存储介质,可以在视频播放过程中实现视频的自适应播放。所述技术方案如下:
一方面,提供了一种视频播放方法,所述方法包括:
获取目标视频帧的视频分辨率;
基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值;
根据所述高度比对值与所述显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述根据所述高度比对值与所述显示屏当前的显示高度之间的大小关系,确定所述视频播放窗口的尺寸,包括:
当所述高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述高度比对值,以及将所述视频播放窗口的高度确定为所述显示高度。
在本申请一种可能的实现方式中,所述方法还包括:
获取屏幕分辨率,所述屏幕分辨率包括第一数值和第二数值,所述第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,所述第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度;
当屏幕显示状态为竖屏状态时,将所述第一数值确定为所述显示宽度,以及将所述第二数值确定为所述显示高度;
当所述屏幕显示状态为横屏状态时,将所述第一数值确定为所述显示高度,以及将所述第二数值确定为所述显示宽度。
在本申请一种可能的实现方式中,所述方法还包括:
当所述视频帧宽高比处于预设范围内时,执行所述确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值的操作;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于所述显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积。
在本申请一种可能的实现方式中,所述方法还包括:
当检测到目标视频中视频帧的视频分辨率发生变化时,将变化后的视频帧获取为所述目标视频帧;
当所述目标视频中视频帧的视频分辨率未发生变化时,基于当前确定的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述获取目标视频帧的视频分辨率之前,还包括:
当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态;
接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
另一方面,提供了一种终端,包括:
处理器,所述处理器用于执行可执行指令;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述一方面所述的任一项方法的步骤。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现上述一方面所述的任一项方法的步骤。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述一方面所述的视频播放方法。
另一方面,提供了一种视频播放方法,所述方法包括:
获取目标视频帧的视频分辨率,所述目标视频帧为目标视频的第一帧视频帧,或者为目标视频中分辨率发生变化后的视频帧;
基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸,包括:
基于屏幕显示状态和所述屏幕分辨率,确定显示屏当前的显示宽度和显示高度;
当所述高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述高度比对值,以及将所述视频播放窗口的高度确定为所述显示高度。
在本申请一种可能的实现方式中,所述方法还包括:
获取屏幕分辨率,所述屏幕分辨率包括第一数值和第二数值,所述第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,所述第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度;
当屏幕显示状态为竖屏状态时,将所述第一数值确定为所述显示宽度,以及将所述第二数值确定为所述显示高度;
当所述屏幕显示状态为横屏状态时,将所述第一数值确定为所述显示高度,以及将所述第二数值确定为所述显示宽度。
在本申请一种可能的实现方式中,所述方法还包括:
当所述视频帧宽高比处于预设范围内时,执行所述基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸的操作;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于所述显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积。
在本申请一种可能的实现方式中,所述获取目标视频帧的视频分辨率之前,还包括:
当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态;
接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
另一方面,提供了一种终端,包括:
处理器,所述处理器用于执行可执行指令;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述另一方面所述的任一项方法的步骤。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现上述另一方面所述的任一项方法的步骤。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述另一方面所述的视频播放方法。
另一方面,提供了一种视频播放装置,所述装置包括:
第一获取模块,用于获取目标视频帧的视频分辨率;
第一确定模块,用于基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
第二确定模块,用于确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值;
第一视频播放模块,用于根据所述高度比对值与所述显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述第一视频播放模块用于:
当所述高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述高度比对值,以及将所述视频播放窗口的高度确定为所述显示高度。
在本申请一种可能的实现方式中,所述第一确定模块还用于:
获取屏幕分辨率,所述屏幕分辨率包括第一数值和第二数值,所述第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,所述第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度;
当屏幕显示状态为竖屏状态时,将所述第一数值确定为所述显示宽度,以及将所述第二数值确定为所述显示高度;
当所述屏幕显示状态为横屏状态时,将所述第一数值确定为所述显示高度,以及将所述第二数值确定为所述显示宽度。
在本申请一种可能的实现方式中,所述第二确定模块还用于:
当所述视频帧宽高比处于预设范围内时,执行所述确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值的的操作;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于所述显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积。
在本申请一种可能的实现方式中,所述第一获取模块还用于:
当检测到目标视频中视频帧的视频分辨率发生变化时,将变化后的视频帧获取为所述目标视频帧;
当所述目标视频中视频帧的视频分辨率未发生变化时,基于当前确定的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述第一获取模块还用于:
当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态;
接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
另一方面,提供了一种视频播放装置,所述装置包括:
第二获取模块,用于获取目标视频帧的视频分辨率,所述目标视频帧为目标视频的第一帧视频帧,或者为目标视频中分辨率发生变化后的视频帧;
第三确定模块,用于基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
第二视频播放模块,用于基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述第二视频播放模块用于:
基于屏幕显示状态和所述屏幕分辨率,确定显示屏当前的显示宽度和显示高度;
当所述高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述高度比对值,以及将所述视频播放窗口的高度确定为所述显示高度。
在本申请一种可能的实现方式中,所述第三确定模块还用于:
获取屏幕分辨率,所述屏幕分辨率包括第一数值和第二数值,所述第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,所述第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度;
当屏幕显示状态为竖屏状态时,将所述第一数值确定为所述显示宽度,以及将所述第二数值确定为所述显示高度;
当所述屏幕显示状态为横屏状态时,将所述第一数值确定为所述显示高度,以及将所述第二数值确定为所述显示宽度。
在本申请一种可能的实现方式中,所述第三确定模块还用于:
当所述视频帧宽高比处于预设范围内时,执行所述基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸的操作;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于所述显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积。
在本申请一种可能的实现方式中,所述第二获取模块还用于:
当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态;
接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
本发明实施例提供的技术方案带来的有益效果是:
获取目标视频帧的视频分辨率,基于该视频分辨率,确定该目标视频帧的视频帧宽高比,确定显示屏当前的显示宽度与视频帧宽高比之间的比值,得到高度比对值。根据该高度比对值与显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸。由于在确定视频播放窗口的尺寸过程中,综合考虑了视频帧宽高比、显示屏当前的显示宽度以及显示高度之间的关系,因此使得所确定的视频播放窗口能够与目标视频帧较好得匹配,如此基于确定后的视频播放窗口进行视频播放时,可以实现视频的自适应显示。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种视频播放方法的流程图;
图2是根据一示例性实施例示出的一种视频播放界面的显示示意图;
图3是根据另一示例性实施例示出的一种视频播放界面的显示示意图;
图4是根据另一示例性实施例示出的一种视频播放界面的显示示意图;
图5是根据另一示例性实施例示出的一种视频播放界面的显示示意图;
图6是根据另一示例性实施例示出的一种视频播放方法的流程图;
图7是根据一示例性实施例示出的一种视频播放装置的结构示意图;
图8是根据另一示例性实施例示出的一种视频播放装置的结构示意图;
图9是根据一示例性实施例示出的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例提供的视频播放方法进行详细介绍之前,先对本发明实施例涉及的应用场景和实施环境进行简单介绍。
首先,对本发明实施例涉及的应用场景进行简单介绍。
通常情况下,视频中可能包括多种分辨率的视频帧,为了能够适应屏幕的显示,在播放视频过程中,需要调整每个视频帧的数据尺寸,以保证视频图像不失真。然而,如何能够使得目标视频帧更好地适应于屏幕的显示成为研究的热点。另外,如果对每个视频帧均进行尺寸调整处理,将会导致增加终端的运行负担,且降低了视频播放效率。为此,本发明实施例提供了一种视频播放方法,该方法可以解决上述问题,其具体实现请参见如下各个实施例。
接下来,对本发明实施例涉及的实施环境进行简单介绍。
本发明实施例提供的视频播放方法可以由终端来执行,该终端可以配置有显示屏,用于视频播放。在一些实施例中,该终端可以为手机、平板电脑、台式计算机、便携式计算机等等,本发明实施例对此不作限定。
在介绍完本发明实施例涉及的应用场景和实施环境后,接下来将结合附图对本发明实施例提供的视频播放方法进行详细介绍。
图1是根据一示例性实施例示出的一种视频播放方法的流程图,该视频播放方法由终端来执行为例进行说明,该方法可以包括如下几个实现步骤:
步骤101:获取目标视频帧的视频分辨率。
作为一种示例,该目标视频帧可以为目标视频中的任一视频帧,该目标视频可以为待播放的视频,也可以为已经播放了部分视频帧的视频。进一步地,该目标视频可以为一段视频文件数据,譬如,该目标视频为与本端通信的采集端发送的一段视频文件数据。或者,该目标视频也可以为实时视频数据流,譬如,该目标视频为直播视频数据流等,本发明实施例对此不做限定。
步骤102:基于该视频分辨率,确定该目标视频帧的视频帧宽高比。
不难理解,目标视频帧通常由多个像素点组成,该多个像素点包括水平方向的像素点和垂直方向的像素点,该视频分辨率通常表示为水平方向的像素个数与垂直方向的像素个数之间的乘积,譬如,该目标视频帧的视频分辨率为 streamWidth*streamHeight,其中,该streamWidth即用于指示该目标视频帧中水平方向上的像素个数,streamHeight即用于指示该目标视频帧中垂直方向上的像素个数,比如,该视频分辨率为352*288,则表示该目标视频帧中水平方向上的像素个数为352个,垂直方向上的像素个数为288个。
进一步来说,该水平方向的像素个数用于指示目标视频帧的码流宽度,该垂直方向的像素个数用于指示该目标视频帧的码流高度。如此,基于视频分辨率可以确定目标视频帧的视频帧宽高比,譬如,该目标视频帧的视频帧宽高比如公式(1)所示:
其中,streamRatio为目标视频帧的视频帧宽高比,streamWidth为目标视频帧的码流宽度,streamHeight为目标视频帧的码流高度。
步骤103:确定显示屏当前的显示宽度与该视频帧宽高比之间的比值,得到高度比对值。
需要说明的是,该显示屏当前的显示宽度是指在当前的屏幕显示状态下的显示宽度,该屏幕显示状态可以包括横屏状态或竖屏状态。也就是说,根据显示屏的屏幕显示状态不同,该显示屏当前的显示宽度可能也不同,并且,下文所述的显示高度也同理,即根据显示屏的屏幕显示状态不同,该显示屏当前的显示高度也可能不同。作为一种示例,确定显示屏当前的显示宽度和显示高度的具体实现可以包括:
(1)获取屏幕分辨率,该屏幕分辨率包括第一数值和第二数值,该第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,该第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度。
通常来说,屏幕分辨率一般是指竖屏状态下对应的数据,包括上述第一数值和第二数值。作为一种示例,该数据可以通过像素个数来表示,也即是,该第一数值可以用于指示竖屏状态时显示屏在水平方向上的像素个数,该第二数值用于指示竖屏状态时显示屏在垂直方向上的像素个数。
(2)当屏幕显示状态为竖屏状态时,将该第一数值确定为该显示宽度,以及将该第二数值确定为该显示高度。
由于屏幕分辨率一般是指竖屏状态下对应的数据,因此,当该屏幕显示状态为竖屏状态时,说明终端处于常规使用状态,因此,可以直接将屏幕分辨率中用于指示该显示屏在水平方向的显示长度的数值确定为该显示屏的显示宽度,以及将该屏幕分辨率中用于指示显示屏在垂直方向的显示长度的数值确定为该显示屏的显示高度。
譬如,若该屏幕分辨率为720*1280,当该屏幕显示状态为竖屏状态时,可以确定显示屏的显示宽度为720,以及显示高度为1280。
(3)当该屏幕显示状态为横屏状态时,将该第一数值确定为该显示高度,以及将该第二数值确定为该显示宽度。
由于屏幕分辨率一般是指竖屏状态下对应的数据,因此,当该屏幕显示状态为横屏状态时,显示屏的显示宽度和显示高度也对应发生变化。譬如,当该屏幕显示状态为横屏状态时,若该屏幕分辨率为720*1280,则可以确定显示宽度为1280,显示高度为720。
进一步地,在实现过程中,可以通过重力感应器来检测终端的屏幕显示状态,也即是,可以通过重力感应器来感应横竖屏的切换。
之后,确定该显示宽度与该视频帧宽高比之间的比值,得到高度比对值。在一些实施例中,该高度比对值可以表示为如下公式(2)所示:
其中,tempHeight表示高度比对值,screenWidth表示显示宽度,streamRatio表示视频帧宽高比。
步骤104:根据该高度比对值与显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸。
作为一种示例,如前文所述,根据屏幕显示状态不同,该显示屏当前的显示高度也可能不同,其具体确定方式可以参见上文,这里不再赘述。
在实施中,根据该高度比对值与显示屏当前的显示高度之间的大小关系不同,确定该视频播放窗口的尺寸的实现方式也不同,具体地,其实现过程可以包括如下两种可能的实现方式:
第一种实现方式:当该高度比对值小于或等于该显示高度时,将该视频播放窗口的宽度确定为该显示宽度,以及将该视频播放窗口的高度确定为该高度比对值。
当tempHeight≤screenHeight时,说明目标视频帧的高度不足显示屏的显示高度,此时,可以将该视频播放窗口的宽度确定为该显示宽度,以使得目标视频帧的宽度铺满显示屏,同时,需要等比例缩放显示高度,将该视频播放窗口的高度确定为该高度比对值,即将该视频播放窗口的高度确定为tempHeight,以便于视频能够自适应显示。
第二种实现方式:当该高度比对值大于该显示高度时,将该视频播放窗口的宽度确定为该高度比对值,以及将该视频播放窗口的高度确定为该显示高度。
当tempHeight>screenHeight时,说明目标视频帧的高度超出显示屏的显示高度,此时,可以将该视频播放窗口的高度确定为该显示高度,以使得目标视频帧的高度铺满显示屏,同时等比例缩放显示宽度,将该视频播放窗口的宽度确定为该高度比对值,即将该视频播放窗口的宽度确定为tempHeight,以便于视频能够自适应显示。
进一步地,确定视频播放窗口的尺寸之前,查询该视频帧宽高比是否处于预设范围内,当该视频帧宽高比处于该预设范围内时,按照上述方式确定视频播放窗口的尺寸。
其中,该预设范围可以由用户根据实际需求自定义确定,也可以由终端默认确定,本发明实施例对此不做限定。
当上述视频帧宽高比处于预设范围内时,可以认为该目标视频帧的视频尺寸规则,此时,可以按照上述方式确定显示屏当前的显示宽度与该视频帧宽高比之间的比值,得到高度比对值,以及根据该高度比对值与该显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸。
进一步地,当上述视频帧宽高比未处于预设范围内时,则认为该目标视频帧的视频尺寸不规则,此时,若按照上述实现过程来确定视频播放窗口的尺寸,则会出现如图2和图3所示的现象,导致视频观看体验效果较差。为此,本发明实施例还提供了如下两种实现方式:
第一种实现方式:当该视频帧宽高比未处于该预设范围内时,如果该目标视频帧的视频宽度大于或等于该显示宽度,则将该视频播放窗口的宽度确定为该显示宽度,以及将该视频播放窗口的高度确定为该视频宽度与显示屏高宽比之间的乘积。
当该视频帧宽高比未处于该预设范围内时,如果该目标视频帧的视频宽度大于或等于该显示宽度,说明目标视频帧的宽度很宽,显示屏的宽度无法全部显示目标视频帧的宽度,如图2所示。此时,可以将该视频播放窗口的宽度确定为显示宽度,以使得目标视频帧的显示宽度铺满显示屏。同时,为了避免出现视频图像被拉伸的现象,还需要对该视频播放窗口的高度进行等比例缩放,即将该视频播放窗口的高度确定为该视频宽度与显示屏高宽比之间的乘积,譬如,显示屏高宽比表示为如下公式(3)所示:
此时,视频播放窗口的高度为streamDisplayHeight=streamWidth*screenRatio1,如此得到视频播放窗口的显示内容为streamWidth*streamDispalyHeight区域,譬如,显示效果如图4所示。由于视频播放窗口的尺寸大于屏幕尺寸,因此,在观看视频过程中,用户可以通过上下滑动屏幕或者增加按键点击来观看视频播放窗口底部未显示区域。
第二种实现方式:当该视频帧宽高比未处于该预设范围内时,如果该目标视频帧的视频高度大于或等于该显示高度,则将该视频播放窗口的高度确定为该显示高度,以及将该视频播放窗口的宽度确定为该视频高度与显示屏宽高比之间的乘积。
当该视频帧宽高比未处于该预设范围内时,如果该目标视频帧的视频高度大于或等于该显示高度,说明目标视频帧的高度很高,显示屏的高度无法全部显示目标视频帧的高度,如图3所示。此时,可以将该视频播放窗口的高度确定为显示高度,以使得目标视频帧的显示高度铺满显示屏。同时,为了避免出现视频图像被拉伸的现象,还需要对该视频播放窗口的宽度进行等比例缩放,即将该视频播放窗口的宽度确定为该视频高度与显示屏宽高比之间的乘积,譬如,显示屏宽高比表示为如下公式(4)所示:
此时,视频播放窗口的宽度为streamDisplayWidth=streamHeight*screenRatio2,如此得到视频播放窗口的显示内容为streamDispalyWidth*streamHeight区域,譬如,显示效果如图5所示。由于视频播放窗口的尺寸大于屏幕尺寸,因此,在观看视频过程中,用户可以通过左后滑动屏幕或者增加按键点击来观看视频播放窗口右侧未显示区域。
步骤105:基于确定后的视频播放窗口进行视频播放。
经过上述确定后,可以使得目标视频帧的分辨率与视频播放窗口的尺寸相匹配,因此,可以基于确定后的视频播放窗口,实现视频的自适应显示。
进一步地,当检测到目标视频中视频帧的视频分辨率发生变化时,将变化后的视频帧获取为该目标视频帧,当该目标视频中视频帧的视频分辨率未发生变化时,基于当前确定的视频播放窗口进行视频播放。
如前文所述,通常情况下,目标视频中连续多帧视频帧的分辨率一般不会大不相同,譬如,目标视频的第一帧视频帧至第十帧视频帧的分辨率可能均相同,第十一帧视频帧至第二十三帧视频帧的分辨率可能也均相同。因此,在播放视频过程中,终端可以监测每帧视频帧的分辨率,一旦发现某帧视频帧的分辨率发生变化,可以将该帧视频帧确定为上述目标视频帧,并按照上述实现过程确定视频播放窗口的尺寸,并通过所确定的视频播放窗口进行视频播放。或者,如果该目标视频中视频帧的视频分辨率未发生变化,则可以不需要重复确定视频播放窗口,而是可以直接使用当前所确定的视频播放窗口来进行视频播放。
如此,通过调整视频播放窗口的大小及比例,在播放目标视频帧及之后的视频帧时,只要该目标视频帧之后的视频帧的分辨率与该目标视频帧的分辨率相同,即可基于确定后的视频播放窗口自适应播放视频,避免需要对每帧视频帧进行调整,从而有效地实现视频的自适应显示,提高了视频播放性能。
进一步地,当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态,接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
在通信过程中,可能存在视频画面显示不正的问题,譬如,本端终端接收来自某采集端发送的实时视频流,该采集端若处于横屏状态,本端终端处于竖屏状态,此时,本端终端的视频播放画面被旋转90度。针对该种情况,本端在检测到屏幕显示状态发生切换时,可以向采集端发送切换指示信息,以告知采集端本端的屏幕显示状态。作为一种示例,采集端在采集视频数据后,在编码前增加旋转操作进行校正,并将校正后的视频数据发送给本端终端,从而使得目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
需要说明的是,上述仅是以由采集端对视频帧进行校正处理为例,在另一实施例中,采集端可以在检测到屏幕显示状态发生切换时,在采集的视频中添加旋转标识,该旋转标识用于指示采集端的屏幕显示状态,譬如,向左旋转90 度等。如此,该终端接收到该视频后,可以根据该旋转标识进行校正处理,如向右旋转90度,之后,再按照上述实现方式确定视频播放窗口,并进行视频渲染显示操作,本发明实施例对此不做限定。
在本发明实施例中,获取目标视频帧的视频分辨率,基于该视频分辨率,确定该目标视频帧的视频帧宽高比,确定显示屏当前的显示宽度与视频帧宽高比之间的比值,得到高度比对值。根据该高度比对值与显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸。由于在确定视频播放窗口的尺寸过程中,综合考虑了视频帧宽高比、显示屏当前的显示宽度以及显示高度之间的关系,因此使得所确定的视频播放窗口能够与目标视频帧较好得匹配,如此基于确定后的视频播放窗口进行视频播放时,可以实现视频的自适应显示。
请参考图6,该图6是根据一示例性实施例示出的一种视频播放方法的流程图,该视频播放方法可以由终端来执行,该方法可以包括如下几个实现步骤:
步骤601:获取目标视频帧的视频分辨率,该目标视频帧为目标视频的第一帧视频帧,或者为目标视频中分辨率发生变化后的视频帧。
通常情况下,目标视频中连续多帧视频帧的分辨率一般不会大不相同,譬如,目标视频的第一帧视频帧至第十帧视频帧的分辨率可能均相同,第十一帧视频帧至第二十三帧视频帧的分辨率可能也均相同。因此,终端获取目标视频帧的分辨率,即获取目标视频的第一帧视频帧的分辨率,或者,获取分辨率发生变化后的下一帧视频帧的分辨率,以便于后续可以根据该目标视频帧的分辨率,结合其它参数来确定视频播放窗口的大小,如此,在播放目标视频帧及之后的视频帧时,只要该目标视频帧之后的视频帧的分辨率与该目标视频帧的分辨率相同,即可基于确定后的视频播放窗口自适应播放视频,无需对每帧视频帧进行尺寸调整处理,其具体实现如下文所述。
这里需要说明的是,在播放视频过程中,终端会监测每帧视频帧的分辨率,一旦发现某帧视频帧的分辨率发生变化,即会将该帧视频帧确定为上述目标视频帧。
步骤602:基于该视频分辨率,确定该目标视频帧的视频帧宽高比。
该步骤的具体实现可以参见上述图1实施例中的步骤102。
步骤603:基于屏幕分辨率和该视频帧宽高比,确定视频播放窗口的尺寸。
作为一种示例,基于屏幕分辨率和该视频帧宽高比,确定视频播放窗口的尺寸的具体实现可以包括:基于屏幕显示状态和该屏幕分辨率,确定显示屏当前的显示宽度和显示高度,当该高度比对值小于或等于该显示高度时,将该视频播放窗口的宽度确定为该显示宽度,以及将该视频播放窗口的高度确定为该高度比对值;当该高度比对值大于该显示高度时,将该视频播放窗口的宽度确定为该高度比对值,以及将该视频播放窗口的高度确定为该显示高度。
其中,基于屏幕显示状态和该屏幕分辨率,确定显示屏当前的显示宽度和显示高度的具体实现可以参见上文图1所示实施例。
进一步地,确定视频播放窗口的尺寸之前,查询该视频帧宽高比是否处于预设范围内,当该视频帧宽高比处于该预设范围内时,按照上述方式确定视频播放窗口的尺寸。当该视频帧宽高比未处于该预设范围内时,如果该目标视频帧的视频宽度大于或等于该显示宽度,则将该视频播放窗口的宽度确定为该显示宽度,以及将该视频播放窗口的高度确定为该视频宽度与显示屏高宽比之间的乘积。当该视频帧宽高比未处于该预设范围内时,如果该目标视频帧的视频高度大于或等于该显示高度,则将该视频播放窗口的高度确定为该显示高度,以及将该视频播放窗口的宽度确定为该视频高度与显示屏宽高比之间的乘积。
步骤604:基于确定后的视频播放窗口进行视频播放。
该步骤的具体实现可以参见上述图1实施例中的步骤105。
进一步地,获取目标视频帧的视频分辨率之前,当屏幕显示状态发生切换时,向采集端发送切换指示信息,该切换指示信息用于指示本端的屏幕显示状态,接收该采集端发送的目标视频帧,该目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
在本申请实施例中,获取目标视频帧的视频分辨率,该目标视频帧为目标视频的第一个视频帧,或者为目标视频中分辨率发生变化后的视频帧。基于该视频分辨率,确定该目标视频帧的视频帧宽高比,之后,基于屏幕分辨率和视频帧宽高比,确定视频播放窗口的尺寸。由于视频中连续的几个视频帧的分辨率一般不会大不相同,因此,本发明实施例基于目标视频帧的分辨率,结合屏幕分辨率和视频帧宽高比,确定视频播放窗口的尺寸,保证了该目标视频帧及之后的视频帧的分辨率与视频播放窗口相匹配,从而可以基于确定后的视频播放窗口进行视频播放,实现了视频的自适应显示,并且,避免需要对每个视频帧进行调整处理,减少了终端的运行量,并提高了视频播放效率。
图7是根据一示例性实施例示出的一种视频播放装置装置的结构示意图,该视频播放装置可以由软件、硬件或者两者的结合实现。该视频播放装置可以包括:
第一获取模块710,用于获取目标视频帧的视频分辨率;
第一确定模块720,用于基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
第二确定模块730,用于确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值;
第一视频播放模块740,用于根据所述高度比对值与所述显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述第一视频播放模块740用于:
当所述高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述高度比对值,以及将所述视频播放窗口的高度确定为所述显示高度。
在本申请一种可能的实现方式中,所述第一确定模块720还用于:
获取屏幕分辨率,所述屏幕分辨率包括第一数值和第二数值,所述第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,所述第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度;
当屏幕显示状态为竖屏状态时,将所述第一数值确定为所述显示宽度,以及将所述第二数值确定为所述显示高度;
当所述屏幕显示状态为横屏状态时,将所述第一数值确定为所述显示高度,以及将所述第二数值确定为所述显示宽度。
在本申请一种可能的实现方式中,所述第二确定模块730还用于:
当所述视频帧宽高比处于预设范围内时,执行所述确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值的的操作;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于所述显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积。
在本申请一种可能的实现方式中,所述第一获取模块710还用于:
当检测到目标视频中视频帧的视频分辨率发生变化时,将变化后的视频帧获取为所述目标视频帧;
当所述目标视频中视频帧的视频分辨率未发生变化时,基于当前确定的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述第一获取模块710还用于:
当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态;
接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
在本发明实施例中,获取目标视频帧的视频分辨率,基于该视频分辨率,确定该目标视频帧的视频帧宽高比,确定显示屏当前的显示宽度与视频帧宽高比之间的比值,得到高度比对值。根据该高度比对值与显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸。由于在确定视频播放窗口的尺寸过程中,综合考虑了视频帧宽高比、显示屏当前的显示宽度以及显示高度之间的关系,因此使得所确定的视频播放窗口能够与目标视频帧较好得匹配,如此基于确定后的视频播放窗口进行视频播放时,可以实现视频的自适应显。
图8是根据一示例性实施例示出的一种视频播放装置装置的结构示意图,该视频播放装置可以由软件、硬件或者两者的结合实现。该视频播放装置可以包括:
第二获取模块810,用于获取目标视频帧的视频分辨率,所述目标视频帧为目标视频的第一帧视频帧,或者为目标视频中分辨率发生变化后的视频帧;
第三确定模块820,用于基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
第二视频播放模块830,用于基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放。
在本申请一种可能的实现方式中,所述第二视频播放模块830用于:
基于屏幕显示状态和所述屏幕分辨率,确定显示屏当前的显示宽度和显示高度;
当所述高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述高度比对值,以及将所述视频播放窗口的高度确定为所述显示高度。
在本申请一种可能的实现方式中,所述第三确定模块820还用于:
获取屏幕分辨率,所述屏幕分辨率包括第一数值和第二数值,所述第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,所述第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度;
当屏幕显示状态为竖屏状态时,将所述第一数值确定为所述显示宽度,以及将所述第二数值确定为所述显示高度;
当所述屏幕显示状态为横屏状态时,将所述第一数值确定为所述显示高度,以及将所述第二数值确定为所述显示宽度。
在本申请一种可能的实现方式中,所述第三确定模块820还用于:
当所述视频帧宽高比处于预设范围内时,执行所述基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸的操作;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于所述显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积;或者,
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积。
在本申请一种可能的实现方式中,所述第二获取模块810还用于:
当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态;
接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
在本申请实施例中,获取目标视频帧的视频分辨率,该目标视频帧为目标视频的第一个视频帧,或者为目标视频中分辨率发生变化后的视频帧。基于该视频分辨率,确定该目标视频帧的视频帧宽高比,之后,基于屏幕分辨率和视频帧宽高比,确定视频播放窗口的尺寸。由于视频中连续的几个视频帧的分辨率一般不会大不相同,因此,本发明实施例基于目标视频帧的分辨率,结合屏幕分辨率和视频帧宽高比,确定视频播放窗口的尺寸,保证了该目标视频帧及之后的视频帧的分辨率与视频播放窗口相匹配,从而可以基于确定后的视频播放窗口进行视频播放,实现了视频的自适应显示,并且,避免需要对每个视频帧进行调整处理,减少了终端的运行量,并提高了视频播放效率。
需要说明的是:上述实施例提供的视频播放装置在实现视频播放方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频播放装置与视频播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9示出了本发明一个示例性实施例提供的终端900的结构框图。该终端 900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA (Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901 可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括 AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的视频播放方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903 相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络 (2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏 905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及 VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路 904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS (LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的 GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器 913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911 还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器 901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901 根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914 采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器 901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏 905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述各个实施例提供的视频播放方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个实施例提供的视频播放方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种视频播放方法,其特征在于,所述方法包括:
获取目标视频帧的视频分辨率;
基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
当所述视频帧宽高比处于预设范围内时,确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值;根据所述高度比对值与所述显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放;
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于所述显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积,其中,所述视频播放窗口的尺寸大于屏幕尺寸,以使用户通过上下滑动屏幕或者增加按键点击来观看所述视频播放窗口底部未显示区域;
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积,其中,所述视频播放窗口的尺寸大于屏幕尺寸,以使用户通过左后滑动屏幕或者增加按键点击来观看所述视频播放窗口右侧未显示区域。
2.如权利要求1所述的方法,其特征在于,所述根据所述高度比对值与所述显示屏当前的显示高度之间的大小关系,确定所述视频播放窗口的尺寸,包括:
当所述高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示高度与所述视频宽高比之间的乘积,以及将所述视频播放窗口的高度确定为所述显示高度。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取屏幕分辨率,所述屏幕分辨率包括第一数值和第二数值,所述第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,所述第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度;
当屏幕显示状态为竖屏状态时,将所述第一数值确定为所述显示宽度,以及将所述第二数值确定为所述显示高度;
当所述屏幕显示状态为横屏状态时,将所述第一数值确定为所述显示高度,以及将所述第二数值确定为所述显示宽度。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
当检测到目标视频中视频帧的视频分辨率发生变化时,将变化后的视频帧获取为所述目标视频帧;
当所述目标视频中视频帧的视频分辨率未发生变化时,基于当前确定的视频播放窗口进行视频播放。
5.如权利要求1-3任一项所述的方法,其特征在于,所述获取目标视频帧的视频分辨率之前,还包括:
当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态;
接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
6.一种视频播放方法,其特征在于,所述方法包括:
获取目标视频帧的视频分辨率,所述目标视频帧为目标视频的第一帧视频帧,或者为目标视频中分辨率发生变化后的视频帧;
基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
当所述视频帧宽高比处于预设范围内时,基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放;
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积,其中,所述视频播放窗口的尺寸大于屏幕尺寸,以使用户通过上下滑动屏幕或者增加按键点击来观看所述视频播放窗口底部未显示区域;
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积,其中,所述视频播放窗口的尺寸大于屏幕尺寸,以使用户通过左后滑动屏幕或者增加按键点击来观看所述视频播放窗口右侧未显示区域。
7.如权利要求6所述的方法,其特征在于,所述基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸,包括:
基于屏幕显示状态和所述屏幕分辨率,确定显示屏当前的显示宽度和显示高度;
当高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值,所述高度比对值为显示屏当前的显示宽度与所述视频帧宽高比之间的比值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示高度与所述视频宽高比之间的乘积,以及将所述视频播放窗口的高度确定为所述显示高度。
8.一种视频播放装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标视频帧的视频分辨率;
第一确定模块,用于基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
第二确定模块,用于确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值;
第一视频播放模块,用于根据所述高度比对值与所述显示屏当前的显示高度之间的大小关系,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放;
所述第二确定模块还用于:
当所述视频帧宽高比处于预设范围内时,执行所述确定显示屏当前的显示宽度与所述视频帧宽高比之间的比值,得到高度比对值的的操作;
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于所述显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积;
当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积。
9.如权利要求8所述的装置,其特征在于,所述第一视频播放模块用于:
当所述高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当所述高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示高度与所述视频宽高比之间的乘积,以及将所述视频播放窗口的高度确定为所述显示高度。
10.如权利要求8所述的装置,其特征在于,所述第一确定模块还用于:
获取屏幕分辨率,所述屏幕分辨率包括第一数值和第二数值,所述第一数值用于指示竖屏状态时显示屏在水平方向上的显示长度,所述第二数值用于指示竖屏状态时显示屏在垂直方向上的显示长度;
当屏幕显示状态为竖屏状态时,将所述第一数值确定为所述显示宽度,以及将所述第二数值确定为所述显示高度;
当所述屏幕显示状态为横屏状态时,将所述第一数值确定为所述显示高度,以及将所述第二数值确定为所述显示宽度。
11.如权利要求8-10任一项所述的装置,其特征在于,所述第一获取模块还用于:
当检测到目标视频中视频帧的视频分辨率发生变化时,将变化后的视频帧获取为所述目标视频帧;
当所述目标视频中视频帧的视频分辨率未发生变化时,基于当前确定的视频播放窗口进行视频播放。
12.如权利要求8-10任一项所述的装置,其特征在于,所述第一获取模块还用于:
当屏幕显示状态发生切换时,向采集端发送切换指示信息,所述切换指示信息用于指示本端的屏幕显示状态;
接收所述采集端发送的目标视频帧,所述目标视频帧的视频画面状态与本端的屏幕显示状态匹配。
13.一种视频播放装置,其特征在于,所述装置包括:
第二获取模块,用于获取目标视频帧的视频分辨率,所述目标视频帧为目标视频的第一帧视频帧,或者为目标视频中分辨率发生变化后的视频帧;
第三确定模块,用于基于所述视频分辨率,确定所述目标视频帧的视频帧宽高比;
第二视频播放模块,用于当所述视频帧宽高比处于预设范围内时,基于屏幕分辨率和所述视频帧宽高比,确定视频播放窗口的尺寸,基于确定后的视频播放窗口进行视频播放;当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频宽度大于或等于显示宽度,则将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述视频宽度与显示屏高宽比之间的乘积,其中,所述视频播放窗口的尺寸大于屏幕尺寸,以使用户通过上下滑动屏幕或者增加按键点击来观看所述视频播放窗口底部未显示区域;当所述视频帧宽高比未处于所述预设范围内时,如果所述目标视频帧的视频高度大于或等于所述显示高度,则将所述视频播放窗口的高度确定为所述显示高度,以及将所述视频播放窗口的宽度确定为所述视频高度与显示屏宽高比之间的乘积,其中,所述视频播放窗口的尺寸大于屏幕尺寸,以使用户通过左后滑动屏幕或者增加按键点击来观看所述视频播放窗口右侧未显示区域。
14.如权利要求13所述的装置,其特征在于,所述第二视频播放模块用于:
基于屏幕显示状态和所述屏幕分辨率,确定显示屏当前的显示宽度和显示高度;
当高度比对值小于或等于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示宽度,以及将所述视频播放窗口的高度确定为所述高度比对值;
当高度比对值大于所述显示高度时,将所述视频播放窗口的宽度确定为所述显示高度与所述视频宽高比之间的乘积,以及将所述视频播放窗口的高度确定为所述显示高度,所述高度比对值为显示屏当前的显示宽度与所述视频帧宽高比之间的比值。
15.一种终端,其特征在于,包括:
处理器,所述处理器用于执行可执行指令;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现权利要求1-5所述的任一项方法的步骤,或者,实现权利要求6或7所述的方法的步骤。
CN201910569992.2A 2019-06-27 2019-06-27 视频播放方法、装置及存储介质 Active CN111372126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910569992.2A CN111372126B (zh) 2019-06-27 2019-06-27 视频播放方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910569992.2A CN111372126B (zh) 2019-06-27 2019-06-27 视频播放方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111372126A CN111372126A (zh) 2020-07-03
CN111372126B true CN111372126B (zh) 2022-08-05

Family

ID=71209958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910569992.2A Active CN111372126B (zh) 2019-06-27 2019-06-27 视频播放方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111372126B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114077464A (zh) * 2020-07-31 2022-02-22 华为技术有限公司 显示控制方法和装置
CN112770183A (zh) * 2020-11-10 2021-05-07 北京达佳互联信息技术有限公司 视频的播放控制方法、控制装置、电子设备和存储介质
WO2022105345A1 (zh) * 2020-11-23 2022-05-27 青岛海信传媒网络技术有限公司 一种显示设备
WO2022213303A1 (en) * 2021-04-07 2022-10-13 Google Llc Systems and methods for adjusting aspect ratio of content slot
CN113507634A (zh) * 2021-06-29 2021-10-15 上海闻泰信息技术有限公司 视频播放方法、装置、电子设备和可读存储介质
CN113747226B (zh) * 2021-09-08 2022-09-09 北京字跳网络技术有限公司 视频展示方法、装置、电子设备及存储介质
CN114268826A (zh) * 2021-09-30 2022-04-01 荣耀终端有限公司 应用显示方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999253A (zh) * 2012-11-13 2013-03-27 北京奇艺世纪科技有限公司 一种应用程序的窗口显示方法、系统与移动终端
CN103546715A (zh) * 2013-10-30 2014-01-29 乐视致新电子科技(天津)有限公司 一种智能电视的画面比例调节方法及装置
CN105306998A (zh) * 2014-07-16 2016-02-03 冠捷投资有限公司 显示装置的操作系统
CN105554549A (zh) * 2015-12-03 2016-05-04 青岛海信移动通信技术股份有限公司 一种VoLTE网络视频显示方法及装置
CN106603564A (zh) * 2016-12-30 2017-04-26 上海寰视网络科技有限公司 一种无限制高分辨率图像及视频的播放方法与系统
CN106982383A (zh) * 2017-04-26 2017-07-25 威盛电子股份有限公司 分布式视频显示系统、控制装置及控制方法
CN107896339A (zh) * 2017-10-30 2018-04-10 努比亚技术有限公司 一种视频播放方法、终端及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030064784A1 (en) * 2001-09-28 2003-04-03 William Wells Wide screen gaming apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999253A (zh) * 2012-11-13 2013-03-27 北京奇艺世纪科技有限公司 一种应用程序的窗口显示方法、系统与移动终端
CN103546715A (zh) * 2013-10-30 2014-01-29 乐视致新电子科技(天津)有限公司 一种智能电视的画面比例调节方法及装置
CN105306998A (zh) * 2014-07-16 2016-02-03 冠捷投资有限公司 显示装置的操作系统
CN105554549A (zh) * 2015-12-03 2016-05-04 青岛海信移动通信技术股份有限公司 一种VoLTE网络视频显示方法及装置
CN106603564A (zh) * 2016-12-30 2017-04-26 上海寰视网络科技有限公司 一种无限制高分辨率图像及视频的播放方法与系统
CN106982383A (zh) * 2017-04-26 2017-07-25 威盛电子股份有限公司 分布式视频显示系统、控制装置及控制方法
CN107896339A (zh) * 2017-10-30 2018-04-10 努比亚技术有限公司 一种视频播放方法、终端及计算机可读存储介质

Also Published As

Publication number Publication date
CN111372126A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN111372126B (zh) 视频播放方法、装置及存储介质
CN108401124B (zh) 视频录制的方法和装置
CN110022489B (zh) 视频播放方法、装置及存储介质
CN108449641B (zh) 播放媒体流的方法、装置、计算机设备和存储介质
CN109348247B (zh) 确定音视频播放时间戳的方法、装置及存储介质
CN111753784A (zh) 视频的特效处理方法、装置、终端及存储介质
CN109783176B (zh) 切换页面的方法和装置
CN111083554A (zh) 直播礼物显示的方法和装置
CN107888975B (zh) 视频播放方法、装置及存储介质
CN111711841B (zh) 图像帧播放方法、装置、终端及存储介质
CN111586433B (zh) 码率调整方法、装置、设备及存储介质
CN111586431B (zh) 进行直播处理的方法、装置、设备及存储介质
CN110868642B (zh) 视频播放方法、装置及存储介质
CN111083526B (zh) 视频转场方法、装置、计算机设备及存储介质
CN113384880A (zh) 虚拟场景显示方法、装置、计算机设备及存储介质
CN108845777B (zh) 播放帧动画的方法和装置
CN108881739B (zh) 图像生成方法、装置、终端及存储介质
CN110839174A (zh) 图像处理的方法、装置、计算机设备以及存储介质
CN110769120A (zh) 进行消息提醒的方法、装置、设备及存储介质
CN111860064A (zh) 基于视频的目标检测方法、装置、设备及存储介质
CN108881715B (zh) 拍摄模式的启用方法、装置、终端及存储介质
CN110996115B (zh) 直播视频播放方法、装置、设备、存储介质和程序产品
CN108304241B (zh) 一种显示对话框的方法和装置
CN111163262B (zh) 控制移动终端的方法、装置及系统
CN111464829B (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
GR01 Patent grant
GR01 Patent grant