CN110856005B - 直播流显示方法、装置、电子设备及可读存储介质 - Google Patents
直播流显示方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN110856005B CN110856005B CN201911080033.0A CN201911080033A CN110856005B CN 110856005 B CN110856005 B CN 110856005B CN 201911080033 A CN201911080033 A CN 201911080033A CN 110856005 B CN110856005 B CN 110856005B
- Authority
- CN
- China
- Prior art keywords
- target model
- model object
- live
- live stream
- display
- 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
Links
- 238000000034 method Methods 0.000 title claims description 66
- 230000003190 augmentative effect Effects 0.000 claims abstract description 19
- 238000009877 rendering Methods 0.000 claims description 42
- 210000000988 bone and bone Anatomy 0.000 claims description 16
- 230000008676 import Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 2
- 230000014759 maintenance of location Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供一种直播流显示方法、装置、电子设备及可读存储介质,当检测到增强现实AR显示指令时,进入AR识别平面并在AR识别平面中生成对应的目标模型对象,然后将接收到的直播流渲染到目标模型对象上,以使直播流在目标模型对象上进行显示。如此,能够实现互联网直播流在AR真实场景中的应用,观众可以在真实场景中渲染的目标模型对象上观看互联网直播流,提高直播可玩性,进而有效提高用户的留存率。
Description
技术领域
本申请涉及互联网直播技术领域,具体而言,涉及一种直播流显示方法、装置、电子设备及可读存储介质。
背景技术
增强现实(Augmented Reality,AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。增强现实技术不仅展现了真实世界的信息,而且将虚拟的信息同时显示出来,两种信息相互补充、叠加,从而把真实世界与电脑图形多重合成在一起,便可以看到真实的世界与之围绕。
虽然AR技术的应用已非常广泛,但是其在互联网直播中的应用较少,缺少互联网直播在AR真实场景中的应用,导致直播可玩性不高,难以有效提高用户的留存率。
发明内容
有鉴于此,本申请的目的在于提供一种直播流显示方法、装置、电子设备及可读存储介质,能够实现互联网直播流在AR真实场景中的应用,提高直播可玩性,进而有效提高用户的留存率。
根据本申请的一方面,提供一种直播流显示方法,应用于直播观看终端,所述方法包括:
当检测到增强现实AR显示指令时,进入AR识别平面并在所述AR识别平面中生成对应的目标模型对象;
将接收到的直播流渲染到所述目标模型对象上,以使所述直播流在所述目标模型对象上进行显示。
在一种可能的实施方式中,所述当检测到增强现实AR显示指令时,进入AR识别平面并在所述AR识别平面中生成对应的目标模型对象的步骤,包括:
当检测到增强现实AR显示指令时,根据所述AR显示指令确定待生成的目标模型对象;
加载所述目标模型对象的模型文件以得到所述目标模型对象;
进入AR识别平面,并判断所述AR识别平面的跟踪状态;
当所述AR识别平面的跟踪状态为在线跟踪状态时,在所述AR识别平面中生成对应的目标模型对象。
在一种可能的实施方式中,所述加载所述目标模型对象的模型文件以得到所述目标模型对象的步骤,包括:
使用预设模型导入插件导入所述目标模型对象的三维模型,得到所述目标模型对象对应的sfb格式文件;
通过预设渲染模型加载所述sfb格式文件,得到所述目标模型对象。
在一种可能的实施方式中,所述在所述AR识别平面中生成对应的目标模型对象的步骤,包括:
在所述AR识别平面的预设点上创建描点,以通过描点将所述目标模型对象固定在所述预设点上;
在所述描点的位置创建对应的展示节点,并创建继承于所述展示节点的第一子节点,以通过所述第一子节点在所述AR识别平面中对所述目标模型对象进行调整和展示;
创建继承于所述第一子节点的第二子节点,以在检测到骨骼调整节点的添加请求时将所述骨骼调整节点与所述第二子节点进行替换,其中,所述骨骼调整节点用于对所述目标模型对象的骨骼点进行调整。在一种可能的实施方式中,通过所述第一子节点在所述AR识别平面中展示所述目标模型对象的步骤,包括:
调用所述第一子节点的绑定设置方法将所述目标模型对象绑定到所述第一子节点上,以完成所述目标模型对象在所述AR识别平面中的显示。
在一种可能的实施方式中,所述通过所述第一子节点对所述目标模型对象进行调整包括以下调整方式中的一种或者多种组合:
对所述目标模型对象进行缩放;
对所述目标模型对象进行平移;
对所述目标模型对象进行旋转。
在一种可能的实施方式中,所述将接收到的直播流渲染到所述目标模型对象上,以使所述直播流在所述目标模型对象上进行显示的步骤,包括:
调用软件开发工具包SDK从直播服务器中拉取直播流,并创建所述直播流的外部纹理;
将所述直播流的纹理传递给所述SDK的解码器进行渲染;
在接收到所述SDK的解码器的渲染开始状态后,调用外部纹理设置方法将所述直播流的外部纹理渲染到所述目标模型对象上,以使所述直播流在所述目标模型对象上进行显示。
在一种可能的实施方式中,所述调用外部纹理设置方法将所述直播流的外部纹理渲染到所述目标模型对象上的步骤,包括:
遍历所述目标模型对象中每个区域,确定所述目标模型对象中可供渲染直播流的至少一个模型渲染区域;
调用外部纹理设置方法将所述直播流的外部纹理渲染到所述至少一个模型渲染区域上。
根据本申请的另一方面,提供一种直播流显示装置,应用于直播观看终端,所述装置包括:
生成模块,用于当检测到增强现实AR显示指令时,进入AR识别平面并在所述AR识别平面中生成对应的目标模型对象;
显示模块,用于将接收到的直播流渲染到所述目标模型对象上,以使所述直播流在所述目标模型对象上进行显示。
根据本申请的另一方面,提供一种电子设备,所述电子设备包括机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时,该电子设备实现前述的直播流显示方法。
根据本申请的另一方面,提供一种可读存储介质,所述可读存储介质中存储有机器可执行指令,所述机器可执行指令被执行时实现前述的直播流显示方法。
基于上述任一方面,本申请在检测到增强现实AR显示指令时,进入AR识别平面并在AR识别平面中生成对应的目标模型对象,然后将接收到的直播流渲染到目标模型对象上,以使直播流在目标模型对象上进行显示。如此,能够实现互联网直播流在AR真实场景中的应用,观众可以在真实场景中渲染的目标模型对象上观看互联网直播流,提高直播可玩性,进而有效提高用户的留存率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的直播系统的交互场景示意图;
图2示出了本申请实施例所提供的直播流显示方法的流程示意图;
图3示出了图2中所示的步骤S110的子步骤流程示意图;
图4示出了图2中所示的步骤S120的子步骤流程示意图;
图5示出了本申请实施例所提供的直播流未显示在目标模型对象的示意图;
图6示出了本申请实施例所提供的直播流显示在目标模型对象的示意图;
图7示出了本申请实施例所提供的直播流显示装置的功能模块示意图;
图8示出了本申请实施例所提供的用于实现上述的直播流显示方法的电子设备的结构示意框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其它操作,也可以从流程图中移除一个或多个操作。
参照图1所示,图1示出了本申请实施例提供的直播系统10的交互场景示意图。例如,直播系统10可以是用于诸如互联网直播之类的服务平台。直播系统10可以包括直播服务器100、直播观看终端200以及直播提供终端300,直播服务器100分别与直播观看终端200和直播提供终端300通信连接,用于为直播观看终端200和直播提供终端300提供直播服务。例如,主播可以通过直播提供终端300为观众提供实时在线的直播流并传输给直播服务器100,直播观看终端200可以从直播服务器100拉取直播流进行在线观看或者回放。
在一些实施场景中,直播观看终端200和直播提供终端300可以互换使用。例如,直播提供终端300的主播可以使用直播提供终端300来为观众提供直播视频服务,或者作为观众查看其它主播提供的直播视频。又例如,直播观看终端200的观众也可以使用直播观看终端200观看所关注的主播提供的直播视频,或者作为主播为其它观众提供直播视频服务。
本实施例中,直播观看终端200和直播提供终端300可以包括但不限于移动设备、平板计算机、膝上型计算机,或其任意两种以上组合。在一些实施例中,移动设备可以包括但不限于智能家居设备、可穿戴设备、智能移动设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括但不限于智能照明设备、智能电器设备的控制设备、智能监控设备、智能电视、智能摄像机、或对讲机等,或其任意组合。在一些实施例中,可穿戴设备可包括但不限于智能手环、智能鞋带、智能玻璃、智能头盔、智能手表、智能服装、智能背包、智能配件等、或其任何组合。在一些实施例中,智能移动设备可以包括但不限于智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏设备、导航设备、或销售点(point of sale,POS)设备等,或其任意组合。在具体实施过程中,可能有零个、一个或多个直播观看终端200和直播提供终端300接入直播服务器100,图1中仅示出一个。其中,直播观看终端200和直播提供终端300中可以安装用于提供互联网直播服务的互联网产品,例如,互联网产品可以是计算机或智能手机中使用的与互联网直播服务相关的应用程序APP、Web网页、小程序等。
本实施例中,直播服务器100可以是单个物理服务器,也可以是一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的(例如,直播服务器100可以是分布式系统)。在一些可能的实施方式中,如直播服务器100采用单个物理服务器,可以基于不同直播服务功能为该物理服务器分配不同的逻辑服务器组件。
可以理解,图1所示的直播系统10仅为一种可行的示例,在其它可行的实施例中,该直播系统10也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
为了能够实现互联网直播流在AR真实场景中的应用,提高直播可玩性,进而有效提高用户的留存率,图2示出了本申请实施例提供的直播流显示方法的流程示意图,本实施例中,该直播流显示方法可以由图1中所示的直播观看终端200执行,或者,当直播提供终端300的主播作为观众时,该直播流显示方法也可以由图1中所示的直播提供终端300执行。
应当理解,在其它实施例中,本实施例的直播流显示方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该直播流显示方法的详细步骤介绍如下。
步骤S110,当检测到增强现实AR显示指令时,进入AR识别平面并在AR识别平面中生成对应的目标模型对象。
步骤S120,将接收到的直播流渲染到目标模型对象上,以使直播流在目标模型对象上进行显示。
本实施例中,针对步骤S110,当直播观看终端200的观众登录需要观看的直播间时,可以选择将该直播间以AR方式进行显示,或者直播观看终端200也可以在进入直播间时自动以AR方式进行显示,从而可以触发AR显示指令。当直播观看终端200检测到增强现实AR显示指令时,可以开启摄像头已进入AR识别平面,接着在AR识别平面中生成对应的目标模型对象。
当该目标模型对象在AR识别平面中展示时,直播观看终端200可以将接收到的直播流渲染到目标模型对象上,以使直播流在目标模型对象上进行显示。如此,能够实现互联网直播流在AR真实场景中的应用,观众可以在真实场景中渲染的目标模型对象上观看互联网直播流,提高直播可玩性,进而有效提高用户的留存率。
在一种可能的实施方式中,针对步骤S110,在进入AR识别平面之后的过程中,为了提高AR显示的稳定性,避免AR识别平面存在异常导致目标模型对象显示出错的情况,请进一步参阅图3,步骤S110可以通过如下子步骤实现:
子步骤S111,当检测到增强现实AR显示指令时,根据AR显示指令确定待生成的目标模型对象。
子步骤S112,加载目标模型对象的模型文件以得到目标模型对象。
子步骤S113,进入AR识别平面,并判断AR识别平面的跟踪状态。
子步骤S114,当AR识别平面的跟踪状态为在线跟踪状态时,在AR识别平面中生成对应的目标模型对象。
本实施例中,在进入AR识别平面之后,可以判断AR识别平面的跟踪状态。例如,当进入AR识别平面之,可以注册addOnUpdateListener监听,然后在监听方法中通过arFragment.getArSceneView().getSession().getAllTrackables(Plane.class)得到当前识别的AR识别平面,如果AR识别平面的跟踪状态为在线跟踪状态TrackingState.TRACKING时,表示该AR识别平面正常展示,则可以在AR识别平面中生成对应的目标模型对象。
如此,通过在进入AR识别平面对AR识别平面的跟踪状态进行识别,再执行下一步操作,可以提高AR显示的稳定性,避免AR识别平面存在异常导致目标模型对象显示出错的情况。
针对子步骤S111,该目标模型对象可以是在指用于显示在AR识别平面中的三维AR模型,该目标模型对象可以由观众预先进行选择,也可以由直播观看终端200默认进行选择,或者根据开启摄像头所捕获的实时场景动态选择适合的三维AR模型,本实施例对此不作任何限制。由此,直播观看终端200可以从AR显示指令中确定待生成的目标模型对象。例如,目标模型对象可以是带有显示屏幕的电视机、笔记本电脑、拼接屏、投影幕等,本实施例对此不作具体限制。
针对子步骤S112,在一种可能的实施方式中,通常模型对象都不是以标准格式的文件来进行存储的,而是以AR的软件开发工具包程序所指定的格式来进行存储的,为了便于模型对象的加载和格式转换,本实施例可以使用预设模型导入插件导入目标模型对象的三维模型,得到目标模型对象对应的sfb格式文件,然后通过预设渲染模型加载sfb格式文件,得到目标模型对象。例如,以AR的软件开发工具包程序为ARCore为例,可以使用google-sceneform-tools插件导入目标模型对象的FBX 3D模型,得到目标模型对象对应的sfb格式文件,然后通过ModelRenderable模型加载sfb格式文件,得到目标模型对象。
针对子步骤S113,在一种可能的实施方式中,在AR识别平面中生成对应的目标模型对象的过程中,为了保证目标模型对象后续在AR识别平面中不随摄像头的移动发生变化,并且便于目标模型对象可以随着用户操作进行调整,以下结合一种可能的示例对目标模型对象的生成过程进行示例性说明。
首先,可以在AR识别平面的预设点上创建描点Anchor,以通过描点Anchor将目标模型对象固定在预设点上。
接着,在描点Anchor的位置创建对应的展示节点AnchorNode,并创建继承于展示节点AnchorNode的第一子节点TransformableNode,以通过第一子节点TransformableNode对目标模型对象进行调整和展示。例如,通过第一子节点TransformableNode对目标模型对象进行调整包括以下调整方式中的一种或者多种组合:
1)对目标模型对象进行缩放,例如可以对目标模型对象的整体进行放大缩小的调整,或者也可以对目标模型对象的部分进行放大缩小的调整。
2)对目标模型对象进行平移,例如,可以将目标模型对象沿各个方向(左右上下斜方)移动预设的距离。
3)对目标模型对象进行旋转。例如,可以将目标模型对象沿顺时针或者逆时针方向旋转。
又例如,可以调用第一子节点TransformableNode的绑定设置方法将目标模型对象绑定到第一子节点TransformableNode上,以完成目标模型对象在AR识别平面中的显示。
接着,再创建继承于第一子节点TransformableNode的第二子节点Node,以在检测到骨骼调整节点SkeletonNode的添加请求时将骨骼调整节点SkeletonNode与第二子节点Node进行替换,其中,目标模型对象通常可以具有多个骨骼点,骨骼调整节点SkeletonNode可用于对目标模型对象的骨骼点进行调整。
由此,可以在AR识别平面中生成对应的目标模型对象的过程中,通过描点将目标模型对象固定在预设点上,保证目标模型对象后续在AR识别平面中不随摄像头的移动发生变化,并且通过第一子节点对目标模型对象进行调整和展示,可以便于目标模型对象可以随着用户操作进行调整并实时展示,并且考虑到可能会添加骨骼调整节点来对目标模型对象进行骨骼调整,所以可以预留一个继承于第一子节点的第二子节点,这样便于后续在添加骨骼调整节点时可以将骨骼调整节点来替代第二子节点。
在上述描述的基础上,在一种可能的实施方式中,针对步骤S120,为了提高直播流渲染到目标模型对象后的真实场景体验,下面结合图4给出一种可能的示例对步骤S120进行详细说明。请参阅图4,步骤S120可以通过如下子步骤实现:
子步骤S121,调用软件开发工具包SDK从直播服务器100中拉取直播流,并创建直播流的外部纹理。
子步骤S122,将直播流的纹理传递给SDK的解码器进行渲染。
子步骤S123,在接收到SDK的解码器的渲染开始状态后,调用外部纹理设置方法将直播流的外部纹理渲染到目标模型对象上,以使直播流在目标模型对象上进行显示。
本实施例中,以直播观看终端200运行安卓系统为例,软件开发工具包可以是hySDK,也即可以通过hySDK从直播服务器100中拉取直播流,并创建直播流的外部纹理ExternalTexture后,将ExternalTexture传递给hySDK的解码器进行渲染。在此过程中,hySDK的解码器可以针对ExternalTexture进行3D渲染,此时进入渲染开始状态,这是既可以调用外部纹理设置方法setExternalTexture将ExternalTexture渲染到目标模型对象上,以使直播流在目标模型对象上进行显示。
例如,通常目标模型对象上可以有多个区域,有些区域可能仅仅用于模型展示,有些区域可能用于显示相关的视频流或者其它信息。基于此,可以遍历目标模型对象中每个区域,确定目标模型对象中可供渲染直播流的至少一个模型渲染区域,然后调用外部纹理设置方法将直播流的外部纹理渲染到至少一个模型渲染区域上。可选地,观众可以通过直播观看终端200确定每个模型渲染区域中可以显示的内容,例如如果目标模型对象包括模型渲染区域A和模型渲染区域B,那么可以选择模型渲染区域A用于显示直播流,模型渲染区域B用于显示自己配置的特定图片信息或者特定视频信息等。
为了便于对本申请实施例的场景进行详细展示,下面结合图5和图6对目标模型对象进行展示,并分别提供直播流未显示在目标模型对象以及直播流显示在目标模型对象的示意图进行简要说明。
请参阅图5,展示了一种直播观看终端200开启摄像头进入的示例性AR识别平面的界面示意图,图5中所展示的目标模型对象可以适应性地设置真实场景中的某个位置处,例如中间位置处,此时目标模型对象上还未显示相关的直播流,仅向观众展示一个模型渲染区域。
请参阅图6,同样展示了一种直播观看终端200开启摄像头进入的示例性AR识别平面的界面示意图,当直播观看终端200接收到直播流后,可以按照前述的实施例将直播流渲染到前述图5中的目标模型对象上进行展示,此时可以看到直播流已经渲染到图5中所示的模型渲染区域中。
由此,对于观众来说,可以在真实场景中渲染的目标模型对象上观看互联网直播流,提高直播可玩性,进而有效提高用户的留存率。
基于同一发明构思,请参阅图7,示出了本申请实施例提供的直播流显示装置410的功能模块示意图,本实施例可以根据上述方法实施例对直播流显示装置410进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图7示出的直播流显示装置410只是一种装置示意图。其中,直播流显示装置410可以包括生成模块411以及显示模块412,下面分别对该直播流显示装置410的各个功能模块的功能进行详细阐述。
生成模块411,用于当检测到增强现实AR显示指令时,进入AR识别平面并在AR识别平面中生成对应的目标模型对象。可以理解,该生成模块411可以用于执行上述步骤S110,关于该生成模块411的详细实现方式可以参照上述对步骤S110有关的内容。
显示模块412,用于将接收到的直播流渲染到目标模型对象上,以使直播流在目标模型对象上进行显示。可以理解,该显示模块412可以用于执行上述步骤S120,关于该显示模块412的详细实现方式可以参照上述对步骤S120有关的内容。
在一种可能的实施方式中,生成模块411可以通过以下方式进入AR识别平面并在AR识别平面中生成对应的目标模型对象:
当检测到增强现实AR显示指令时,根据AR显示指令确定待生成的目标模型对象;
加载目标模型对象的模型文件以得到目标模型对象;
进入AR识别平面,并判断AR识别平面的跟踪状态;
当AR识别平面的跟踪状态为在线跟踪状态时,在AR识别平面中生成对应的目标模型对象。
在一种可能的实施方式中,生成模块411可以通过以下方式加载目标模型对象的模型文件以得到目标模型对象:
使用预设模型导入插件导入目标模型对象的三维模型,得到目标模型对象对应的sfb格式文件;
通过预设渲染模型加载sfb格式文件,得到目标模型对象。
在一种可能的实施方式中,生成模块411可以通过以下方式在AR识别平面中生成对应的目标模型对象:
在AR识别平面的预设点上创建描点,以通过描点将目标模型对象固定在预设点上;
在描点的位置创建对应的展示节点,并创建继承于展示节点的第一子节点,以通过第一子节点对目标模型对象进行调整和展示;
创建继承于第一子节点的第二子节点,以在检测到骨骼调整节点的添加请求时将骨骼调整节点与第二子节点进行替换,其中,骨骼调整节点用于对目标模型对象的骨骼点进行调整。
在一种可能的实施方式中,生成模块411可以通过以下方式通过第一子节点在AR识别平面中展示目标模型对象:
调用第一子节点的绑定设置方法将目标模型对象绑定到第一子节点上,以完成目标模型对象在AR识别平面中的显示。
在一种可能的实施方式中,通过第一子节点对目标模型对象进行调整可以包括以下调整方式中的一种或者多种组合:
对目标模型对象进行缩放;
对目标模型对象进行平移;
对目标模型对象进行旋转。
在一种可能的实施方式中,显示模块412可以通过以下方式将接收到的直播流渲染到目标模型对象上,以使直播流在目标模型对象上进行显示:
调用软件开发工具包SDK从直播服务器100中拉取直播流,并创建直播流的外部纹理;
将直播流的纹理传递给SDK的解码器进行渲染;
在接收到SDK的解码器的渲染开始状态后,调用外部纹理设置方法将直播流的外部纹理渲染到目标模型对象上,以使直播流在目标模型对象上进行显示。
在一种可能的实施方式中,显示模块412可以通过以下方调用外部纹理设置方法将直播流的外部纹理渲染到目标模型对象上:
遍历目标模型对象中每个区域,确定目标模型对象中可供渲染直播流的至少一个模型渲染区域;
调用外部纹理设置方法将直播流的外部纹理渲染到至少一个模型渲染区域上。
基于同一发明构思,请参阅图8,示出了本申请实施例提供的用于执行上述直播流显示方法的电子设备400的结构示意框图,电子设备400可以是图1中所示的直播观看终端200,或者,当直播提供终端300的主播作为观众时,电子设备400也可以是图1中所示的直播提供终端300。如图8所示,该电子设备400可以包括直播流显示装置410、机器可读存储介质420和处理器430。
本实施例中,机器可读存储介质420与处理器430均位于电子设备400中且二者分离设置。然而,应当理解的是,机器可读存储介质420也可以是独立于电子设备400之外,且可以由处理器430通过总线接口来访问。可替换地,机器可读存储介质420也可以集成到处理器430中,例如,可以是高速缓存和/或通用寄存器。
处理器430是该电子设备400的控制中心,利用各种接口和线路连接整个电子设备400的各个部分,通过运行或执行存储在机器可读存储介质420内的软件程序和/或模块,以及调用存储在机器可读存储介质420内的数据,执行该电子设备400的各种功能和处理数据,从而对电子设备400进行整体监控。可选地,处理器430可包括一个或多个处理核心;例如,处理器430可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
其中,处理器430可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器430中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器430可以是通用处理器、数字信号处理器(DigitalSignalProcessorDSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。
机器可读存储介质420可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmabler-Only MEMory,EEPROM)、只读光盘(Compactdisc Read-Only MEMory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。机器可读存储介质420可以是独立存在,通过通信总线与处理器430相连接。机器可读存储介质420也可以和处理器集成在一起。其中,机器可读存储介质420用于存储执行本申请方案的机器可执行指令。处理器430用于执行机器可读存储介质420中存储的机器可执行指令,以实现前述方法实施例提供的直播流显示方法。
直播流显示装置410可以包括例如图7所述的各个功能模块(例如生成模块411以及显示模块412),并可以以软件程序代码的形式存储在机器可读存储介质420中,处理器430可以通过执行直播流显示装置410的各个功能模块,以实现前述方法实施例提供的直播流显示方法。
由于本申请实施例提供的电子设备400是上述电子设备400执行的方法实施例的另一种实现形式,且电子设备400可用于执行上述方法实施例提供的直播流显示方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
进一步地,本申请实施例还提供一种包含计算机可执行指令的可读存储介质,计算机可执行指令在被执行时可以用于实现上述方法实施例提供的直播流显示方法。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本申请任意实施例所提供的直播流显示方法中的相关操作。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(sol标识state disk,SSD))等。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种直播流显示方法,其特征在于,应用于直播观看终端,所述方法包括:
当检测到增强现实AR显示指令时,进入AR识别平面并在所述AR识别平面中生成对应的目标模型对象;
将接收到的直播流渲染到所述目标模型对象上,以使所述直播流在所述目标模型对象上进行显示;
所述当检测到增强现实AR显示指令时,进入AR识别平面并在所述AR识别平面中生成对应的目标模型对象的步骤,包括:
当检测到增强现实AR显示指令时,根据所述AR显示指令确定待生成的目标模型对象;
加载所述目标模型对象的模型文件以得到所述目标模型对象;
进入AR识别平面,并判断所述AR识别平面的跟踪状态;
当所述AR识别平面的跟踪状态为在线跟踪状态时,在所述AR识别平面中生成对应的目标模型对象;
所述加载所述目标模型对象的模型文件以得到所述目标模型对象的步骤,包括:
使用预设模型导入插件导入所述目标模型对象的三维模型,得到所述目标模型对象对应的sfb格式文件;
通过预设渲染模型加载所述sfb格式文件,得到所述目标模型对象。
2.根据权利要求1所述的直播流显示方法,其特征在于,所述在所述AR识别平面中生成对应的目标模型对象的步骤,包括:
在所述AR识别平面的预设点上创建描点,以通过描点将所述目标模型对象固定在所述预设点上;
在所述描点的位置创建对应的展示节点,并创建继承于所述展示节点的第一子节点,以通过所述第一子节点在所述AR识别平面中对所述目标模型对象进行调整和展示;
创建继承于所述第一子节点的第二子节点,以在检测到骨骼调整节点的添加请求时将所述骨骼调整节点与所述第二子节点进行替换,其中,所述骨骼调整节点用于对所述目标模型对象的骨骼点进行调整。
3.根据权利要求2所述的直播流显示方法,其特征在于,通过所述第一子节点在所述AR识别平面中对所述目标模型对象进行展示的步骤,包括:
调用所述第一子节点的绑定设置方法将所述目标模型对象绑定到所述第一子节点上,以完成所述目标模型对象在所述AR识别平面中的显示。
4.根据权利要求2所述的直播流显示方法,其特征在于,所述通过所述第一子节点对所述目标模型对象进行调整包括以下调整方式中的一种或者多种组合:
对所述目标模型对象进行缩放;
对所述目标模型对象进行平移;
对所述目标模型对象进行旋转。
5.根据权利要求1-4中任意一项所述的直播流显示方法,其特征在于,所述将接收到的直播流渲染到所述目标模型对象上,以使所述直播流在所述目标模型对象上进行显示的步骤,包括:
调用软件开发工具包SDK从直播服务器中拉取直播流,并创建所述直播流的外部纹理;
将所述直播流的纹理传递给所述SDK的解码器进行渲染;
在接收到所述SDK的解码器的渲染开始状态后,调用外部纹理设置方法将所述直播流的外部纹理渲染到所述目标模型对象上,以使所述直播流在所述目标模型对象上进行显示。
6.根据权利要求5所述的直播流显示方法,其特征在于,所述调用外部纹理设置方法将所述直播流的外部纹理渲染到所述目标模型对象上的步骤,包括:
遍历所述目标模型对象中每个区域,确定所述目标模型对象中可供渲染直播流的至少一个模型渲染区域;
调用外部纹理设置方法将所述直播流的外部纹理渲染到所述至少一个模型渲染区域上。
7.一种直播流显示装置,其特征在于,应用于直播观看终端,所述装置包括:
生成模块,用于当检测到增强现实AR显示指令时,进入AR识别平面并在所述AR识别平面中生成对应的目标模型对象;
显示模块,用于将接收到的直播流渲染到所述目标模型对象上,以使所述直播流在所述目标模型对象上进行显示;
所述生成模块,具体用于:当检测到增强现实AR显示指令时,根据所述AR显示指令确定待生成的目标模型对象;
加载所述目标模型对象的模型文件以得到所述目标模型对象;
进入AR识别平面,并判断所述AR识别平面的跟踪状态;
当所述AR识别平面的跟踪状态为在线跟踪状态时,在所述AR识别平面中生成对应的目标模型对象;
所述生成模块,还具体用于:
使用预设模型导入插件导入所述目标模型对象的三维模型,得到所述目标模型对象对应的sfb格式文件;
通过预设渲染模型加载所述sfb格式文件,得到所述目标模型对象。
8.一种电子设备,其特征在于,所述电子设备包括机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时,该电子设备实现权利要求1-6中任意一项所述的直播流显示方法。
9.一种可读存储介质,其特征在于,所述可读存储介质中存储有机器可执行指令,所述机器可执行指令被执行时实现权利要求1-6中任意一项所述的直播流显示方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911080033.0A CN110856005B (zh) | 2019-11-07 | 2019-11-07 | 直播流显示方法、装置、电子设备及可读存储介质 |
US17/630,187 US20220279234A1 (en) | 2019-11-07 | 2020-11-06 | Live stream display method and apparatus, electronic device, and readable storage medium |
PCT/CN2020/127052 WO2021088973A1 (zh) | 2019-11-07 | 2020-11-06 | 直播流显示方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911080033.0A CN110856005B (zh) | 2019-11-07 | 2019-11-07 | 直播流显示方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110856005A CN110856005A (zh) | 2020-02-28 |
CN110856005B true CN110856005B (zh) | 2021-09-21 |
Family
ID=69598478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911080033.0A Active CN110856005B (zh) | 2019-11-07 | 2019-11-07 | 直播流显示方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110856005B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021088973A1 (zh) * | 2019-11-07 | 2021-05-14 | 广州虎牙科技有限公司 | 直播流显示方法、装置、电子设备及可读存储介质 |
CN111556169A (zh) * | 2020-05-20 | 2020-08-18 | 浩云科技股份有限公司 | 一种解码器接入方法、业务服务器及拼接墙系统 |
CN114827741A (zh) * | 2021-01-18 | 2022-07-29 | 武汉斗鱼鱼乐网络科技有限公司 | 直播流管理方法、装置、电子设备及存储介质 |
CN114786050B (zh) * | 2022-03-31 | 2024-04-23 | 广州方硅信息技术有限公司 | 基于观光巴士的直播间互动方法、装置、介质以及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654471A (zh) * | 2015-12-24 | 2016-06-08 | 武汉鸿瑞达信息技术有限公司 | 应用于互联网视频直播的增强现实ar系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652046B2 (en) * | 2011-01-06 | 2017-05-16 | David ELMEKIES | Augmented reality system |
CN106851421A (zh) * | 2016-12-15 | 2017-06-13 | 天津知音网络科技有限公司 | 一种应用于视频ar的显示系统 |
CN108875460B (zh) * | 2017-05-15 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 增强现实处理方法及装置、显示终端及计算机存储介质 |
CN107481327B (zh) * | 2017-09-08 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 关于增强现实场景的处理方法、装置、终端设备及系统 |
CN108347657B (zh) * | 2018-03-07 | 2021-04-20 | 北京奇艺世纪科技有限公司 | 一种显示弹幕信息的方法和装置 |
CN110097061B (zh) * | 2019-04-16 | 2023-04-18 | 聚好看科技股份有限公司 | 一种图像显示方法及装置 |
CN110418185B (zh) * | 2019-07-22 | 2021-08-13 | 广州市天正科技有限公司 | 一种增强现实视频画面中锚点的定位方法及其系统 |
-
2019
- 2019-11-07 CN CN201911080033.0A patent/CN110856005B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654471A (zh) * | 2015-12-24 | 2016-06-08 | 武汉鸿瑞达信息技术有限公司 | 应用于互联网视频直播的增强现实ar系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110856005A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110856005B (zh) | 直播流显示方法、装置、电子设备及可读存储介质 | |
US11303881B2 (en) | Method and client for playing back panoramic video | |
CN107911737B (zh) | 媒体内容的展示方法、装置、计算设备及存储介质 | |
CN111277845B (zh) | 游戏直播控制方法及装置、计算机存储介质及电子设备 | |
CN109286824B (zh) | 一种直播用户侧控制的方法、装置、设备及介质 | |
CN109688418A (zh) | 直播界面功能引导方法、设备及存储介质 | |
EP3913924B1 (en) | 360-degree panoramic video playing method, apparatus, and system | |
CN107529082B (zh) | 使用共用和个人装置来提供个性化用户功能的方法和设备 | |
CN110784733B (zh) | 直播数据处理方法、装置、电子设备及可读存储介质 | |
KR20130066069A (ko) | 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템 | |
US20170150212A1 (en) | Method and electronic device for adjusting video | |
CN110545887B (zh) | 增强/虚拟现实空间音频/视频的流式传输 | |
CN104918136A (zh) | 视频定位方法和装置 | |
CN106973318B (zh) | 聚合视频操作方法及装置 | |
CN112423006A (zh) | 一种直播场景切换方法、装置、设备及介质 | |
KR101915792B1 (ko) | 얼굴인식을 이용한 광고 삽입 시스템 및 방법 | |
CN114240754A (zh) | 投屏处理方法、装置、电子设备及计算机可读存储介质 | |
US11592906B2 (en) | Ocular focus sharing for digital content | |
WO2021088973A1 (zh) | 直播流显示方法、装置、电子设备及可读存储介质 | |
US11750876B2 (en) | Method and apparatus for determining object adding mode, electronic device and medium | |
KR102612580B1 (ko) | 미디어 제공 서버, 트리거 영역을 통해 다른 컨텐츠로 전환하는 방법 및 컴퓨터 프로그램 | |
CN112153409B (zh) | 直播方法、装置、直播接收端及存储介质 | |
CN112714331B (zh) | 信息提示方法和装置、存储介质、电子设备 | |
KR102497838B1 (ko) | 미디어 스트리밍 서버, 라이브 영상과 라이브 채팅을 스트리밍 동영상으로 제공하는 방법, 상기 방법을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램 | |
CN115243064B (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 |