CN116260986A - 自由视角视频的弹幕的显示方法、装置及系统 - Google Patents

自由视角视频的弹幕的显示方法、装置及系统 Download PDF

Info

Publication number
CN116260986A
CN116260986A CN202111510462.4A CN202111510462A CN116260986A CN 116260986 A CN116260986 A CN 116260986A CN 202111510462 A CN202111510462 A CN 202111510462A CN 116260986 A CN116260986 A CN 116260986A
Authority
CN
China
Prior art keywords
angle
video
barrage
terminal
time
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
Application number
CN202111510462.4A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111510462.4A priority Critical patent/CN116260986A/zh
Priority to PCT/CN2022/135110 priority patent/WO2023103843A1/zh
Publication of CN116260986A publication Critical patent/CN116260986A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

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

Abstract

自由视角视频的弹幕的显示方法、装置及系统,涉及互联网技术领域,有利于用户集中精力观看当前的视频画面以及当前视频画面相关的弹幕内容,提升观看体验,该方法包括:终端显示第一自由视角视频第一播放时刻的第一界面,第一界面包括第一自由视角视频在第一视角下的视频画面以及第一弹幕;接收到第一操作,第一操作为将第一自由视角视频的播放视角从第一视角切换为第二视角的操作;响应于接收到第一操作,终端显示第一自由视角视频的第一播放时刻的第二界面,第二界面包括第一自由视角视频在第二视角下的视频画面,第二界面不包括第一弹幕。

Description

自由视角视频的弹幕的显示方法、装置及系统
技术领域
本申请涉及互联网技术领域,尤其涉及自由视角视频的弹幕的显示方法、装置及系统。
背景技术
自由视角视频(free viewpoint video,FVV),是指由环绕目标对象的多个相机共同拍摄目标对象,并将共同拍摄的视频流进行特定的视频编码而生成的一种特殊格式的视频文件。而后,将生成的自由视角视频上传至媒体服务器进行存储,再经内容分发网络(content dis tr ibut ion Network,CDN)分发到终端。当用户在利用终端观看自由视角视频时,可以通过手指拖拽的操作自由地切换观看的视角。相较于传统的视频,用户可以自由选择观看的视角,摆脱了传统视频由导播来决定观看视角的不足,自由视角视频为用户提供了一种沉浸式可交互的播放体验。
在自由视角视频的播放过程中,用户可以开启弹幕功能。其中,弹幕,是指将大量用户评论以滚动、停留、甚至更多动作特效方式的形式显示在视频画面上的一种方式,是目前一种比较流行的娱乐方式。需要注意的是,终端中不仅显示有自由视角视频在某一个视角(例如视角A)下的视频画面,还显示有当前播放时刻下的所有视角的弹幕。例如,终端不仅显示有视角A的弹幕、还显示有视角B的弹幕、以及视角C的弹幕等。那么,在一些场景中,视角B的弹幕和/或视角C的弹幕内容可能与视角A的视频画面的内容不一致,那么会造成用户的疑惑和困扰,视频体验不佳。
发明内容
本申请提供的自由视角视频的弹幕的显示方法、装置及系统,有利于用户集中精力观看当前的视频画面以及当前视频画面相关的弹幕内容,提升观看体验。
为了实现上述目的,本申请实施例提供了以下技术方案:
第一方面、提供一种自由视角视频的弹幕的显示方法,应用于终端,该方法包括:终端显示第一自由视角视频的第一播放时刻的第一界面,第一界面包括第一自由视角视频在第一视角下的视频画面,以及第一弹幕;终端接收第一操作,第一操作为将第一自由视角视频的播放视角从第一视角切换为第二视角的操作;响应于接收到第一操作,终端显示第一自由视角视频的第一播放时刻的第二界面,第二界面包括第一自由视角视频在第二视角下的视频画面,第二界面不包括第一弹幕。
其中,第一弹幕对应的第三视角和第一视角的偏移角度位于第一预设角度范围内,因此,第一界面中显示有第一弹幕。第一弹幕对应的第三视角和第二视角的偏移角度位于第一预设角度范围之外,因此第二界面中没有显示第一弹幕。
由此可见,终端在播放第一自由视角视频时,可以显示第一预设角度范围(即下文的可见视角范围)的弹幕,不显示第一预设角度范围之外的弹幕。由于第一预设角度范围内的弹幕内容通常与用户当前观看的播放视角的视频画面内容强相关,因此有利于用户集中精力观看当前的视频画面以及当前视频画面相关的弹幕内容,提升观看体验。
在一种可能的实现方式中,第一弹幕对应的第三视角与第一视角的偏移角度,小于第一弹幕对应的第三视角与第二视角的偏移角度。
例如,终端可以预定义或接收用户设置的弹幕的可见视角范围为:与第一自由视角视频的播放视角的偏移角度的绝对值小于角度阈值E(例如为45度),那么终端可以确定弹幕的可见视角范围为:[第一自由视角视频的播放视角-角度阈值E,第一自由视角视频的播放视角+角度阈值E]。
可见,第一弹幕对应的第三视角和第一视角的偏移角度位于第一预设角度范围内,第一弹幕对应的第三视角和第二视角的偏移角度位于第一预设角度范围之外。可以推测出,第一弹幕对应的第三视角与第一视角的偏移角度,小于第一弹幕对应的第三视角与第二视角的偏移角度。
在一种可能的实现方式中,在终端接收第一操作之前,该方法还包括:终端接收到暂停播放第一自由视角视频的第二操作。
在一示例中,在切换视角的过程中,终端自动暂停播放第一自由视角视频。那么,在用户执行第一操作之前,终端播放第一自由视角在第一视角下的视频画面。在第一播放时刻,检测到用户执行第一操作,终端自动暂停播放第一自由视角视频。在执行完第一操作后,第一自由视角视频的播放视角从第一视角切换为第二视角后,第一自由视角视频从第一播放时刻开始播放。
在另一示例中,在切换视角的过程中,终端持续播放第一自由视角视频。那么,在执行第一操作之前,用户可以先手动暂停播放第一自由视角视频,此时第一自由视角视频停留在第一播放时刻。而后,用户执行第一操作,终端将第一自由视角视频的播放视角从第一视角切换为第二视角后,第一自由视角视频的视频画面仍停留在第一播放时刻。
或者,在执行第一操作后,终端将第一自由视角视频的播放视角从第一视角切换为第二视角后,此时开始从第一播放时刻之后的播放时刻开始播放,用户也可以手动拖动播放进度条,将播放时刻调回第一播放时刻。
在一种可能的实现方式中,在一种可能的实现方式中,第二界面包括第二弹幕,第二弹幕对应的视角与第二视角的偏移角度位于第一预设角度范围内。
在一种可能的实现方式中,第一弹幕的发送时刻与第一播放时刻相关,第二弹幕的发送时刻与第一播放时刻相关。
可以理解的,第一界面中播放的时第一播放时刻的视频画面,显示有第一弹幕。那么第一播放时刻等于第一弹幕的发送时刻,或者大于第一弹幕的发送时刻后且位于第一弹幕持续显示时长内。类似的,第一播放时刻等于第而弹幕的发送时刻,或者大于第二弹幕的发送时刻后且位于第二弹幕持续显示时长内。
在一种可能的实现方式中,终端显示的第一界面还包括第一控件,其中,第一控件和第一弹幕数量相关联,所述第一弹幕数量为弹幕的视角与终端的播放视角的偏移角度位于第二预设角度范围内的弹幕数量;第二预设角度范围与第一预设角度范围不重合。
在一个示例中,第一控件显示弹幕的视角与终端的播放视角的偏移角度位于第二预设角度范围的弹幕数量。
在一个可能的实现方式中,该方法还包括:终端接收视角切换的第三操作;在第三操作的过程中,所述终端显示第四界面,所述第四界面中所述第一控件指示的弹幕数量发生变化;在所述第三操作的过程后,所述终端显示所述第一自由视角视频的第二播放时刻的所述第二界面。
在一种可能的实现方式中,终端接收到针对第一控件的第三操作;响应于接收到第三操作,终端显示第三界面,第三界面中包括第一弹幕。
由此可见,当用户对可见视角范围外的弹幕内容感兴趣时,也可以通过相应的控件展开可见视角范围外的弹幕内容,满足用户多种场景下的观看需求。
在一种可能的实现方式中,响应于接收到第一操作,终端显示第一自由视角视频的第一播放时刻的第二界面之后,该方法还包括:终端接收第四操作,第四操作为发送第三弹幕的操作;响应于接收到第四操作,终端向弹幕服务器发送第三弹幕的数据,第三弹幕的数据包括第四视角。
可见,当用户在第二界面上发送第三弹幕时,第三弹幕与第二界面中第一自由视角视频的播放视角,即第四视角,建立了关联。后续在显示第三弹幕时,可根据第一自由视角视频的播放视角与第三弹幕的视角的关系确定是否呈现第三弹幕。
在一种可能的实现方式中,第一界面还包括第四弹幕,第四弹幕对应第一视角。
在一种可能的实现方式中,在第一界面中,第一弹幕的第一样式,与第四弹幕的第二样式不同。
由此可见,用户可以通过弹幕的呈现方式(如第一样式或第二样式),区分第一自由视角视频的播放视角下的弹幕,与其他视角下的弹幕。这样,当播放视角下的视频画面,与其他视角下的弹幕内容不一致时,用户也不会造成困惑和疑虑,提升了第一自由视角视频的观看体验。
在一种可能的实现方式中,在终端显示第一自由视角视频的第一播放时刻的第一界面之前,该方法包括:终端根据第一弹幕对应的第三视角与第一视角的第一偏移角度,确定在第一界面中采用第一样式呈现第一弹幕。
在一种可能的实现方式中,当第一偏移角度为正值时,第一样式具体为弹幕的文字方向为第一方向顺时针旋转第一角度的方向,其中第一方向为平行于第一方向平行于终端的屏幕的第一边框;当第一偏移角度为负值时,第一样式具体为弹幕的文字方向为第一方向逆时针旋转第一角度的方向。
在一种可能的实现方式中,该方法还包括:终端接收视角切换的第五操作;在第五操作的过程中,终端显示第五界面,第五界面和第一界面相同;在第五操作的过程后,终端显示第一自由视角视频的第二播放时刻的第六界面。
也就是说,在第五操作的过程中,终端显示的第一自由视角视频的视频画面不变,弹幕的呈现方式也不变。
在一种可能的实现方式中,该方法还包括:终端接收视角切换的第六操作;
在第六操作的过程中,终端显示第七界面,第七界面包括第一自由视角视频在第三播放时刻的视频画面;在第六操作的过程后,终端显示第一自由视角视频的第二播放时刻的第八界面。其中,第三播放时刻在第一播放时刻之后,且在第二播放时刻之前。
也就是说,在第六操作的过程中,终端持续播放第一自由视角视频,因而第一自由视角视频的播放时刻发生变化。
在一种可能的实现方式中,该方法还包括:第七界面还包括第五弹幕,并且第一界面不包括第五弹幕。
也就是说,在第六操作的过程中,终端持续播放第一自由视角视频,随着第一自由视角视频的播放时刻发生变化,终端显示的弹幕也发生相应变化。
在一种可能的实现方式中,该方法还包括:第七界面还包括第一弹幕,第一弹幕在第七界面中的显示样式和第一弹幕在第一界面中的显示样式不同。
也就是说,在第六操作的过程中,终端根据播放视角的变化实时调整各个弹幕的显示样式。
在一种可能的实现方式中,第七界面还包括第六弹幕,第六弹幕的出现时刻在第一播放时刻之后。
也就是说,在第一自由视角视频切换视角后,终端继续播放第一自由视角视频,随着第一自由视角视频的播放时刻的变化,弹幕内容也相应变化。
第二方面、提供一种终端,包括:处理器、存储器和触摸屏,存储器、触摸屏与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器从存储器中读取计算机指令,以使得终端执行如上述第一方面,以及其中任一种可能的实现方式中的方法。
第三方面、提供一种计算机可读存储介质,包括计算机指令,当计算机指令在终端上运行时,以使得终端执行如上述第一方面以及其中任一种可能的实现方式中的方法。
第四方面、提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得终端执行如上述第一方面以及其中任一种可能的实现方式中的方法。
上述第二方面至第四方面提供的终端、计算机可读存储介质以及计算机程序产品所能达到的技术效果均可以参考第一方面以及第一方面中可能的实现方式中关于技术效果的描述,这里不再赘述。
附图说明
图1为本申请实施例提供的一种自由视角视频的播放系统的结构示意图;
图2为本申请实施例提供的一种终端的结构示意图;
图3为本申请实施例提供的一种服务器的结构示意图;
图4为本申请实施例提供的一种自由视角视频弹幕的发送方法的流程示意图;
图5为本申请实施例提供的一些终端界面的示意图;
图6为本申请实施例提供的又一些终端界面的示意图;
图7为本申请实施例提供的一种弹幕显示方法的流程示意图;
图8为本申请实施例提供的一种弹幕的视角与自由视角视频的播放视角的关系示意图;
图9为本申请实施例提供的又一些终端界面的示意图;
图10A为本申请实施例提供的一种自由视角视频切换视角过程中弹幕的显示方法的流程示意图;
图10B为本申请实施例提供的又一些终端界面的示意图;
图11A为本申请实施例提供的又一种自由视角视频切换视角过程中弹幕的显示方法的流程示意图;
图11B为本申请实施例提供的又一些终端界面的示意图;
图12为本申请实施例提供的又一种自由视角视频切换视角过程中弹幕的显示方法的流程示意图;
图13为本申请实施例提供的又一种弹幕的视角与自由视角视频的播放视角的关系示意图;
图14A为本申请实施例提供的又一些终端界面的示意图;
图14B为本申请实施例提供的又一些终端界面的示意图;
图15A为本申请实施例提供的又一种自由视角视频切换视角过程中弹幕的显示方法的流程示意图;
图15B为本申请实施例提供的又一些终端界面的示意图;
图16为本申请实施例提供的又一种自由视角视频切换视角过程中弹幕的显示方法的流程示意图;
图17为本申请实施例提供的又一种自由视角视频切换视角过程中弹幕的显示方法的流程示意图。
具体实施方式
为了便于理解本申请实施例提供的技术方案,先对本申请实施例涉及的技术名词进行说明。
自由视角视频:由多个相机同时拍摄目标对象,播放时用户相当于选择其中一个相机所在的拍摄角度进行观看。自由视角视频包括多种制作方式:
方式1、以被拍摄的目标对象为中心,环绕目标对象部署的多个相机共同拍摄目标对象,并将共同拍摄的视频流进行特定的视频编码而生成的一种特殊格式的视频文件。用户在观看自由视角视频时,相当于观看者围绕目标拍摄对象选择某一视角进行观看。
方式2、以观看者为中心,围绕观看者部署多个相机共同拍摄目标对象,并将共同拍摄的视频流进行特定的视频编码而生成的一种特殊格式的视频文件,例如生成3DOF(degrees of freedom,自由度)的视频(如360度全景视频)。用户在观看自由视角视频时,相当于观看者原地不动,转动头部观看四周的景物。
方式3、上述两个方式的结合,例如生成6DOF视频。用户在观看自由视角视频时,既可以前后左右移动位置进行观看,也可以转动头部观看四周的景物。
机位:环绕目标对象或者观看者的多个相机在拍摄目标对象时,每一个相机所在的位置的编号。一般,一个机位对应一个拍摄角度。一个拍摄角度可以拍摄一定角度范围内的目标对象的图像。
视角:也称为观看视角、播放视角等,是指用户在观看自由视角视频所处的拍摄角度。即,一个视角所看到的目标对象的图像,可以认为是相机在该视角所在的位置(即机位位置)进行拍摄时捕获到的图像。
视频播放:视频(包括自由视角视频)文件经过解码、渲染等处理后,在显示窗口中按照时间顺序显示一组图像,以及播放对应音频的过程。
弹幕:在视频(包括自由视角视频)的特定时间点或时间段以某种规律在视频上显示的评论或注释,为视频观赏带来趣味性和意想不到的体验。
如图1所示,为本申请实施例提供的一种系统架构示意图,该系统架构包括相机阵列500、内容分发网络(content distribution network,CDN)200、媒体服务器300、CDN400、终端100以及弹幕服务器600。
其中,相机阵列500包括围绕目标对象(即拍摄对象/拍摄场景)和/或观看者的多个(例如18-36个)相机或其他具有摄像头的设备,这些相机分别对应机位0、机位1……机位n。相机阵列500分别从多个角度对目标对象进行拍摄,并将拍摄的多个角度的视频流上传至媒体服务器300。一些示例中,可通过节拍器实现相机阵列中的多个相机或其他具有摄像头的设备拍摄的视频的同步。
CDN 200,是依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使相机阵列500采集的多个角度的视频流加速上传至媒体服务器300。
媒体服务器300,用于对接收到的多个角度的视频流进行转码,生成自由视角视频。示例性的,媒体服务器300进行对多个角度的视频流的处理过程包括但不限于焦点对齐、帧对齐同步编码、旋转辅助流生成以及虚拟视角合成等。其中,焦点对齐,例如可采用裁剪画面的方式等确保切换视角过程中拍摄对象的画面平滑过渡。帧对齐同步编码,用于对齐多个相机拍摄的相同时刻的视频帧。虚拟视角合成,在两路真实的视频流中插入虚拟的视频流,以减少拍摄时需所使用的相机数量,或者使得切换视角过程中拍摄对象的画面平滑过渡。旋转辅助流,用于转动显示,帮助减少总体流量占用。
需要说明的是,上述媒体服务器300的处理过程仅为示例,在本申请实施例中并不限定根据相机阵列500上传的视频流生成自由视角视频过程中所采用的具体技术方案。
还需要说明的是,这里的媒体服务器300可以是一台独立的物理服务器、多台独立的物理服务器、提供云计算的云服务器、云计算平台和虚拟化中心中的至少一种。
可以理解的是,媒体服务器300中存储和维护有大量的自由视角视频。当媒体服务器300接收到终端100发送的请求,请求某个自由视角视频的内容时,媒体服务器300通过CDN 400向终端100快速返回相对应的自由视角视频的内容。
需要说明的是,这里的媒体服务器300可以是一台独立的物理服务器、多台独立的物理服务器、提供云计算的云服务器、云计算平台和虚拟化中心中的至少一种。
CDN 400,是依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使终端用户(例如终端100)就近获取所需的自由视角视频等内容,降低网络拥塞,提高用户访问响应速度和命中率。
终端100,可以通过其上安装的自由视角视频的客户端/应用程序,向媒体服务器300请求某个自由视角视频。而后,从接收媒体服务器300通过CDN400返回的自由视角视频文件。或者,终端100根据媒体服务器300返回的自由视角视频的播放地址,从相应服务器下载自由视角视频文件。最后对自由视角视频文件进行解码、渲染等处理后,播放自由视角视频。如果终端100在播放自由视角视频时,还开启了弹幕功能,那么终端100还需向弹幕服务器600请求当前播放时刻或时间段对应的弹幕数据。
在本申请实施例中,弹幕服务器600返回的弹幕数据包括弹幕的内容、弹幕的出现时刻、以及弹幕的视角等。其中,弹幕的视角是指弹幕发送时用户所观看的自由视角视频的视角。可以理解的是,用户发送的弹幕内容通常是与当前观看视角的视频画面相关联,例如用户发送的弹幕内容通常是针对当前观看视角的视频画面进行的评论或说明等。换言之,本申请实施例中将用户发送的弹幕与当前的播放视角进行了关联。
在本申请实施例中,终端100根据弹幕的视角,针对不同视角的弹幕采用不同的展示方式,以便用户区分不同视角的弹幕。也就是说,对不同视角的弹幕进行差异化展示。例如,用户当前的播放视角1下的视频画面,当前显示有视角1和视角2的弹幕。那么,终端100采用不同的展示方式分别展示视角1的弹幕和视角2的弹幕,用户可以直观地区分视角1的弹幕和视角2的弹幕。当视角2的弹幕与的播放视角1的视频画面不一致时,用户也不会有疑惑和困扰,提升了视频的观看体验。
另外,终端100在播放自由视角视频时,还可以接收用户输入新的弹幕内容,并将新的弹幕内容与用户当前观看的视频的视角建立关联,并上传弹幕服务器600进行存储。
终端100还可以接收用户的切换视角的操作(例如用户手指在屏幕上的滑动操作,或者用户按压遥控器按键的操作),并根据用户的切换视角的操作计算视角的切换方向(例如向左切换视角,或向右切换视角),以及切换的角度幅度(例如切换10度,20度等),以切换当前自由视角视频的观看视角。一些示例中,终端100的显示屏为触摸屏。那么,终端100可以捕获屏幕事件,该屏幕事件包括检测到的手指的滑动事件,包括手指滑动方向和距离。根据屏幕事件转换为观看视角的切换方向以及切换角度。另一些示例中,终端100配置有遥控器。那么,终端100可以接收遥控器的按键事件,该按键事件包括按键的标识,以及按键按压次数或按压时长等。再根据按键事件确定观看视角的切换方向以及切换角度。例如,根据按键的标识,识别用户操作的按键,如点击左键或右键,从而确定切换方向。根据按键的按压次数或按压时长,识别切换的角度幅度。
示例性的,本申请实施例中终端100例如可以为手机、平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、上网本、可穿戴设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智慧屏、智能汽车等,本申请对终端100的具体形式不做特殊限制。
弹幕服务器600,用于接收各个终端(例如包括终端100)发送来的弹幕信息,该弹幕信息包括但不限于自由视角视频的标识、弹幕的出现时间、弹幕的持续时间、弹幕内容以及弹幕的视角等。
需要说明的是,这里的弹幕服务器600可以是一台独立的物理服务器、多台独立的物理服务器、提供云计算的云服务器、云计算平台和虚拟化中心中的至少一种。
可以理解的是,本发明实施例示意的系统结构并不构成对技术方案所适用的系统架构的具体限定。在本申请另一些实施例中,本申请实施例提供的技术方案所适用的系统架构还可以包括比图示更多或更少设备,或者组合其中部分设备,或者将其中部分设备进行拆分等。
如图2所示,为本申请实施例提供的一种终端100的结构示例图。终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
可以理解的是,本发明实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。在本申请实施例中,视频编解码器能够对终端100从媒体服务器300下载的自由视角视频进行解码,从而实现在终端100上进行播放。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如自由视角视频的播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端100的各种功能应用以及数据处理。
在本申请的一些实施例中,内部存储器121中存储有自由视角视频的客户端/应用程序所需的程序代码,该自由视角视频的客户端/应用程序可以实现从媒体服务器300下载自由视角视频,播放自由视角视频的功能,接收用户输入的弹幕内容,将用户输入的弹幕内容以及其他弹幕信息(例如弹幕的视角信息)上传至弹幕服务器600,接收弹幕服务器600发送的弹幕数据,并根据弹幕数据中携带的视角信息,针对不同视角的弹幕进行差异化展示等。
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在终端100上的包括2G/3G/4G/5G/6G/下一代无线通信技术等无线通信的解决方案。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
请参见图3,图3示出一种弹幕服务器600的结构示意图,弹幕服务器600包括一个或多个处理器610、一个或多个存储器620、以及一个或多个通信接口630。
处理器610、存储器620和通信接口630通过总线相连接。处理器610可以包括通用中央处理器(Central Processing Unit,CPU)(例如CPU0和CPU1)、微处理器、特定应用集成电路(Application-Specific Integrated Circuit,ASIC),图形处理器(graphicsprocessing unit,GPU)、神经网络处理器(neural-network processing unit,NPU),或者用于控制本申请方案程序执行的集成电路等。
存储器620,可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。存储器620可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统以及应用程序代码等。在一些示例中,存储数据区存储有用户上传的各个自由视角视频的弹幕数据,该弹幕数据中包括各个弹幕的视角。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器610通过运行存储在存储器620的指令,执行弹幕服务器600的各种功能应用以及数据处理。在一个示例中,处理器610也可以包括多个CPU,并且处理器610可以是一个单核(single-CPU)处理器或多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路或用于处理数据(例如计算机程序指令)的处理核。
通信接口630,可用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
需要说明的是,图1所示媒体服务器300,CDN200以及CDN400中的服务器等均可以参考图3所示的弹幕服务器600的结构。媒体服务器300,CDN200以及CDN400中的服务器可以包括比弹幕服务器600更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。本申请实施例对此不做限定。
以下,结合附图和具体实施例对本申请实施例提供的技术方案进行详细说明。
一、弹幕发送方案
如图4所示,为本申请实施例提供的一种弹幕的发送方法的流程示意图,该方法包括:
S400、终端100播放第一自由视角在视角A下的视频画面。
示例性的,终端100安装有用于播放自由视角视频的客户端(例如web页面)或应用程序(例如移动终端的视频应用等),该客户端/应用程序可称为自由视角视频的客户端/应用程序。用户可以启动该客户端/应用程序,并在客户端/应用程序的显示界面中选择播放第一自由视角视频。在一些实施例中,终端100默认播放第一自由视角视频在视角A下的视频画面,那么当检测到用户选择播放第一自由视角视频的操作,终端100经CDN 400向媒体服务器300请求第一自由视角视频在视角A下的视频文件1。相应的,媒体服务器300经CDN400向终端100返回视频文件1,终端100根据视频文件1显示第一自由视角视频在视角A下的视频画面。在另一些实施例中,终端100先播放第一自由视角视频在除视角A外的其他视角下的视频画面。当终端100检测到用户指示切换至视角A的操作,终端100经CDN 400向媒体服务器300请求第一自由视角视频在视角A下的视频文件1。相应的,媒体服务器300经CDN400向终端100返回视频文件1,终端100根据视频文件1显示第一自由视角视频在视角A下的视频画面。
在其他一些示例中,当终端100在播放第一自由视角视频时,开启弹幕功能。那么,终端100还根据播放进度向弹幕服务器600请求相应播放时刻的弹幕数据。那么,终端100播放的视频画面上还包括相应的弹幕。
例如,以终端100是手机为例进行说明。手机上安装的视频应用集成了播放自由视角视频的软件开发工具包(Software Development Kit,SDK),支持播放自由视角视频。那么,用户可以启动手机上的视频应用,并在视频应用的界面中选择播放第一自由视角视频。例如,如图5中(1)所示,为手机显示的播放第一自由视角视频的播放界面601。在播放界面601中包括第一自由视角视频在某个视角下的视频画面602,以及在视频画面602上以某种规律出现的弹幕(例如包括弹幕603)。播放界面601中还可以包括一些功能控件,例如:播放进度条604,播放控件609,下一集控件610,弹幕开关控件605,弹幕输入框606,弹幕发送控件607,以及视角控件608等。
其中,播放进度条604,用于展示当前视频的播放进度,以及用于用户通过拖拽的方式调整当前视频的播放进度等。播放控件609,用于暂停或继续播放当前视频。下一集控件610,用于切换至下一集或下一个视频。弹幕开关控件605,用于开启或关闭弹幕功能。弹幕输入框606,用于接收用户输入的弹幕的内容。弹幕发送控件607,用于发送用户输入弹幕的内容或者默认的弹幕内容。
其中,视角控件608,用于显示手机当前播放的视频画面602所对应的视角(例如为60度),以及用于调出用于切换视角的视角标尺。当检测到用户操作视角控件608,手机显示如图5中(2)所示的播放界面611,该播放界面611中显示有视角标尺612。用户可以通过手指在视角标尺612上左右滑动,来切换手机当前播放的自由视角视频的视角。例如,当检测到用户的手指在标尺上向右滑动的操作,手机显示如图6中(1)所示的播放界面613。该播放界面613为第一自由视角视频在视角A(例如70度)下的视频画面。
需要说明的是,这里是以用户操作视角控件608调出视角标尺612为例进行说明的,在其他一些示例中,手机也可以直接在自由视角视频的播放界面601中显示视角标尺612或者通过其他方式调出视角标尺612等。本申请实施例对显示视角标尺612的界面不再限定。
在一些示例中,手机在预设时长1内未接收到用户操作视角标尺后,可以隐藏视角标尺,如图6中(2)所示的播放界面614。在另一些示例中,当检测到用户在播放界面614上点击显示屏的操作,手机显示如图6中(3)所示的播放界面615,在播放界面615中重新显示有上述的功能控件,如播放进度条604,播放控件609,下一集控件610,弹幕开关控件605,弹幕输入框606,弹幕发送控件607,以及视角控件608等。
S401、终端100接收到用户输入第一弹幕的内容,以及发送第一弹幕的操作,终端100生成第一弹幕的数据,第一弹幕的数据包括第一弹幕的内容、第一弹幕的出现时刻以及第一弹幕的视角。
示例性的,用户可以通过上述图5中(1)所示的视频播放界面601或者上述图6中(3)所示的视频播放界面615输入并发送弹幕。这里以用户在上述图6中(3)所示的视频播放界面615中输入并发送第一弹幕为例进行说明。
如图6中(3)所示,在手机播放第一自由视角视频在视角A下的视频画面时,手机检测到用户在弹幕输入框606中输入第一弹幕的内容,并操作弹幕发送控件607,手机生成第一弹幕的数据。在本申请实施例中,手机生成的第一弹幕的数据中包括第一弹幕的内容(例如“太精彩了”)、第一弹幕的出现时刻(例如20:10)以及第一弹幕的视角(即视角A,例如为70度)。此外,第一弹幕的数据还包括第一自由视角视频的标识、第一弹幕的标识、第一弹幕的持续时长ΔT、第一弹幕的格式、第一弹幕的发送位置(即第一弹幕发送时的播放时刻)等中的一项或多项。如下表一所示,为第一弹幕的数据采用的数据格式的示例。
表一
Figure BDA0003405095930000111
其中,影片标识字段的值为第一自由视角视频的标识,如影片1。弹幕标识字段的值为第一弹幕的标识,如弹幕1。弹幕内容字段的值为用户输入的第一弹幕的内容,如“太精彩了”。
出现时刻字段的值为显示屏上开始显示第一弹幕的播放时刻,例如为播放时刻T1。在一些实施例中,播放时刻T1等于第一弹幕的发送时刻。例如,终端1的用户在自由视角视频的20:10发送第一弹幕,那么第一弹幕的出现时刻,即播放时刻T1可以为20:10。可以理解的是,在其他一些实施例中,第一弹幕的出现时刻与第一弹幕的发送时刻不同。例如,在一些场景中,视频中的某个精彩片段持续时间较长,或者用户习惯在精彩片段的开头发送弹幕,那么,将第一弹幕的发送时刻确定为播放时刻T1,便于提醒其他用户注意到视频中的精彩片段。在另一些实施例中,播放时刻T1等于第一弹幕的发送时刻-预设时间偏移值1。其中,预设时间偏移值1可以是预定义的,也可以是用户设置,本申请实施例对此不做限定。本文中的其他预设时间偏移值(如预设时间偏移值2)与预设时间偏移值1的设置方式和计算方法类似,可以与预设时间偏移值1相同或不同,下文将不再另外说明。例如,第一弹幕的发送时刻为20:10,预设时间偏移值1为5秒,那么第一弹幕的出现时刻,即播放时刻T1为20:05。可以理解的是,在另一些场景中,视频中的某个精彩片段持续时间较短,或者用户习惯在精彩片段的结尾发送弹幕,那么,将第一弹幕的发送时刻-预设时间偏移值1确定为播放时刻T1,便于提前提醒其他用户注意到视频中的精彩片段。在又一些实施例中,播放时刻T1等于第一弹幕的发送时刻+预设时间偏移值2。例如,第一弹幕的发送时刻为20:10,预设时间偏移值2为3秒,那么第一弹幕的出现时刻,即播放时刻T1为20:08。其中,预设时间偏移值1与预设时间偏移值2可以相同或不同。可以理解的是,在又一些场景中,用户习惯在精彩片段之前发表讨论等,那么将第一弹幕的发送时刻+预设时间偏移值2确定为播放时刻T1,便于提醒其他用户及时注意到视频中的精彩片段。
持续时长字段的值为第一弹幕持续出现在显示屏上的时长ΔT(例如15秒)。在一些示例中,第一弹幕从终端显示屏的最右侧开始出现,而后第一弹幕从显示屏的最右侧向左侧移动,直至第一弹幕从显示屏上消失。其中,第一弹幕从显示屏的最右侧开始显示,到第一弹幕在显示屏的最左侧消失的整个过程耗时ΔT,如15秒。该持续时长ΔT可以为预设值,或者是用户设置的。例如用户可以设置弹幕模式,不同的弹幕模式对应不同的持续时长。字体、颜色等字段值为用户在输入第一弹幕的内容时设置的,或者为终端100默认设置的。
视角字段的值为发送第一弹幕时终端100当前显示的视频画面所对应的视角,即视角A。换言之,第一弹幕与视角A建立了关联关系。
S402、终端100向弹幕服务器600发送第一弹幕的数据。
一些实施例中,弹幕服务器在接收到终端100发送的第一弹幕的数据后,对第一弹幕的数据进行审核,例如内容审核、格式审核等,审核通过后,存储第一弹幕的数据。
由此,弹幕服务器600上存储有各个用户上传的第一自由视角视频在各个视角下发送的弹幕数据。
可以理解的是,弹幕服务器600上存储有大量自由视角视频在各个视角下的弹幕数据。后续,当其他终端(包括终端100)可以向弹幕服务器600请求特定自由视角视频在特定播放时刻的弹幕数据。并且,弹幕服务器600返回的弹幕数据中包括弹幕的内容、弹幕的出现时刻以及弹幕的视角等。后续,其他终端在显示弹幕时,可以为不同视角的弹幕确定不同的展示方式。
二、弹幕显示方案
示例性的,以终端100(这里的终端100可以与上述发送第一弹幕的终端100是相同或不同的终端)播放第一自由视角视频为例,对本申请实施例提供的弹幕显示方法进行说明。
如图7所示,为本申请实施例提供的一种弹幕显示方法的流程示意图,该方法包括:
S701、终端100向媒体服务器300请求第一自由视角视频在视角B下播放时刻T2的视频文件。相应的,媒体服务器300向终端100返回第一自由视角视频在视角B下播放时刻T2的视频文件。
示例性,用户可以通过终端100的自由视角视频的客户端/应用程序选择播放任一视角下的视频画面。终端100根据第一自由视角视频的播放进度向媒体服务器300请求相应播放时刻的视频文件。例如,终端100向媒体服务器300请求第一自由视角视频在视角B下播放时刻T2的视频文件。
S702、终端100还向弹幕服务器600请求第一自由视角视频播放时刻T2的弹幕数据。相应地,弹幕服务器600向终端100返回第一自由视角视频播放时刻T2的弹幕数据。
当终端100播放第一自由视角视频时,还开启了弹幕功能,则终端100还需要根据第一自由视角视频的播放进度向弹幕服务器600请求相应播放时刻的弹幕数据。例如,终端100向媒体服务器300请求第一自由视角视频播放时刻T2的弹幕数据。需要说明的是,此时弹幕服务器600向终端100返回的第一自由视角视频播放时刻T2的弹幕数据包括各个视角的弹幕。例如,包括视角B的弹幕,视角A的弹幕,以及其他视角的弹幕。
需要说明的是,步骤S702可以在步骤S701之后或之前执行,或者同时执行,本申请实施例对此不做具体限定。
S703、终端100计算各个弹幕的视角与视角B的偏移角度。
在一些实施例中,偏移角度包括偏移方向和/或偏移角度的大小。其中,偏移方向包括左向偏移和右向偏移。左向偏移,是指视角B切换至弹幕的视角需向左侧切换视角。右向偏移,是指视角B切换至弹幕的视角需向右侧切换视角。其中,偏移角度的大小为弹幕的视角与视角B的差值的绝对值。在其他一些实施例中,偏移角度=弹幕的视角-视角B。当偏移角度为正数时,表明该弹幕为右向偏移的弹幕。当偏移角度为负数时,表明该弹幕为左向偏移的弹幕。本申请实施例对偏移角度的定义和计算不做具体限定。本文是以偏移角度=弹幕的视角-视角B为例进行说明的,后续将不再进行说明。
例如,如图6中(1)所示的播放界面613,当前的播放视角(即视角B)为70度,弹幕1的视角为60度,则弹幕1的视角与视角B的偏移角度为左向偏移10度。弹幕2的视角为100度时,则弹幕2的视角与视角B的偏移角度为右向偏移30度。
又例如,前文已介绍,自由视角视频是由围绕目标拍摄对象的相机拍摄的视频,那么自由视角视频包括目标拍摄对象多个视角的画面。如图8所示,当前观看者角度(也称为自由视角视频的播放视角,即视角B)为0度。弹幕1的发送视角(也称为弹幕1的视角)为-30度时,弹幕1的视角与视角B的偏移角度为左向偏移30度。弹幕2的发送视角(也称为弹幕2的视角)为+25度时,弹幕2的视角与视角B的偏移角度为右向偏移25度。弹幕3的发送视角(也称为弹幕3的视角)为-100度时,弹幕3的视角与视角B的偏移角度为左向偏移100度。弹幕4的发送视角(也称为弹幕4的视角)为+90度时,弹幕4的视角与视角B的偏移角度为右向偏移90度。
需要说明的是,图8示出了围绕目标拍摄对象一周(即360度)拍摄的自由视角视频。也就是说,该自由视角视频为360度环绕视频。当然,在其他一些示例中,自由视角视频也可以不是围绕目标拍摄对象一周拍摄的,例如自由视角视频为180度环绕视频、130度环绕视频、270度环绕视频等。
S704、终端100显示第一自由视角视频在视角B下的视频画面,以及根据各个弹幕的视角与视角B的偏移角度呈现各个弹幕。
可以理解的,弹幕的视角与视角B的偏移角度不同,弹幕的呈现方式不同。其中,呈现方式的不同例如包括弹幕文字方向的倾斜方式(包括倾斜方向和/或倾斜程度),弹幕文字的旋转方式(包括旋转方向和/或旋转程度),字体,立体效果,运动方式等的不同。
在一个实施例中,第一自由视角视频的播放视角(即视角B)下的弹幕,与其他视角下的弹幕的呈现方式不同。在该实施例的一个示例中,可以采用如下策略呈现不同弹幕,如下:当|弹幕的视角-视角B|≤阈值A(例如阈值A为0度或5度等)时,采用第一呈现方式展示弹幕。当|弹幕的视角-视角B|>阈值A时,采用第二呈现方式展示弹幕,其中,第二呈现方式与第一呈现方式不同。例如,第一呈现方式为弹幕的文字正常显示(如,即弹幕的文字不倾斜、不旋转、字体不变形、平面效果等)。此时弹幕的文字方向平行于第一方向,例如第一方向为平行终端100的屏幕的上边框/下边框的方向。第二呈现方式采用倾斜、旋转、字体变形、三维立体效果中一项或多项方式进行显示,也即弹幕的文字方向为第一方向(例如平行于终端100的屏幕的上边框/下边框)顺时针旋转一定角度后的方向,此时弹幕文字方向与终端100屏幕的一侧边框形成一定夹角。又例如,第一呈现方式为弹幕向第一方向(例如向左)移动,第二呈现方式为弹幕向第二方向(例如向右)移动。其中,第一方向和第二方向不同。
比如,如图9中(1)所示的第一自由视角视频的播放界面901,其中,弹幕902(视角为60度)与第一自由视角视频的播放视角(即视角B,为60度)相同,弹幕902的文字正常显示,未倾斜。弹幕903(视角为90度)、弹幕904(视角为30度)、弹幕905的视角(视角为120度)和弹幕906的视角(视角为10度),与第一自由视角视频的播放视角均不同,这四条弹幕的文字均倾斜显示。可以理解的,在其他一些示例中,终端100在显示弹幕时,可以显示弹幕的视角信息,或者不显示弹幕的视角信息。
由此可见,用户可以通过弹幕的呈现方式,区分第一自由视角视频的播放视角(即视角B)下的弹幕,与其他视角下的弹幕。这样,当播放视角下的视频画面,与其他视角下的弹幕内容不一致时,用户也不会造成困惑和疑虑,提升了第一自由视角视频的观看体验。
在另一个实施例中,当弹幕的视角与视角B的偏移方向不同时,弹幕的呈现方式也不同。一个示例中,弹幕的视角与视角B的偏移角度属于左向偏移时,采用第三呈现方式展示弹幕。弹幕的视角与视角B的偏移角度属于右向偏移时,采用第四呈现方式展示弹幕。其中,第三呈现方式和第四呈现方式不同。
例如,以第一方向为平行终端100屏幕的上边框的方向为例进行说明。第三呈现方式为弹幕的文字方向为第一方向后逆时针旋转一定角度后的方向。第四呈现方式为弹幕的文字方向为第一方向顺时针旋转一定角度后的方向。比如,如图9中(2)所示的第一自由视角视频的播放界面907,其中,弹幕902(视角为60度)与第一自由视角视频的播放视角(即视角B,为60度)相同,弹幕902的文字正常显示,未倾斜。弹幕903(视角为90度)与第一自由视角视频的播放视角的偏移角度属于右向偏移,弹幕903的文字方向为第一方向后顺时针旋转一定角度后的方向。类似的,弹幕905的视角(视角为120度)与第一自由视角视频的播放视角的偏移角度也属于右向偏移,弹幕905的文字方向为第一方向后顺时针旋转一定角度后的方向。弹幕904(视角为30度)与第一自由视角视频的播放视角的偏移角度属于左向偏移,弹幕904的文字方向为第一方向后逆时针旋转一定角度的方向。类似的,弹幕906的视角(视角为10度)与第一自由视角视频的播放视角的偏移角度也属于左向偏移,弹幕906的文字方向为第一方向后逆时针旋转一定角度的方向。
又例如,第三呈现方式包括第一标记(比如向左的箭头),第四呈现方式包括第二标记(比如向右的箭头)。
由此可见,当弹幕的视角与第一自由视角视频的播放视角的偏移方向不同时,弹幕的呈现方式也不同时,用户可以通过弹幕的呈现方式,来区分弹幕对应视角的偏移方向。那么,当用户对某些弹幕(称为目标弹幕)感兴趣时,可以根据目标弹幕的呈现方式确定视角的切换方向,以切换到目标弹幕对应的视角。也就是说,弹幕的不同呈现方式可以提示用户切换视角时的切换方向,有利于用户快速切换视角。
比如,如图9中(2)所示的播放界面907,如果用户对弹幕903感兴趣,希望切换到弹幕903对应的视角,则根据弹幕903向右倾斜的呈现方式,获知弹幕903的视角与的播放视角B的视角偏移属于右向偏移。那么,用户可以通过调出视角标尺,并在视角标尺上向右滑动,直到切换至弹幕903对应的视角。如果用户对弹幕904感兴趣,希望切换到弹幕904对应的视角,则根据弹幕904向左倾斜的呈现方式,获知弹幕904的视角与的播放视角B的视角偏移属于左向偏移。那么,用户可以通过调出视角标尺,并在视角标尺上向左滑动,直到切换至弹幕904对应的视角。
在又一个实施例中,当弹幕的视角与视角B的偏移方向相同,但偏移角度的大小不同时,弹幕的呈现方式也不同。例如,弹幕的视角与视角B的偏移角度的大小越大,弹幕呈现时的倾斜程度越大,即弹幕的倾斜角度越大。举个例子,如图9中(3)所示的播放界面908,相对于第一自由视角视频的播放视角,弹幕903和弹幕905均属于右向偏移。|弹幕903的视角-视角B|<|弹幕905的视角-视角B|,那么,弹幕903倾斜的角度a<弹幕905倾斜的角度b。相对于第一自由视角视频的播放视角,弹幕904和弹幕906均属于右向偏移。|弹幕904的视角-视角B|<|弹幕906的视角-视角B|,那么弹幕904倾斜的角度c<弹幕906倾斜的角度d。
具体的,在一个示例中,弹幕的文字方向的倾斜角度与弹幕的偏移角度的大小成正比关系。即,弹幕的文字方向的倾斜角度根据弹幕的偏移角度的大小成线性增长关系。在另一个示例中,弹幕的文字方向的倾斜角度还可以根据弹幕的偏移角度的大小成阶梯式递增关系。
比如,可以采用如下策略呈现不同弹幕,如下:
当|弹幕的视角-视角B|≤阈值B(例如阈值B为10度或15度等)时,弹幕正常显示。
当阈值B<|弹幕的视角-视角B|≤阈值C(例如阈值C为30度或45度等)时,弹幕的文字方向为第一方向逆时针/顺时针旋转第一角度后的方向。
当阈值C<|弹幕的视角-视角B|≤阈值D(例如阈值D为60度等)时,弹幕的文字方向为第一方向后逆时针/顺时针旋转第二角度后的方向,其中,第二角度大于第一角度。
……
如下表二,给出了一种弹幕的偏移角度与弹幕倾斜角度的对应关系的示例。
表二
Figure BDA0003405095930000141
Figure BDA0003405095930000151
综上可见,当弹幕的视角与视角B的偏移角度的大小不同,弹幕的呈现方式也不同时,用户可以通过弹幕的呈现方式区分弹幕的视角距离视角B的偏移角度的大小。那么,当用户对某些弹幕(称为目标弹幕)感兴趣时,可以根据目标弹幕的呈现方式确定视角的切换幅度(例如手指滑动的距离大小,或遥控器按键时长或按键次数等)以切换到目标弹幕对应的视角。也就是说,弹幕的不同呈现方式可以提示用户切换视角的幅度(例如手指滑动的距离大小,或遥控器按键时长或按键次数等),有利于用户快速切换视角。
可以理解的是,在其他一些实施例中,播放界面中各个视角下的弹幕,如播放界面908中的弹幕902、弹幕903、弹幕904、弹幕905、弹幕906的呈现方式可以相同,例如均为正常显示。可以理解的是,用户可以通过各个弹幕中携带的视角,区分第一自由视角视频的播放视角(即视角B)下的弹幕,与其他视角下的弹幕。这样,当播放视角下的视频画面,与其他视角下的弹幕内容不一致时,用户也不会造成困惑和疑虑,提升了第一自由视角视频的观看体验。
如前文所述,用户可以任意切换第一自由视角视频的播放视角,在一些实施例中,第一自由视角视频切换视角的过程中,终端100保持弹幕内容和呈现方式不变。在第一自由视角视频视角切换后,终端100重新获取视角切换后的弹幕数据,并根据重新获取的弹幕数据确定显示的弹幕内容以及各个弹幕的具体呈现方式。
例如,如图10A所示,为本申请实施例提供的一种视角切换过程中的弹幕显示方法,该方法包括:
S1001、时刻t0,终端100检测到用户开始执行视角切换操作,视角切换操作用于指示切换第一自由视角视频的视角。
需要说明的是,在步骤S1001之前,终端100可以采用上述步骤S701-步骤S704的方法,显示第一自由视角视频在任意视角下的视频画面以及相应的弹幕。在一个示例中,终100显示第一自由视角视频在视角B下播放时刻T2的视频画面,以及播放时刻T2对应的弹幕。
其中,视角切换操作,例如可以是用户在终端100屏幕上的滑动操作,或者用户倾斜终端100的操作,或者用户操作遥控器的按键等。
例如,终端100检测到用户的手指停留在视角标尺上超过预设时长2(例如3秒),则确定用户开始执行视角切换操作,记录当前时刻为时刻t0。又例如,终端100配置有重力加速度或IMU等装置时,可以检测到终端100的姿态。当检测到终端100相对于水平面的倾斜角度大于或等于阈值1时,则确定用户开始执行视角切换操作,记录当前时刻为时刻t0。又例如,终端100接收到遥控器发送特定按键对应的信号时,确定用户开始执行视角切换操作,记录当前时刻为时刻t0。
S1002、时刻t0至时刻t1,终端100保持各个弹幕的呈现方式不变。
S1003、时刻t1,终端100检测到视角切换操作执行完成。
例如,在时刻t0后,终端持续检测到用户的手指在屏幕上滑动,当终端检测到用户的手指离开屏幕时,确定用户执行视角切换操作完成,记录当前时刻为时刻t1。又例如,在时刻t0后,终端持续检测终端100相对于水平面的倾斜角度。当检测到终端100相对于水平的倾斜角度小于阈值1时,确定用户执行视角切换操作完成,记录当前时刻为时刻t1。又例如,在时刻t0后,终端持续检测遥控器发送特定按键对应的信号。当距离上一次检测到特定按键对应的信号后的预设时长3(例如5秒)内,未检测到特定按键对应的信号时,确定用户执行视角切换操作完成,记录当前时刻为时刻t1。
示例性的,在用户执行视角切换操作的过程中,即在时刻t0-时刻t1(不包括时刻t1)之间,终端100可以保持各个弹幕的呈现方式不变,例如各个弹幕的倾斜方向以及倾斜角度不变。换言之,在时刻t0-时刻t1之间,无论第一自由视角视频的播放视角是否发生变化,终端100始终保持时刻t0时终端100显示的弹幕的呈现方式。
需要说明的是,在一些示例中,在时刻t0-时刻t1之间,第一自由视角视频的视频画面的播放视角发生变化。例如,终端100也可以根据用户执行的视角切换操作(例如手指滑动的距离,或遥控器按键的此时或时长)播放第一自由视角在其他视角(例如视角B至视角C之间的任一或任几个视角)下的视频画面等。也就是说,从时刻t0至时刻t1,第一自由视角视频的播放视角从视角B切换至视角C,并且第一自由视角的播放视角经过从视角B到视角C之间全部的视角或部分视角。例如,第一自由视角视频的视角从60度切换至90度,则第一自由视角视频的视角经历60度至90度之间所有的角度变化,或者经历60度至90度之间部分的角度变化,例如,经历的角度有60度、70度、80度以及90度。
在另一些示例中,在时刻t0-时刻t1之间,第一自由视角视频的视频画面的播放视角不发生变化,即终端100保持播放第一自由视角视频在视角B下的视频画面。
还需要说明的是,终端100会根据第一自由视角视频的播放进度(即播放时刻)确定显示哪些弹幕,以及这些弹幕的显示位置。在一些示例中,在用户执行视角切换操作的过程中,即在时刻t0-时刻t1(不包括时刻t1)之间,终端100持续播放第一自由视角视频,此时第一自由视角视频的视频画面的播放时刻发生变化。那么,终端100根据播放时刻的变化实时确定终端100显示的弹幕,以及弹幕的显示位置。但需要注意的是,各个弹幕的呈现方式保持不变(例如弹幕的倾斜方向以及倾斜角度等)。在另外一些示例中,在用户执行视角切换操作的过程中,即在时刻t0-时刻t1(不包括时刻t1)之间,终端100暂停播放第一自由视角视频,此时间段内第一自由视角视频的视频画面的播放时刻不发生变化,那么终端100显示的弹幕以及弹幕的显示位置均不变。
S1004、时刻t1之后,终端100向媒体服务器请求第一自由视角视频的视角C下播放时刻T3的视频文件。
相应的,媒体服务器向终端100返回第一自由视角视频的视角C下播放时刻T3的视频文件。
一些实施例中,终端100在检测到用户执行完视角切换操作后,向媒体服务器发送请求1,请求1用于请求切换后视角对应的视频文件。在一个示例中,请求1包括第一自由视角视频的标识、视角C和播放时刻T3。其中,播放时刻T3与播放时刻T2相关,例如播放时刻T3=播放时刻T2,或者播放时刻T3=播放时刻T2-预设时间偏移值1,或者播放时刻T3=播放时刻T2+预设时间偏移值2。其中,预设时间偏移值1与预设时间偏移值2相同或不同。
S1005、时刻t1之后,终端100还向弹幕服务器请求第一自由视角视频的播放时刻T3对应的弹幕数据。
相应的,弹幕服务器向终端100返回第一自由视角视频的播放时刻T3对应的弹幕数据。
一些实施例中,终端100在检测到用户执行完视角切换操作后,向媒体服务器发送请求2,请求2用于请求第一自由视角视频的播放时刻T3对应的弹幕数据。在一个示例中,请求2包括第一自由视角视频的标识和播放时刻T3。其中,播放时刻T3与播放时刻T2相关,例如播放时刻T3=播放时刻T2,或者播放时刻T3=播放时刻T2-预设时间偏移值1,或者播放时刻T3=播放时刻T2+预设时间偏移值2。在其他一些实施例中,终端100在用户执行视角切换操作的过程中,持续播放第一自由视角视频。那么,播放时刻T3=播放时刻T2+(时刻t1-时刻t0)。
需要说明的是,步骤S1005可以在步骤S1004之后或之前或同时执行。
还需要说明的是,本步骤为可选步骤。在其他一些实施例中,播放时刻T3=播放时刻T2,或者,播放时刻T3=播放时刻T2-预设时间偏移值1,终端100保存有播放时刻T3对应得到弹幕数据,那么终端100可以不重新向弹幕服务器请求播放时刻T3的弹幕数据。随着第一自由视角视频的播放进度,向弹幕服务器请求播放时刻T3或播放时刻T2之后的弹幕数据。
S1006、终端100重新计算切换视角后,各个弹幕的视角与视角C的偏移角度。
需要说明的是,在视角切换之前,终端100计算各个弹幕的视角与视角B的偏移角度。在视角切换之后,终端100计算各个弹幕的视角与视角C的偏移角度。具体计算偏移角度的方法请参考上述步骤S703中的相关内容。
S1007、终端100显示第一自由视角视频在视角C下播放时刻T3的视频画面,以及根据各个弹幕与视角C的偏移角度显示各个弹幕。
本步骤可参考上述步骤S704中相关内容,这里不再赘述。
举个例子,请参考图10B中(1)所示,终端100播放第一自由视角视频在60度视角(即视角B)下的视频画面1001。其中,播放界面1001中还显示有不同视角的弹幕,如弹幕1002、弹幕1003、弹幕1004、弹幕1005以及弹幕1006等。在t0时刻,终端100检测到用户在播放界面1001(此时的播放时刻为20:05,即播放时刻T2)中拖动视角标尺,并且在t1时刻,终端100检测到用户的手指离开终端100的显示屏。在t1时刻,响应于用户执行视角切换操作(即用户拖动视角标尺的操作),终端100切换第一自由视角视频的播放视角,显示如图10B中(2)所示的播放界面1007。可以注意到,此时第一自由视角的播放视角已切换为70度视角(即视角C)。另外,播放界面1007中各个弹幕的呈现方式已变化。例如,与播放界面1001中各个弹幕的呈现方式相比较:弹幕1002从正常显示变更为倾斜显示。弹幕1003和弹幕1005的倾斜角度变小(a变化为a’,b变化为b’)。弹幕1004和弹幕1006的倾斜角度变大(c变化为c’,d变化为d’)。在一些示例中,时刻t0-时刻t1(不包括时刻t1)之间,终端100暂停播放第一自由视角视频,即终端100显示的视频画面不变,那么播放界面1007中第一自由视角视频的播放时刻为20:05(即播放时刻T3与播放时刻T2相同)。
在另一些示例中,时刻t0-时刻t1(不包括时刻t1)之间,终端100持续播放第一自由视角视频。那么,在t1时刻,响应于用户执行视角切换操作(即用户拖动视角标尺的操作),终端100切换第一自由视角视频的播放视角,显示如图10B中(3)所示的播放界面1008。播放界面1008中第一自由视角视频的播放时刻为20:10(即播放时刻T3=播放时刻T3=播放时刻T2+(时刻t1-时刻t0))。
综上,在该实施例中,在用户切换视角的过程中,即时刻t0至视角t1之间,终端100不更新弹幕的具体呈现方式,有利于用户比较视角切换前后弹幕呈现方式的变化,且有利于减少终端100的处理负担,降低终端100的功耗。
在其他一些实施例中,在第一自由视角视频的视角切换过程中,终端100显示的各个弹幕的呈现方式根据第一自由视角视频当前的播放视角进行实时变化。也就是说,上述图10A中步骤S1002可以替换为下述图11A中的步骤S1101。
如图11A所示,为本申请实施例提供的又一种视角切换过程中的弹幕显示的方法,该方法包括步骤S1001、步骤S1101,以及步骤S1003至步骤S1007。
其中步骤S1001以及步骤S1003至步骤S1007,请参加图10A中相应步骤的描述,这里不再赘述。
S1101、时刻t0至时刻t1,终端100实时计算各个弹幕与第一自由视角视频的播放视角的视角偏移,并根据实时计算的视角偏移显示各个弹幕。
在一些实施例中,在时刻t0-时刻t1之间,第一自由视角视频的视频画面的播放视角发生变化。例如,终端100也可以根据用户执行的视角切换操作(例如手指滑动的距离,或遥控器按键的此时或时长)播放第一自由视角在其他视角(例如视角B至视角C之间的任一或任几个视角)下的视频画面等。也就是说,从时刻t0至时刻t1,第一自由视角视频的播放视角从视角B切换至视角C,并且第一自由视角的播放视角经过从视角B到视角C之间全部的视角或部分视角。例如,第一自由视角视频的视角从60度切换至90度,则第一自由视角视频的视角经历60度至90度之间所有的角度变化,或者经历60度至90度之间部分的角度变化,例如,经历的角度有60度、70度、80度以及90度。
从时刻t0至时刻t1,终端100确定各个弹幕的呈现方式会随着第一自由视角视频的播放视角的变化而变化。具体的,当第一自由视角的播放视角变化时,终端100实时计算各个弹幕的视角与变化后第一自由视角视频的播放视角的角度偏移,并根据实时计算的角度偏移确定各个弹幕的呈现方式。
还需要说明的是,终端100会根据第一自由视角视频的播放进度(即播放时刻)确定显示哪些弹幕,以及这些弹幕的显示位置。在一些示例中,在用户执行视角切换操作的过程中,即在时刻t0-时刻t1(不包括时刻t1)之间,终端100持续播放第一自由视角视频,此时第一自由视角视频的视频画面的播放时刻发生变化。那么,终端100根据播放时刻的变化实时确定终端100显示的弹幕,以及弹幕的显示位置。换言之,终端100显示的弹幕内容会随着第一自由视角视频的播放进度而变化。可选的,在该场景下,在时刻t0-时刻t1(不包括时刻t1)之间,终端100还可以根据第一自由视角视频的播放进度,向弹幕服务器实时请求各个播放时刻对应的弹幕数据。
在另外一些示例中,在用户执行视角切换操作的过程中,即在时刻t0-时刻t1(不包括时刻t1)之间,终端100暂停播放第一自由视角视频,此时间段内第一自由视角视频的视频画面的播放时刻不发生变化,那么终端100显示的弹幕以及弹幕的显示位置均不变。
举个例子,请参考图11B中(1)所示,终端100播放第一自由视角视频在60度视角(即视角B)下的视频画面1101。其中,播放界面1101中还显示有不同视角的弹幕,如弹幕1102、弹幕1103、弹幕1104、弹幕1105以及弹幕1106等。在t0时刻,终端100检测到用户在播放界面1101(此时的播放时刻为20:05,即播放时刻T2)中拖动视角标尺,并且在t1时刻,终端100检测到用户的手指离开终端100的显示屏。
在t0时刻至t1时刻之间(不包括t0时刻、t1时刻),终端100检测到用户执行视角切换操作过程中,终端100显示的第一自由视角视频的播放视角持续变化,例如由60度切换至65度,如图11B中(2)所示的播放界面1107。可以注意到,播放界面1107中各个弹幕的呈现方式已变化。例如,与播放界面1101中各个弹幕的呈现方式相比较:弹幕1102从正常显示变更为倾斜显示(倾斜角度为e’)。弹幕1003和弹幕1005的倾斜角度变小(a变化为a”,b变化为b”)。弹幕1004和弹幕1006的倾斜角度变大(c变化为c”,d变化为d”)。
在t1时刻,终端100进一步切换第一自由视角视频的播放视角,显示如图11B中(3)所示的播放界面1108。可以注意到,此时第一自由视角的播放视角已切换为70度视角(即视角C)。另外,播放界面1108中各个弹幕的呈现方式又发生变化。例如,与播放界面1107中各个弹幕的呈现方式相比较:弹幕1102的倾斜角度进一步变大(e’变为e)。弹幕1003和弹幕1005的倾斜角度变小(a”变化为a’,b”变化为b’)。弹幕1004和弹幕1006的倾斜角度进一步变大(c”变化为c’,d”变化为d’)。
综上,在该实施例中,在用户切换视角的过程中,终端100根据第一自由视角视频的播放视角的变化,实时调整弹幕的呈现方式,有利于用户了解第一自由视角视频各个视角下弹幕的分布情况,指导用户选择最终切换的播放视角。
在另外一些实施例中,在第一自由视角视频的视角切换过程中,可能存在暂停执行视角切换操作的情况,那么,在暂停执行视角切换操作时,终端100可以向弹幕服务器重新请求当前播放时刻对应的弹幕数据,并根据重新获取的弹幕数据确定显示的弹幕内容以及各个弹幕的具体呈现方式。
例如,如图12所示,为本申请实施例提供的又一种视角切换过程中的弹幕显示方法的流程示意图,包括:
S1201、时刻t0,终端100检测到用户开始执行视角切换操作,视角切换操作用于指示切换第一自由视角视频的视角。
在一个示例中,终端100显示第一自由视角视频在视角B下播放时刻T2的视频画面,以及第一自由视角视频播放时刻T2的弹幕数据。
其中,视角切换操作,例如可以是用户在终端100屏幕上的滑动操作,或者用户倾斜终端100的操作,或者用户操作遥控器的按键等。例如,终端100检测到用户的手指停留在视角标尺上超过预设时长2(例如3秒),则确定用户开始执行视角切换操作,记录当前时刻为时刻t0。
本步骤其他内容可参考上述图10A所述的步骤S1001中相关内容,这里不再赘述。
S1202、时刻t0至时刻t2,终端100保持显示的弹幕的呈现方式不变。
其中,时刻t2为时刻t0至时刻t1之间的一个时刻。
本步骤其他内容可参考上述图10A所述的步骤S1002中相关内容,这里不再赘述。
在其他一些实施例中,时刻t0至时刻t2之间,终端100也可以根据第一自由视角视频的播放视角的变化实时调整各个弹幕的呈现方式。相关内容可以参考上述图11A中所述的步骤S1101中的内容描述,这里不再赘述。
S1203、时刻t2,终端100检测到用户暂停执行视角切换操作。
例如,在时刻t0后,终端持续检测到用户的手指在屏幕上滑动,当终端检测到用户的手指未滑动且未离开屏幕的时长超过预设时长4(例如3秒)时,确定用户暂停执行视角切换操作,记录当前时刻为时刻t2。
S1204、时刻t2之后,终端100向媒体服务器请求第一自由视角视频的视角D下播放时刻T4的视频文件。
也就是说,在检测到用户暂停执行视角切换操作后,终端100确定第一自由视角视频当前的播放视角,例如为视角D。播放时刻T4与播放时刻T2相关。一些示例中,时刻t0至时刻t2时,终端100暂停播放第一自由视角视频,那么播放时刻T4=播放时刻T2,或者播放时刻T4=播放时刻T2-预设时间偏移值1。例如,播放时刻T2为20:10,那么,播放时刻T4为20:10或20:05。在又一些示例中,时刻t0至时刻t2时,终端100持续播放第一自由视角视频,那么播放时刻T4=播放时刻T2+(时刻t2-时刻t0)。又例如,播放时刻T2为20:10,那么,播放时刻T4为20:15。
S1205、时刻t2之后,终端100还向弹幕服务器请求第一自由视角视频的播放时刻T4对应的弹幕数据。
S1206、终端100重新计算切换视角后,各个弹幕的视角与视角D的偏移角度。
S1207、终端100显示第一自由视角视频在视角D下播放时刻T4的视频画面,以及根据各个弹幕与视角D的偏移角度显示各个弹幕。
上述步骤S1204-步骤S1207的其他内容可参考上述图10A所述的步骤S1004-步骤S1007中相关内容,这里不再赘述。
S1208、时刻t1,终端100检测到视角切换操作执行完成。
例如,在时刻t2后,终端持续检测到用户的手指继续在屏幕上滑动,当终端检测到用户的手指离开屏幕时,确定用户执行视角切换操作完成,记录当前时刻为时刻t1。
S1209、时刻t1之后,终端100向媒体服务器请求第一自由视角视频的视角C下播放时刻T3的视频文件。
S1210、时刻t1之后,终端100还向弹幕服务器请求第一自由视角视频的播放时刻T3对应的弹幕数据。
一些示例中,播放时刻T3与播放时刻T4相关。例如,播放时刻T3=播放时刻T4,或者播放时刻T3=播放时刻T4-预设时间偏移值1,或者播放时刻T3=播放时刻T4+预设时间偏移值2。又例如,播放时刻T3=播放时刻T4+(时刻t1-时刻t2)。
S1211、终端100重新计算切换视角后,各个弹幕的视角与视角C的偏移角度。
S1212、终端100显示第一自由视角视频在视角C下播放时刻T3的视频画面,以及根据各个弹幕与视角C的偏移角度显示各个弹幕。
需要说明的是,图12所述的实施例是以视角切换操作暂停一次为例进行说明的,可以理解的,本申请实施例提供的技术方案也适用于视角切换操作暂停大于一次的情况。
上述步骤S1208-步骤S1212的其他内容可参考上述图10A所述的步骤S1003-步骤S1007中相关内容,这里不再赘述。
在该实施例中,在用户切换视角的过程中,当用户暂停切换视角的操作后,终端100可以根据此时第一自由视角视频的播放视角,实时调整弹幕的呈现方式,有利于用户了解第一自由视角视频在当前播放视角下弹幕的分布情况,指导用户选择最终切换的播放视角。
在又一些实施例中,终端100还可以预定义弹幕的可见视角范围,或者终端100可以提供由用户设置弹幕的可见视角范围的选项。其中,弹幕的可见视角范围是指终端100显示在该视角范围内的弹幕的内容,不显示在该视角范围之外的弹幕的内容。
例如,终端100可以预定义或接收用户设置的弹幕的可见视角范围为:与第一自由视角视频的播放视角的偏移角度的绝对值小于角度阈值E(例如为45度),那么终端100可以确定弹幕的可见视角范围为:[第一自由视角视频的播放视角-角度阈值E,第一自由视角视频的播放视角+角度阈值E]。
又例如,终端100可以预定义或接收用户设置的弹幕的可见视角范围为:与第一自由视角视频的播放视角的偏移角度的绝对值小于角度阈值E,且偏移角度小于或等于0(即偏移方向为左向偏移)。那么,终端100可以确定弹幕的可见视角范围为:[第一自由视角视频的播放视角-角度阈值E,第一自由视角视频的播放视角]。
又例如,终端100可以预定义或接收用户设置的弹幕的可见视角范围为:与第一自由视角视频的播放视角的偏移角度的绝对值为小于角度阈值E,且偏移角度大于或等于0(即偏移方向为右向偏移)。那么,终端100可以确定弹幕的可见视角范围为:[第一自由视角视频的播放视角,第一自由视角视频的播放视角+角度阈值E]。
在又一些实施例中,终端100还可以统计弹幕的可见视角范围外的弹幕数量,显示可见视角范围外弹幕的数量,用于提示用户可见视角范围外的弹幕情况。进一步的,针对位于弹幕的可见视角范围外的弹幕,终端100还可以分别统计向左偏移的弹幕数量,以及向右偏移的弹幕数量。
或者,终端100还可以显示与可见视角范围外弹幕的数量相关联的控件。例如,与可见视角范围外弹幕的数量相关联的控件,可用于指示针对可见视角范围外的视频画面,用户参与讨论的热度。在一个具体实现中,当可见视角范围外弹幕的数量等于或大于一定数量后,该控件可以指示该可见视角范围外的视角为热区,可用于提示用户关注该可见视角范围外的视频画面。在另一个具体的实现中,终端100显示控件1,控件1与向左偏移的弹幕数量相关联。当向左偏移的弹幕数量等于或大于一定数量后,控件1可以指示该可见视角范围外的向左偏移的视角为热区。终端100显示控件2,控件2与向右偏移的弹幕数量相关联。当向右偏移的弹幕数量等于或大于一定数量后,控件2可以指示该可见视角范围外的向右偏移的视角为热区。
例如,当弹幕的可见视角范围设置为:与第一自由视角视频的播放视角的偏移角度的绝对值为小于角度阈值E,且第一自由视角视频为360度环绕视频时,可采用公式(1)计算向左偏移的弹幕数量,采用公式(2)计算向右偏移的弹幕数量。
向左偏移的弹幕数量=Σ(-180度<偏移角度<-角度阈值E)的弹幕数量公式(1)
向右偏移的弹幕数量=Σ(角度阈值E<偏移角度<180度)的弹幕数量公式(2)
可以理解的是,如果第一自由视角视频为180度环绕视频时,公式(1)和公式(2)中的180度替换为90度。如果第一自由视角视频为270度环绕视频时,公式(1)和公式(2)中的180度替换为135度。
如图13所示,若设置角度阈值E为45度,且第一自由视角视频的弹幕的可见视角范围为第一自由视角视频的播放视角-45度,第一自由视角视频的播放视角+45度]。
当第一自由视角视频的播放视角为0度时,弹幕的可见视角范围为[-45度,+45度]。其中,弹幕1和弹幕2位于弹幕的可见视角范围内,终端100显示弹幕1和弹幕2的弹幕内容。弹幕3和弹幕5位于[-180度,-45度),属于位于弹幕的可见视角范围之外,且属于左向偏移的弹幕,那么终端100可以在屏幕的左侧显示提示信息,例如:+2,用于提示用户左向偏移且位于弹幕的可见视角范围外的弹幕数量为2。弹幕4和弹幕6位于(+45度,+180度),属于位于弹幕的可见视角范围之外,且属于右向偏移的弹幕,那么终端100可以在屏幕的右侧显示提示信息,例如:+2,用于提示用户右向偏移且位于弹幕的可见视角范围外的弹幕数量为2。
请参考如图14A中(1)所示播放界面1401,该播放界面1401中包括可见视角范围内的弹幕,如弹幕1和弹幕2。该播放界面1401中还包括控件1402和控件1403。其中,控件1402,用于显示位于弹幕的可见视角范围之外,且属于左向偏移的弹幕数量。控件1403,用于显示位于弹幕的可见视角范围之外,且属于右向偏移的弹幕数量。在一些示例中,用户可以操作控件1402,用于展示位于弹幕的可见视角范围之外,且属于左向偏移的弹幕。例如,响应于检测到用户在播放界面1401上操作控件1402,终端100显示如图14A中(2)所示的播放界面1404。播放界面1404中显示位于弹幕的可见视角范围之外,且属于左向偏移的弹幕,如弹幕3和弹幕5。需要说明的是,各个弹幕在显示屏中的位置与第一自由视角视频当前的播放时刻以及各个弹幕的出现时刻相关,与各个弹幕的视角与第一自由视角视频当前的播放视角的角度偏移无关。播放界面1404还可以包括控件1405,用于隐藏可见视角范围外的弹幕。可选的,响应于检测到用户在播放界面1404上操作控件1402,终端100显示如图14A中(3)所示的播放界面1406。播放界面1406中显示位于弹幕的可见视角范围之外,且属于右向偏移的弹幕,如弹幕4和弹幕6。播放界面1406还可以包括控件1405,用于隐藏可见视角范围外的弹幕。
需要说明的是,上述播放界面1401、播放界面1404和播放界面1406中的弹幕的呈现方式可以相同,例如正常显示。在其他一些实施例中,上述播放界面1401、播放界面1404和播放界面1406中的弹幕也可以不同,例如可以采用上述任一种弹幕显示方法进行呈现,这里对弹幕的具体呈现方式不再限定。
又例如,如图14B中(1)所示的播放界面1407、如图14B中(2)所示的播放界面1408、以及图14B中(3)所示的播放界面1409,其中各个弹幕的呈现方式根据各个弹幕的视角与第一自由视角视频的播放视角的偏移角度确定,具体的确定方法可参考前文。另外,各个播放界面中的功能控件,可参考上述图14A中(1)所示的播放界面1401,上述图14A中(2)所示的播放界面1404,上述图14A中(2)所示的播放界面1406相关内容的描述,这里不再说明。
在其他一些示例中,终端100还可以根据用户执行的视角切换操作,自动显示隐藏的可见视角范围外的弹幕。例如,如果检测到用户在如图14A中(1)所示的界面1401中执行向左切换视角的操作,那么终端100在切换视角时,也可以显示位于弹幕的可见视角范围之外,且属于左向偏移的弹幕。又例如,如果检测到用户在如图14A中(1)所示的界面1401中执行向右切换视角的操作,那么终端100在切换视角时,也可以显示位于弹幕的可见视角范围之外,且属于右向偏移的弹幕。
由此可见,由于可见视角范围内的弹幕内容通常与用户当前观看的播放视角的视频画面内容强相关,那么,当终端100仅显示可见视角范围内的弹幕内容,不显示可见视角范围外的弹幕内容,有利于用户集中精力观看当前的视频画面以及当前视频画面相关的弹幕内容,提升观看体验。当用户对可见视角范围外的弹幕内容感兴趣时,也可以通过相应的控件展开可见视角范围外的弹幕内容,满足用户多种场景下的观看需求。
如前文所述,用户可以任意切换第一自由视角视频的播放视角,在一些实施例中,第一自由视角视频切换视角的过程中,终端100保持可见视角范围外的弹幕数量不变。在第一自由视角视频视角切换后,终端100重新获取视角切换后的弹幕数据,并根据重新获取的弹幕数据确定可见视角范围内的弹幕的内容,以及可见视角范围外的弹幕数量。
例如,如图15A所示,为本申请实施例提供的一种视角切换过程中的弹幕显示方法,该方法包括:
S1501、时刻t0,终端100检测到用户开始执行视角切换操作,视角切换操作用于指示切换第一自由视角视频的视角。
需要说明的是,在步骤S1501之前,终端100可以采用上述步骤S701-步骤S704的方法,显示第一自由视角视频在任意视角下的视频画面以及相应的弹幕。在一个示例中,终100显示第一自由视角视频在视角B下播放时刻T2的视频画面,以及播放时刻T2对应的弹幕。其中,播放时刻T2对应的弹幕包括可见视角范围之内的弹幕内容,以及可见视角范围之外的弹幕数量。
S1502、时刻t0至时刻t1,终端100显示可见视角范围之外的弹幕数量保持不变。
在一些实施例中,在时刻t0-时刻t1之间,终端100保持时刻t0时终端100显示可见视角范围之外的弹幕数量。换言之,在时刻t0-时刻t1之间,终端100显示的可见视角范围之外的弹幕数量保持不变。
需要说明的是,在时刻t0-时刻t1之间,终端100显示的第一自由视角视频的视频画面可以发生变化,也可以不发生变化,本申请实施例对此不做限定。时刻t0-时刻t1之间,终端100显示的第一自由视角视频的视频画面的变化可参考前文相关内容的描述,这里不再赘述。
在时刻t0-时刻t1之间,终端100显示的可见视角范围之内的弹幕的呈现方式可以变化,也可以不变化,具体内容也请参考前文相关内容的描述,这里不再赘述。
S1503、时刻t1,终端100检测到视角切换操作执行完成。
S1504、时刻t1之后,终端100向媒体服务器请求第一自由视角视频的视角C下播放时刻T3的视频文件。
相应的,媒体服务器向终端100返回第一自由视角视频的视角C下播放时刻T3的视频文件。
其中,播放时刻T3与播放时刻T2相关,例如播放时刻T3=播放时刻T2,或者播放时刻T3=播放时刻T2-预设时间偏移值1,或者播放时刻T3=播放时刻T2+预设时间偏移值2。
S1505、时刻t1之后,终端100还向弹幕服务器请求第一自由视角视频的播放时刻T3对应的弹幕数据。
相应的,弹幕服务器向终端100返回第一自由视角视频的播放时刻T3对应的弹幕数据。
其中,播放时刻T3与播放时刻T2相关,例如播放时刻T3=播放时刻T2,或者播放时刻T3=播放时刻T2-预设时间偏移值1,或者播放时刻T3=播放时刻T2+预设时间偏移值2。
需要说明的是,本步骤为可选步骤。在其他一些实施例中,播放时刻T3=播放时刻T2,或者,播放时刻T3=播放时刻T2-预设时间偏移值1,终端100保存有播放时刻T3对应得到弹幕数据,那么终端100可以不重新向弹幕服务器请求播放时刻T3的弹幕数据。而是,随着第一自由视角视频的播放进度,向弹幕服务器请求播放时刻T3或播放时刻T2之后的弹幕数据。
还需要说明的是,步骤S1505可以在步骤S1504之后或之前或同时执行。
S1506、终端100重新计算切换视角后,可见视角范围之外的弹幕数量。
在一些实施例中,终端100还重新计算可见视角范围之内的各个弹幕的视角与视角C的偏移角度,并根据重新计算的偏移角度确定可见视角范围之内的各个弹幕的呈现方式。
S1507、终端100显示第一自由视角视频在视角C下播放时刻T3的视频画面,可见视角范围之内的弹幕,以及可见视角范围之外的弹幕数量。
本实施例的其他内容可参考上述图10A中步骤S1001至步骤S1007中的相关内容,这里不再赘述。
在另一些实施例中,在上述1502的步骤中,终端100显示的可见视角范围之外的弹幕数量也可以变化。例如,在时刻t0-时刻t1之间,终端100持续播放第一自由视角视频,那么第一自由视角视频的播放时刻持续变化,相应的,与第一自由视角视频的播放时刻对应的弹幕数量也会发生变化,那么可见视角范围之外的弹幕数量也相应变化。
举个例子,请参见图15B中(1)所示,终端100播放第一自由视角视频在60度视角(即视角B)下的视频画面1501。其中,播放界面1501中包括可见视角范围内的弹幕,如弹幕1、弹幕2和弹幕3,播放界面1501还显示有控件1502以及控件1503。其中,控件1502用于指示位于可见视角范围之外,且属于左向偏移的弹幕数量(例如2条)。控件1503用于指示位于可见视角范围之外,且属于右向偏移的弹幕数量(例如2条)。当第一自由视角视频播放到20:05时,终端100检测到用户切换视角的操作(例如操作视角标尺向右滑动),终端100持续播放第一自由视角视频,且根据用户切换视角操作的执行进度,实时切换第一自由视角视频的播放视角。例如,在用户执行切换视角操作的过程中,终端100显示如图15B中(2)所示的播放界面1504,此时第一自由视角的播放视角为65度,且播放时刻为20:15。可以理解,当播放时刻变为20:15时,此播放时刻对应的弹幕也相应变化。如播放界面1504所示,当前可见视角范围内的弹幕变为弹幕2、弹幕3和弹幕4。位于可见视角范围之外,且属于左向偏移的弹幕数量变化为3。位于可见视角范围之外,且属于右向偏移的弹幕数量变化为5。需要说明的是,此时播放界面1504中弹幕的变化是跟随第一自由视角视频的播放时刻变化而弹幕相应变化的。此时,终端100并未向弹幕服务器请求新的弹幕数据。
进一步的,当终端100检测到用户执行完视角切换操作后,终端100向弹幕服务器请求当前播放时刻对应的弹幕数据。弹幕的内容发生变化。如图15B中(3)所示的播放界面1505,此时第一自由视角视频的播放视角为70度,播放时刻为20:15,可见视角范围的弹幕变化为弹幕3至弹幕7,位于可见视角范围之外,且属于左向偏移的弹幕数量变化为12。位于可见视角范围之外,且属于右向偏移的弹幕数量变化为9。
在另外一些实施例中,用户在执行视角切换操作的过程中,可能存在暂停执行视角切换操作的状态,那么,在暂停执行视角切换操作时,终端100可以重新向弹幕服务器请求当前播放时刻对应的弹幕数据,然后根据重新获取的弹幕数据,更新可见视角范围内的弹幕内容,以及可见视角范围之外的弹幕数量。
例如,如图16所示,为本申请实施例提供的又一种视角切换过程中的弹幕显示方法的流程示意图,包括:
S1601、时刻t0,终端100检测到用户开始执行针对第一自由视角视频的视角切换操作,视角切换操作用于指示切换第一自由视角视频的视角。
在一个示例中,终端100显示第一自由视角视频在视角B下播放时刻T2的视频画面,以及第一自由视角视频播放时刻T2的弹幕数据。其中,播放时刻T2对应的弹幕包括可见视角范围之内的弹幕内容,以及可见视角范围之外的弹幕数量。
例如,终端100检测到用户的手指停留在视角标尺上超过预设时长2(例如3秒),则确定用户开始执行视角切换操作,记录当前时刻为时刻t0。
S1602、时刻t0至时刻t2,终端100保持显示的可见视角范围之外的弹幕数量不变。
在一些实施例中,在时刻t0-时刻t1之间,终端100保持时刻t0时终端100显示可见视角范围之外的弹幕数量。换言之,在时刻t0-时刻t1之间,终端100显示的可见视角范围之外的弹幕数量保持不变。在另一些实施例中,终端100显示的可见视角范围之外的弹幕数量也可以变化。例如,在时刻t0-时刻t1之间,终端100持续播放第一自由视角视频,那么第一自由视角视频的播放时刻持续变化,相应的,与第一自由视角视频的播放时刻对应的弹幕数量也会发生变化,那么可见视角范围之外的弹幕数量也相应变化。
需要说明的是,在时刻t0-时刻t1之间,终端100显示的第一自由视角视频的视频画面可以发生变化,也可以不发生变化,本申请实施例对此不做限定。在时刻t0-时刻t1之间,终端100显示的可见视角范围之内的弹幕的呈现方式也可以不变化,当然,终端100显示的可见视角范围之内的弹幕的呈现方式也可以变化,本申请实施例对此不做限定。
S1603、时刻t2,终端100检测到用户暂停执行视角切换操作。
例如,在时刻t0后,终端持续检测到用户的手指在屏幕上滑动,当终端检测到用户的手指未滑动且未离开屏幕时,确定用户暂停执行视角切换操作,记录当前时刻为时刻t2。
S1604、时刻t2之后,终端100向媒体服务器请求第一自由视角视频的视角D下播放时刻T4的视频文件。
也就是说,在检测到用户暂停执行视角切换操作后,终端100确定第一自由视角视频当前的播放视角,例如为视角D。播放时刻T4与播放时刻T2相关,例如播放时刻T4=播放时刻T2,或者播放时刻T4=播放时刻T2-预设时间偏移值1,或者播放时刻T4=播放时刻T2+预设时间偏移值2。
S1605、时刻t2之后,终端100还向弹幕服务器请求第一自由视角视频的播放时刻T4对应的弹幕数据。
S1606、终端100重新计算切换视角后,可见视角范围之外的弹幕数量。
在一些实施例中,终端100还重新计算可见视角范围之内的各个弹幕的视角与视角C的偏移角度,并根据重新计算的偏移角度确定可见视角范围之内的各个弹幕的呈现方式。
S1607、终端100显示第一自由视角视频在视角D下播放时刻T4的视频画面,终端100显示第一自由视角视频在视角C下播放时刻T3的视频画面,可见视角范围之内的弹幕,可见视角之外的弹幕数量。
S1608、时刻t1,终端100检测到视角切换操作执行完成。
例如,在时刻t2后,终端持续检测到用户的手指继续在屏幕上滑动,当终端检测到用户的手指离开屏幕时,确定用户执行视角切换操作完成,记录当前时刻为时刻t1。
S1609、时刻t1之后,终端100向媒体服务器请求第一自由视角视频的视角C下播放时刻T3的视频文件。
S1610、时刻t1之后,终端100还向弹幕服务器请求第一自由视角视频的播放时刻T3对应的弹幕数据。
一些示例中,播放时刻T3与播放时刻T4相关。例如,播放时刻T3=播放时刻T4,或者播放时刻T3=播放时刻T4-预设时间偏移值1,或者播放时刻T3=播放时刻T4+预设时间偏移值2。
S1611、终端100重新计算切换视角后,可见视角之外的弹幕数量。
S1612、终端100显示第一自由视角视频在视角C下播放时刻T3的视频画面,终端100显示第一自由视角视频在视角C下播放时刻T3的视频画面,可见视角范围之内的弹幕,可见视角之外的弹幕数量。
上述步骤S1601-步骤S1612的其他内容可参考上述图10A所述的步骤S1001-步骤S1007中相关内容,以及上述图15A中所述的步骤S1501-步骤S1507中相关内容,这里不再赘述。
需要说明的是,图16所述的实施例是以视角切换操作暂停一次为例进行说明的,可以理解的,本申请实施例提供的技术方案也适用于视角切换操作暂停大于一次的情况。
如图17所示,为本申请实施例提供的又一种自由视角视频的弹幕显示方法的流程示意图,该流程包括:
S1701、终端显示第一自由视角视频的第一播放时刻的第一界面。
其中,第一界面包括所述第一自由视角视频在第一视角下的视频画面,以及第一弹幕。
示例性的,第一播放时刻与第一弹幕的出现时刻相关。例如第一播放时刻为第一弹幕的出现时刻。或者,第一播放时刻为第一弹幕出现时刻之后且在第一弹幕持续显示的时长之内。
其中,第一弹幕对应的第三视角与第一视角的视角偏移位于第一预设角度范围内。其中,第一预设角度范围为预先设置的可见视角范围。
S1702、终端接收第一操作,所述第一操作为将所述第一自由视角视频的播放视角从所述第一视角切换为第二视角的操作。
S1703、响应于接收到第一操作,终端显示第一自由视角视频的第一播放时刻的第二界面。
其中,第二界面包括所述第一自由视角视频在第二视角下的视频画面,所述第二界面不包括所述第一弹幕。
其中,第一弹幕对应的第三视角与第二视角的视角偏移位于第一预设角度范围之外。换言之,第一弹幕对应的第三视角与第二视角的视角偏移不位于预设设置的可见视角范围之内。可以理解的,第一弹幕对应的第三视角与第一视角的偏移角度,小于第一弹幕对应的第三视角与第二视角的偏移角度。
在一示例中,在切换视角的过程中,终端自动暂停播放第一自由视角视频。那么,在用户执行第一操作之前,终端播放第一自由视角在第一视角下的视频画面。在第一播放时刻,检测到用户执行第一操作,终端自动暂停播放第一自由视角视频。在执行完第一操作后,第一自由视角视频的播放视角从第一视角切换为第二视角后,第一自由视角视频从第一播放时刻开始播放。
在另一示例中,在切换视角的过程中,终端持续播放第一自由视角视频。那么,在执行第一操作之前,用户可以先手动暂停播放第一自由视角视频,此时第一自由视角视频停留在第一播放时刻。而后,用户执行第一操作,终端将第一自由视角视频的播放视角从第一视角切换为第二视角后,第一自由视角视频的视频画面仍停留在第一播放时刻。
或者,在执行第一操作后,终端将第一自由视角视频的播放视角从第一视角切换为第二视角后,此时开始从第一播放时刻之后的播放时刻开始播放,用户也可以手动拖动播放进度条,将播放时刻调回第一播放时刻。
可选的,第二界面包括第二弹幕,所述第二弹幕对应的视角与所述第二视角的偏移角度位于所述第一预设角度范围内。可以理解的,第二弹幕的播放时刻与第一播放时刻相关。
在其他一些实施例中,终端显示的第一界面还包括第一控件,其中,第一控件和第一弹幕数量相关联,所述第一弹幕数量为弹幕的视角与终端的播放视角的偏移角度位于第二预设角度范围内的弹幕数量;所述第二预设角度范围与所述第一预设角度范围不重合。当终端接收到针对第一控件的第三操作时,终端显示第三界面,第三界面中包括所述第一弹幕。也就是说,用户可以通过第一控件展开终端隐藏的弹幕。
本申请实施例还提供一种装置,该装置包含在终端中,该装置具有实现上述实施例中任一方法中终端行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括至少一个与上述功能相对应的模块或单元。例如,检测模块或单元、显示模块或单元、确定模块或单元、以及计算模块或单元等。
本申请实施例还提供一种计算机存储介质,包括计算机指令,当计算机指令在终端上运行时,使得终端执行如上述实施例中任一方法。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述实施例中任一方法。
本申请实施例还提供一种终端上的图形用户界面,所述终端具有显示屏、摄像头、存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述图形用户界面包括所述终端执行如上述实施例中任一方法时显示的图形用户界面。
可以理解的是,上述终端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
本申请实施例可以根据上述方法示例对上述终端等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种自由视角视频的弹幕的显示方法,其特征在于,应用于终端,所述方法包括:
所述终端显示第一自由视角视频的第一播放时刻的第一界面,所述第一界面包括所述第一自由视角视频在第一视角下的视频画面,以及第一弹幕;
所述终端接收第一操作,所述第一操作为将所述第一自由视角视频的播放视角从所述第一视角切换为第二视角的操作;
响应于接收到所述第一操作,所述终端显示所述第一自由视角视频的所述第一播放时刻的第二界面,所述第二界面包括所述第一自由视角视频在所述第二视角下的视频画面,所述第二界面不包括所述第一弹幕。
2.根据权利要求1所述的方法,其特征在于,所述第一弹幕对应的第三视角与所述第一视角的偏移角度,小于所述第一弹幕对应的所述第三视角与所述第二视角的偏移角度。
3.根据权利要求1或2所述的方法,其特征在于,在所述终端接收第一操作之前,所述方法还包括:
所述终端接收到暂停播放所述第一自由视角视频的第二操作。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一弹幕对应的所述第三视角和所述第一视角的偏移角度位于第一预设角度范围内,所述第一弹幕对应的所述第三视角和所述第二视角的偏移角度位于所述第一预设角度范围之外。
5.根据权利要求4所述的方法,其特征在于,所述第二界面包括第二弹幕,所述第二弹幕对应的视角与所述第二视角的偏移角度位于所述第一预设角度范围内。
6.根据权利要求4或5所述的方法,其特征在于,所述第一弹幕的发送时刻与所述第一播放时刻相关,所述第二弹幕的发送时刻与所述第一播放时刻相关。
7.根据权利要求4-6任一项所述的方法,其特征在于,
所述终端显示的所述第一界面还包括第一控件,其中,所述第一控件和第一弹幕数量相关联,所述第一弹幕数量为弹幕的视角与所述终端的播放视角的偏移角度位于第二预设角度范围内的弹幕数量;所述第二预设角度范围与所述第一预设角度范围不重合。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述终端接收到针对所述第一控件的第三操作;
响应于接收到所述第三操作,所述终端显示第三界面,所述第三界面中包括所述第一弹幕。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述响应于接收到所述第一操作,所述终端显示所述第一自由视角视频的所述第一播放时刻的第二界面之后,所述方法还包括:
所述终端接收第四操作,所述第四操作为发送第三弹幕的操作;
响应于接收到所述第四操作,所述终端向弹幕服务器发送所述第三弹幕的数据,所述第三弹幕的数据包括第四视角。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述第一界面还包括第四弹幕,所述第四弹幕对应所述第一视角。
11.根据权利要求10所述的方法,其特征在于,在所述第一界面中,所述第一弹幕的第一样式,与所述第四弹幕的第二样式不同。
12.根据权利要求11所述的方法,其特征在于,在所述终端显示第一自由视角视频的第一播放时刻的第一界面之前,所述方法包括:
所述终端根据所述第一弹幕对应的所述第三视角与所述第一视角的第一偏移角度,确定在所述第一界面中采用所述第一样式呈现所述第一弹幕。
13.根据权利要求12所述的方法,其特征在于,
当所述第一偏移角度为正值时,所述第一样式具体为弹幕的文字方向为第一方向顺时针旋转第一角度的方向,其中所述第一方向为平行于所述第一方向平行于所述终端的屏幕的第一边框;当所述第一偏移角度为负值时,所述第一样式具体为弹幕的文字方向为所述第一方向逆时针旋转第一角度的方向。
14.根据权利要求1-13任一项所述的方法,其特征在于,所述方法还包括:
所述终端接收视角切换的第五操作;
在所述第五操作的过程中,所述终端显示第五界面,所述第五界面和所述第一界面相同;
在所述第五操作的过程后,所述终端显示所述第一自由视角视频的第二播放时刻的所述第六界面。
15.根据权利要求1-13任一项所述的方法,其特征在于,所述方法还包括:
所述终端接收视角切换的第六操作;
在所述第六操作的过程中,所述终端显示第七界面,所述第七界面包括所述第一自由视角视频在第三播放时刻的视频画面;
在所述第六操作的过程后,所述终端显示所述第一自由视角视频的所述第二播放时刻的所述第八界面;
其中,所述第三播放时刻在所述第一播放时刻之后,且在所述第二播放时刻之前。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:所述第七界面还包括第五弹幕,并且所述第一界面不包括所述第五弹幕。
17.根据权利要求15所述的方法,其特征在于,所述方法还包括:所述第七界面还包括所述第一弹幕,所述第一弹幕在所述第七界面中的显示样式和所述第一弹幕在所述第一界面中的显示样式不同。
18.根据权利要求15所述的方法,其特征在于,
所述第七界面还包括第六弹幕,所述第六弹幕的出现时刻在所述第一播放时刻之后。
19.一种终端,其特征在于,包括:处理器、存储器和触摸屏,所述存储器、所述触摸屏与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器从所述存储器中读取所述计算机指令,以使得所述终端执行如权利要求1-18中任一项所述的自由视角视频的弹幕的显示方法。
20.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行如权利要求1-18中任一项所述的自由视角视频的弹幕的显示方法。
CN202111510462.4A 2021-12-10 2021-12-10 自由视角视频的弹幕的显示方法、装置及系统 Pending CN116260986A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111510462.4A CN116260986A (zh) 2021-12-10 2021-12-10 自由视角视频的弹幕的显示方法、装置及系统
PCT/CN2022/135110 WO2023103843A1 (zh) 2021-12-10 2022-11-29 自由视角视频的弹幕的显示方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111510462.4A CN116260986A (zh) 2021-12-10 2021-12-10 自由视角视频的弹幕的显示方法、装置及系统

Publications (1)

Publication Number Publication Date
CN116260986A true CN116260986A (zh) 2023-06-13

Family

ID=86681412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111510462.4A Pending CN116260986A (zh) 2021-12-10 2021-12-10 自由视角视频的弹幕的显示方法、装置及系统

Country Status (2)

Country Link
CN (1) CN116260986A (zh)
WO (1) WO2023103843A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105916001A (zh) * 2016-05-12 2016-08-31 乐视控股(北京)有限公司 弹幕显示方法和装置
CN106454387B (zh) * 2016-10-31 2020-02-07 北京小米移动软件有限公司 全景视频弹幕显示方法及装置
CN106878786B (zh) * 2017-03-07 2020-03-03 北京小米移动软件有限公司 Vr视频中弹幕的显示方法和装置
CN109246463B (zh) * 2017-06-02 2020-06-26 腾讯科技(深圳)有限公司 用于显示弹幕的方法和装置
CN108924534B (zh) * 2017-06-21 2020-03-17 腾讯科技(深圳)有限公司 全景图像的展示方法、客户端、服务器及存储介质
CN108260020B (zh) * 2018-01-24 2021-07-06 阿里巴巴(中国)有限公司 在全景视频中显示互动信息的方法和装置
CN111355967A (zh) * 2020-03-11 2020-06-30 叠境数字科技(上海)有限公司 基于自由视点的视频直播处理方法、系统、装置及介质

Also Published As

Publication number Publication date
WO2023103843A1 (zh) 2023-06-15

Similar Documents

Publication Publication Date Title
US8867886B2 (en) Surround video playback
US10277890B2 (en) System and method for capturing and viewing panoramic images having motion parallax depth perception without image stitching
US20150222815A1 (en) Aligning videos representing different viewpoints
KR20170023885A (ko) 음성 또는 영상 통화 중 컨텍스트 정보 합성 및 전송 기법
US20130129304A1 (en) Variable 3-d surround video playback with virtual panning and smooth transition
US20130040700A1 (en) Image capture device and image capture method
WO2016004258A1 (en) Automatic generation of video and directional audio from spherical content
CN108769726B (zh) 多媒体数据推送方法、装置、存储介质及设备
KR20170013877A (ko) 동적 배향 잠금, 일정한 프레이밍 및 규정된 종횡비를 갖는 사진 비디오 카메라
WO2019140621A1 (zh) 视频处理方法及终端设备
CN110958465A (zh) 视频流推送方法、装置及存储介质
CN105306859A (zh) 信息处理装置和信息处理方法
JP7248437B2 (ja) プログラム、電子機器およびデータ記録方法
CN113490010B (zh) 基于直播视频的互动方法、装置、设备及存储介质
WO2023169297A1 (zh) 动画特效生成方法、装置、设备及介质
JP6816465B2 (ja) 画像表示システム、通信システム、画像表示方法、及びプログラム
JP5596844B2 (ja) 画像処理装置、画像処理システム及び画像処理方法
WO2020059327A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2018033107A (ja) 動画の配信装置及び配信方法
CN113141541B (zh) 码率切换方法、装置、设备及存储介质
CN116260986A (zh) 自由视角视频的弹幕的显示方法、装置及系统
CN111698262B (zh) 带宽确定方法、装置、终端及存储介质
US11659279B2 (en) Systems and methods for stabilizing videos
CN114554112A (zh) 视频录制方法、装置、终端及存储介质
CN112887663A (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