CN115278291A - 一种投屏数据共享方法及系统 - Google Patents

一种投屏数据共享方法及系统 Download PDF

Info

Publication number
CN115278291A
CN115278291A CN202210887349.6A CN202210887349A CN115278291A CN 115278291 A CN115278291 A CN 115278291A CN 202210887349 A CN202210887349 A CN 202210887349A CN 115278291 A CN115278291 A CN 115278291A
Authority
CN
China
Prior art keywords
video data
data
receiving end
equipment
played
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
CN202210887349.6A
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.)
Nanjing Ustep Information Technology Co ltd
Original Assignee
Nanjing Ustep Information 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 Nanjing Ustep Information Technology Co ltd filed Critical Nanjing Ustep Information Technology Co ltd
Priority to CN202210887349.6A priority Critical patent/CN115278291A/zh
Publication of CN115278291A publication Critical patent/CN115278291A/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

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

Abstract

本发明的实施例提供了一种投屏数据共享方法及系统,涉及数据处理技术领域,应用于虚拟现实VR设备,该方法包括:接收控制端的启动录制控制信号;根据启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据;通过组播向接收端发送编码后的视频数据,其中,接收端与VR设备位于同一组播组。采用本发明,可以提升VR设备投屏数据共享便利性,增加VR设备的实用性。

Description

一种投屏数据共享方法及系统
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种投屏数据共享方法及系统。
背景技术
虚拟现实技术是一种可以创建和体验虚拟世界的计算机技术,它利用计算机生成一种模拟技术,让用户可以在虚拟的三维动态环境中获得身临其境的感受。
丰富的感觉能力和三维显示使得虚拟现实技术已经应用于各个领域,尤其是在教育和培训领域,可以帮助学习者通过自身与环境的相互作用获取知识。
但是,传统的虚拟现实技术仅能由操作者本人看见虚拟画面,旁观者无法了解操作者体验内容,更无法对其进行指导教学。
发明内容
本发明实施例提供的一种投屏数据共享方法及系统,可以提升VR设备投屏数据共享便利性,增加VR设备的实用性。
第一方面,本发明实施例提供一种投屏数据共享方法,应用于虚拟现实VR设备,所述方法包括:
收控制端的启动录制控制信号;
根据所述启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据;
通过组播向接收端发送所述编码后的视频数据,其中,所述接收端与所述VR设备位于同一组播组。
可选地,所述根据所述启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据,包括:
在渲染线程中截取播放的视频数据;
按照预设编码规则对截取的所述播放的视频数据进行编码,获取编码后的视频数据。
可选地,所述通过组播向接收端发送所述编码后的视频数据之前,还包括:
将所述编码后的视频数据拆分成多个数据包;
对所述数据包分别添加数据包序号和视频帧序号,得到所述封包后的视频数据。
可选地,所述通过组播向接收端发送所述编码后的视频数据,包括:
将所述封包后的视频数据发送至预设的组播地址,使得路由器将所述封包后的视频数据发送至所述组播地址对应的组播组内的至少一个接收端;
其中,所述组播组内包括至少一个所述接收端、至少一个所述VR设备。
可选地,所述在渲染线程中截取播放的视频数据之后,还包括:
判断缓存队列中已有的视频数据量;
若所述缓存队列中已有的视频数据量小于预设数据量,则将截取的所述播放的视频数据加入所述缓存队列中;
所述按照预设编码规则对截取的所述播放的视频数据进行编码,获取编码后的视频数据,包括:
若所述缓存队列已有的视频数据量达到所述预设数据量,则将所述缓存队列中的已有视频数据按照预设编码规则进行编码,获取编码后的视频数据。
第二方面,本发明实施例还提供一种投屏数据共享方法,应用于接收端,所述方法包括:
接收虚拟现实VR设备通过组播发送的编码后的视频数据,其中,所述接收端与所述VR设备位于同一组播组,所述编码后的视频数据是对所述VR播放的视频数据进行编码获取的;
对所述编码后的视频数据进行解码并播放。
可选地,所述对所述编码后的视频数据进行解码并播放,包括:
获取所述编码后的视频数据中的数据包序号和视频帧序号;
按照所述数据包序号和所述视频帧序号进行排序,组装排序后的视频数据;
按照预设的编码规则对所述排序后的视频数据进行解码,获取解码后的视频数据;
将所述解码后的视频数据进行渲染后进行播放。
可选地,所述组播组内包括至少一个所述接收端、至少一个所述VR设备。
第三方面,本发明实施例还提供一种投屏数据共享系统,包括:控制端、虚拟现实VR设备、接收端;所述VR设备分别与所述控制端、所述接收端通信连接;其中,所述接收端与所述VR设备位于同一组播组;
所述VR设备用于执行第一方面任一所述的方法;所述接收端用于执行第二方面任一所述的方法。
可选地,所述组播组内包括至少一个所述接收端、至少一个所述VR设备。
本发明提供的一种投屏数据共享方法及系统,应用于虚拟现实VR设备,该方法包括:接收控制端的启动录制控制信号;根据启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据;通过组播向接收端发送编码后的视频数据,其中,接收端与VR设备位于同一组播组。通过将接收端和VR设备置于同一组播组内,使得当VR设备在接收到控制端发送的启动录制控制信号后,可将实时播放的视频编码后通过组播发送至接收端,使得组播组内的接收端可以共享投屏数据,实现了接收端在展示VR投屏数据时无需与VR设备接收端安装额外的连接装置,且VR投屏数据可以共享于组播组的所有接收端中,扩大了VR投屏数据的共享范围,增强了VR设备的实用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明提供的一种投屏数据共享系统的示意图;
图2为本发明提供的一种投屏数据共享方法的流程示意图;
图3为本发明提供的一种投屏数据共享方法中视频编码的流程示意图;
图4为本发明提供的一种投屏数据共享方法中视频传输的流程示意图;
图5为本发明提供的一种投屏数据共享方法中视频存储的流程示意图;
图6为本发明提供的另一种投屏数据共享方法的流程示意图;
图7为本发明提供的一种投屏数据共享方法中视频播放的流程示意图;
图8为本发明提供的一种环形缓冲区的示意图;
图9为本发明提供的一种投屏数据共享装置的示意图;
图10为本发明提供的另一种投屏数据共享装置的示意图。
图标:1000,第一接收模块;2000,编码模块;3000,发送模块;4000,第二接收模块;5000,解码模块;10,投屏数据共享系统;11,控制端;12,虚拟现实VR设备;13,接收端。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在对本发明进行详细地解释之前,先对本发明的应用场景予以介绍。
VR(Virtual Reality,虚拟现实)技术可以帮助人们在虚拟环境中感受不同的场景,在工业、医疗、游戏、教学等领域都有很好的应用前景。
尤其是将VR技术运用至教学领域,能让学生切身感受到一些日常生活中难以体会的场景,例如地震现场等,从而提高学生的认知水平。此时使用VR设备进行体验学习的过程中教学指导就显示格外重要,但是常规VR投屏方法旁观者无法实时观看操作者在虚拟环境中的表现,现有的例如使用USB数据线从而共享VR投屏数据的方案还是会限制使用场景,无法提供便捷的投屏共享服务。需要说明的是,本申请实施例提供的技术方案不限于应用在VR场景,也可以应用到其他扩展现实设备XR等。
基于此,本发明提出一种投屏数据共享方法及系统,将接收端和VR设备置于同一组播组内,使得当VR设备在接收到控制端发送的启动录制控制信号后,可将实时播放的视频编码后通过组播发送至接收端,使得组播组内的接收端可以共享投屏数据,增加VR投屏数据共享的便捷性。本发明下述各实施例提供的投屏数据共享方法可由虚拟现实VR设备执行,也可由接收端执行,该VR设备可为一体式VR设备或移动式VR设备,该接收端可为便携式多媒体播放器(PMP)或音频/视频播放器(MP3/MP4)、智能手机、台式电脑等具备播放功能的设备,本发明对此不做限制。
如下结合附图通过多个实施例进行解释说明。图1为本发明提供的一种投屏数据共享系统的示意图,如图1所示,该投屏数据共享系统10,包括:控制端11、虚拟现实VR设备12、接收端13;VR设备12分别与控制端11、接收端13通信连接;其中,接收端13与VR设备12位于同一组播组。其中,组播组内包括至少一个接收端13、至少一个VR设备12。其中,VR设备的数量可为N,N≥1,接收端的数量可为M,M≥1。具体地,本发明实施例中所有设备的连接都处于局域网中,首先使控制端11在局域网中组播自身的组播IP地址,然后至少一个VR设备12和至少一个接收端13使用有线或无线的方式连入该局域网中,并且保证控制端11、至少一个VR设备12、至少一个接收端13在同一组播网段中,则至少一个VR设备12就可以接收到控制端11发送的IP地址,则此时控制端11和VR设备12通信连接,此时控制端11就可以基于该组播网段向至少一个VR设备发送控制信号。
同时,使得至少一个VR设备12和至少一个接收端13通过如UDP(UserDatagramProtocol,用户数据报协议)网络协议加入至相同的组播组内,例如,组播地址可使用238.168.0.1。则在同一组播内的至少一个VR设备12可以通过组播地址向至少一个接收端13传输投屏数据,以使得当前组播组内至少一个接收端13可以共享投屏数据。
本实施例中,控制端11、VR设备端12、接收端14均可以采用Unity3D开发框架作为软件开发平台。作为可选的方式,可以使用Windows的PC系统作为控制端11的系统平台,使用Android系统作为VR设备12的系统平台,使用Android系统的大屏幕设备作为接收端13的系统平台,本发明对比不做限制。
在上述图1提供的一种投屏数据共享系统的基础上,本发明还通过了一种投屏数据共享方法的可能实现方式。图2为本发明提供的一种投屏数据共享方法的流程示意图。如图2所示,一种投屏数据共享方法,应用于虚拟现实VR设备12,包括:
S110,接收控制端的启动录制控制信号。
在本发明中,VR设备12的是否开始录制实时视频受控制端11的控制信号控制。可选地,该控制端11可为计算机、无线遥控器等具有发送控制信号的控制设备,本发明对此不作限制。
基于控制端11与至少一台VR设备12之间的通信连接关系,控制端11把录制控制信号发送给选择的至少一台VR设备12,如果收到的是“开”信号,即接收到控制端11的启动录制控制信号,则至少一台VR设备12开始录屏;如果收到的是“关”信号,即接收到控制端11的关闭录制控制信号,则至少一台VR设备12停止录屏并停止向外发送视频数据。
在一种可能的实现方式中,控制端11除了向VR设备发送控制是否开始录制的录制控制信号以外,还可以向VR设备发送控制视频音量、清晰度、速度等各种控制信号,以用来控制VR设备12录制视频的效果。
可选地,在VR设备12接收控制端11的启动录制控制信号之前,为了保证数据传输的安全性,还需要确定VR设备12与控制端11是否连接成功,即确认VR设备12与控制端11是否处于同一组播网段中,在确认连接成功后,再使得控制端11向VR设备发送控制信号。必要时,需要在控制端11进行身份验证,如通过验证码、指纹、声纹等方式确认控制端11的使用者身份。
在一种可能的实现方式中,控制端11具有声纹识别模块,可以识别操作人员的指令信息,如控制端11听到“发送录制信号”语句,即向VR设备发送录制信号。同时,为了保证信息安全,可以根据声纹设置只识别特定人员的指令信息。
若当前VR设备12与控制端11没有连接成功,则重置当前的网络连接,直至VR设备12与控制端11连接成功。
可选地,控制端11可以控制VR设备12开始播放内容时启动录制,其具体实现方案在此不作限制。
S120,根据启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据。
如果VR设备12收到的是“开”信号,即接收到控制端11的启动录制控制信号,则至少一台VR设备12开始录屏,并将获取到的正在播放的视频数据进行编码,最终获取到编码后的视频数据。其中,视频编码技术是视频传输播放的前提,可以去除视频序列中的各种冗余,进而提升编码压缩的效率。
需要说明的是,如果组播中有多个VR设备,控制端11可以给其中某个VR设备发送启动录制控制信号,也可以给多个VR设备发送启动录制控制信号,本实施例中不作限制。
S130,通过组播向接收端发送编码后的视频数据。
其中,接收端与VR设备位于同一组播组。
为了使得当前组播组内的接收端13都可以共享VR设备12的视频数据,需要VR设备12通过组播的方式向接收端发送编码后的视频数据。在本实施例中,可以使用IP组播的方式,在网络层利用路由器来实现组播功能,通过网络协议进行组播组的管理。组播组内的设备可以处于不断变化的状态,可以通过设备交互随时加入、也可以随时离开。
在一种可能的实现方式中,为了保证数据传输的安全性,可以将编码后的视频数据进行加密处理,例如引入密钥对视频数据进行管理,或对每一个组播组内允许共享投屏数据的接收端发送授权信息,以用来保证数据传输的安全性。
本实施例通过将接收端和VR设备置于同一组播组内,使得当VR设备在接收到控制端发送的启动录制控制信号后,可将实时播放的视频编码后通过组播发送至接收端,使得组播组内的接收端可以共享投屏数据,则通过该方法使得接收端在展示VR投屏数据时无需与VR设备接收端安装额外的连接装置,使得VR投屏数据可以共享于组播组的所有接收端中,扩大了VR投屏数据的共享范围,增强了VR设备的实用性。
在上述实施例的基础上,为了更清楚地展示视频编码的过程,本发明还提供了一种投屏数据共享中视频编码方法的可能实现方式。图3为本发明提供的一种投屏数据共享方法中视频编码的流程示意图。如图3所示,上述S120中,根据启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据,包括:
S122,在渲染线程中截取播放的视频数据。
如果VR设备12收到的是“开”信号,则VR设备12开启录屏线程进行录制视频;同时,为了保证视频数据的播放效果,需要创建渲染线程,对录制的播放的视频数据进行渲染处理。
具体地,得到渲染线程的方法包括:S121创建虚拟相机,虚拟相机用于实时渲染虚拟场景,得到渲染线程。
由于虽然VR视频数据和普通视频具有相同的文件格式,可以采用普通视频的渲染方式对VR视频进行渲染,但是这种方式渲染出来的视频让观者看到的是没有全景感的视频,无法让人体验到虚拟现实的效果。为了达到全景视频渲染的特殊性,从录制线程中录制视频后,可以使用Unity3D这样的渲染引擎创建一个虚拟相机,使得虚拟相机可以跟随操作者的头部在虚拟场景中的位置和方向,进而实时渲染场景画面,得到渲染线程。在一种可能的实现方式中,也可以采用OpenGL ED创建虚拟相机,本发明对比不做限制。当虚拟相机渲染完一帧画面后,就可以从渲染线程中截取到这一帧的视频数据保存至缓存中。
S124,按照预设编码规则对截取的播放的视频数据进行编码,获取编码后的视频数据。
当在渲染线程中截取完数据后,VR设备12可以按照预设的编码规则对截取的播放的视频数据进行编码,如,编码成JPEG格式,即可获取编码后的视频数据。具体的编码规则可以在编码器中预先设置。
在本实施例中,通过对VR视频进行渲染编码处理,进一步保障了视频播放的效果,并且有利于视频进行传输或存储。
在上述实施例的基础上,为了更清楚地展示视频传输的过程,本发明还提供了一种投屏数据共享中视频传输的可能实现方式。图4为本发明提供的一种投屏数据共享方法中视频传输的流程示意图。如图4所示,上述S130,通过组播向接收端发送编码后的视频数据之前,包括:
S132,将编码后的视频数据拆分成多个数据包。
为了便于视频传输,提高视频传输的流畅性,需要将编码后的视频数据拆分成多个数据包。具体地,需要将编码后的每一帧数据都拆分成预设大小的数据包。
S134,对数据包分别添加数据包序号和视频帧序号,得到封包后的视频数据。
每一帧都是一张静止的图像,例如从一张视频截图中前段截取16K的数据作为一个数据包,添加该数据包的数据包序号为0,再从剩下的视频截图数据里前段截取16K的数据作为另一个数据包,添加该数据包的序号为1,按照此规律依次截取数据包并设置序号,最后一段不足16K的数据包使用空数据填充。例如,一张视频截图由213K,按照16K作为数据包的大小进行截取,则该张视频数据可以被拆分成14个数据包。
另外,将获取的第一帧的视频数据对应的图像帧序号添加编号为0,则对于第二帧视频数据对应的图像帧序号添加编号为1,以此类推,帧序号从0、1、2到13号后,再从0到13号,一直循环下去,直到停止投屏。需要说明的是,编号方式只是本申请实施例中的实例,可选地也可以采用字母、罗马数字等其他方式进行编号。
则对于每一个数据包来说,都具有独一无二的数据包序号和视频帧序号,如该数据包是从获取到的第二帧视频数据中第17K~32K截取到的,则该数据包的包序号为1,视频帧序号为1。
在本实施中,通过将编码后的数据进行拆分并添加数据包序号和视频帧序号,使得VR视频数据的每一帧数据在传输过程中具有一定的标记,从而便于接收端便于按照序号读数据,避免丢帧未发现视频乱码问题的出现。
同时,在上述实施例的基础上,上述S130,通过组播向接收端发送编码后的视频数据中,还包括:
S136,将封包后的视频数据发送至预设的组播地址,使得路由器将封包后的视频数据发送至组播地址对应的组播组内的至少一个接收端;
其中,组播组内包括至少一个接收端、至少一个VR设备。
具体地,当视频数据封装后,VR设备12需要将封包后的视频数据发送至预设的组播地址,如238.168.0.1,使得路由器将封包后的视频数据发送至组播地址对应的组播组内的至少一个接收端13,其中路由器与VR设备12、接收端13通信连接。则对于当前组播组内接收端13来说,每一个接收端13都可以接收到VR设备共享的视频数据。对于部分不需要进行展示VR设备12视频数据的接收端13来说,退出组播组内即可。
在本实施例中,通过VR设备向组播组内的组播地址发送封包后的视频数据,则当前同一组播组内的接收端都可以共享VR设备的视频数据,使得VR设备共享视频数据不再受到接收端数量的限制,提升了数据共享的便利性,便于VR设备进行数据共享。
可选地,若组播组内包括多个VR设备12,则多个VR设备12分别对应多个设备编号,以使得控制端11将每一个VR设备12的设备状态和投屏状态对应每一个设备编号进行显示;其中,设备状态包括:断开状态、连接状态,投屏状态包括:正在投屏状态、断开投屏状态。
在本实施例中,为了让控制端11可以区分多个不同的VR设备12,需要给每个VR设备12进行设备编号。可选地,设备编号可以使用1开始的自然数,如1、2、3、4……100,不同VR设备12之间设备编号不可以重复,可以在VR设备12开启时,对其手动输入设备编号。需要说明的是,设备编号方式只是本申请实施例中的实例,可选地也可以采用字母、罗马数字等其他方式进行编号。
当不同VR设备具有不同的设备编号时,在控制端1可以具有显示屏,利用列表的方式显示出每个VR设备12的设备信息,设备信息包括:VR设备的设备编号、VR设备的设备状态、VR设备的投屏状态。列表按照设备编号的从大到小进行排列,设备状态包括:断开状态、连接状态;投屏状态包括:正在投屏状态、断开投屏状态。其中,断开状态和连接状态互斥显示,正在投屏状态和断开投屏状态互斥显示。控制端11可以通过列表的显示,选择任一VR设备发送启动录制控制信号,从而切换当前正在投屏的VR设备,使得之前正在投屏的VR设备自动关闭。
在上述实施例的基础上,为了更清楚地展示视频存储的过程,本发明还提供了一种投屏数据共享中视频存储的可能实现方式。图5为本发明提供的一种投屏数据共享方法中视频存储的流程示意图。如图5所示,上述S122,在渲染线程中截取播放的视频数据之后,包括:
S210,判断缓存队列中已有的视频数据量;
S220,若缓存队列中已有的视频数据量小于预设数据量,则将截取的播放的视频数据加入缓存队列中;
对于VR设备12的缓存队列来说,具有先进先出的原则,即该缓存队列仅能保存预设数据量的画面,如,可以保存10帧画面,每一个缓存进的数据帧均按照顺序排列,则当在渲染线程中截取播放的视频数据后,需要先判断当前缓存队列中已有的视频数据量,若缓存队列中已有的视频数据量小于预设数据量,即若当前缓存队列中的已有视频数据量小于10帧时,则将截取的播放的视频数据加入缓存队列中。若缓存队列中已有的视频数据量等于预设数据量,即若当前缓存队列中的已有视频数据量等于10帧时则暂停缓存直至缓存队列中已有的视频数据量小于预设数据量时,再将截取的播放的视频数据加入缓存队列中。
上述S124,按照预设编码规则对截取的播放的视频数据进行编码,获取编码后的视频数据,包括:
S230,若缓存队列已有的视频数据量达到预设数据量,则将缓存队列中的已有视频数据按照预设编码规则进行编码,获取编码后的视频数据。
若缓存队列已有的视频数据量达到预设数据量,即当前缓存队列已有的数据量等于10帧时,则将当前缓存队列中的10帧视频数据按照预设编码规则进行编码,获取编码后的视频数据。
在本实施例中,通过在VR设备端对缓存的视频数据按照先进先出的原则进行缓存,避免同时处理大量数据造成的拥堵,避免视频传输的不流畅。
同时,图1提供的一种投屏数据共享系统的基础上,本发明还通过了一种投屏数据共享方法的可能实现方式。图6为本发明提供的另一种投屏数据共享方法的流程示意图。如图6所示,该投屏数据共享方法,应用于接收端13,包括:
S310,接收虚拟现实VR设备通过组播发送的编码后的视频数据。
其中,接收端13与VR设备12位于同一组播组,编码后的视频数据是对VR设备12播放的视频数据进行编码获取的;可选地,组播组内包括至少一个接收端13、至少一个VR设备12。
S320,对编码后的视频数据进行解码并播放。
在本实施例中,接收端13为了播放虚拟现实VR设备12的视频数据,接收端13需要接收虚拟现实VR设备12通过组播发送的编码后的视频数据后,对编码后的视频数据进行解码并播放。
在上述实施例的基础上,为了更清楚地展示视频播放的过程,本发明还提供了一种投屏数据共享中视频播放的可能实现方式。图7为本发明提供的一种投屏数据共享方法中视频播放的流程示意图。如图7所示,上述S320,对编码后的视频数据进行解码并播放,包括:
S322,获取编码后的视频数据中的数据包序号和视频帧序号。
S324,按照数据包序号和视频帧序号进行排序,组装排序后的视频数据。
本实施例中,接收端13使用环形缓冲区作为数据结构来存储接收的数据。图8为本发明提供的一种环形缓冲区的示意图,如图8所示,该环形缓冲区是一个先进先出的循环缓冲区。缓冲区使用二维数组实现,第一维用以存储帧数据,第二维用以存储包数据,可选地,设置第一维可以存储14个帧数据,设置第二维可以存储1000k字节的包数据。其中,第一维数组序号对应视频帧序号。
具体地,发送至接收端13的编码后的视频数据已经封包,则接收端13接收到封包后的视频数据中每一个数据包时,需要先获取数据包的数据包序号和该数据包所在的视频帧序号。并且,记录当前已接收到的数据包的在环形缓冲区里已经排到第几圈了,其中,记录第一维帧序号每满14帧为一圈,记录第二维包数据每满1000k为一圈;再记录上次接收满一帧数据的排到圈数,即记录上次传输完整一帧视频数据排到的圈数;可选地,因为圈数是逐渐累加的,当圈数过多,已经达到10000圈后,圈数计数器复位到0。
基于此,需要判断接收的这个数据包所在的帧序号是否大于已经接收满的帧序号,如果大于,则说明接收到的是新数据,是有效数据,反之是无效数据;当判断该数据包为有效数据时,需要将该数据包按照视频帧序号和数据包序号存到环形缓冲区里,其中序号从小到大排列;当判断该数据包为无效数据,则丢弃该数据包,不做处理。
S326,按照预设的编码规则对排序后的视频数据进行解码,获取解码后的视频数据。
对一帧视频数据来说,若接收完全,则将这一帧视频数据从环形缓冲区里的读出来,按照预设的编码规则对排序后的视频数据进行解码,获取解码后的视频数据。需要注意的是,接收端13解码时用到的预设的编码规则需要与VR设备12编码时用到的预设的编码规则保持一致。
具体地,首先需要判断这一帧视频数据是否接收完整,即判断当前帧内包的总数量和接收过的包的数量是否相等,如果相等为接收完全,如果小于为未接收完,则继续等待接收。
然后需要判断读出的这一帧视频数据在环形缓冲区里的位置是否已经与正在写入的帧重合,如果读取的帧与正在写入的帧没有重合,则判断当前这一帧视频数据需要被显示,取出数据进行解码,然后清理已经读过数据的缓存区相应的数据,读位置向后移动一位,准备读取下一帧数据;如果读取的帧与正在写入的帧已经重合,则不做处理;继续判断下一读位置与写位置是否重合。
S328,将解码后的视频数据进行渲染后进行播放。
将取出解码后的数据写入到接收端13的Unity3D的Texture组件中,Unity3D再将Texture组件渲染到接收端13的显示屏幕上,然后继续从环形缓冲区里读出下一帧数据,再写入Texture组件并渲染到接收端13的显示屏幕上,循环往复,这样就可以形成连续的视频图像,使得组播内的接收端13可以共享VR设备12的投屏数据。
在本实施例中,通过将VR设备和接收端位于同一组播组内,使得接收端可以根据接收到的VR设备发送的视频数据进行缓存解码并渲染播放,从而让组播组的所有接收端都可以共享VR设备的投屏数据。
图9为本发明提供的一种投屏数据共享装置的示意图,如图9所示,该投屏数据共享装置,应用于虚拟现实VR设备,包括:
第一接收模块1000,用于接收控制端的启动录制控制信号。
编码模块2000,用于根据启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据。
发送模块3000,用于通过组播向接收端发送编码后的视频数据,其中,接收端与VR设备位于同一组播组。
可选地,该编码模块2000,还用于在渲染线程中截取播放的视频数据;按照预设编码规则对截取的播放的视频数据进行编码,获取编码后的视频数据。
可选地,该投屏数据共享装置还包括封包模块,用于将编码后的视频数据拆分成多个数据包;对数据包分别添加数据包序号和视频帧序号,得到封包后的视频数据。
可选地,该发送模块3000,还用于将封包后的视频数据发送至预设的组播地址,使得路由器将封包后的视频数据发送至组播地址对应的组播组内的至少一个接收端;其中,组播组内包括至少一个接收端、至少一个VR设备。
可选地,该投屏数据共享装置还包括判断模块,用于判断缓存队列中已有的视频数据量;若缓存队列中已有的视频数据量小于预设数据量,则将截取的播放的视频数据加入缓存队列中;若缓存队列已有的视频数据量达到预设数据量,则将缓存队列中的已有视频数据按照预设编码规则进行编码,获取编码后的视频数据。
图10为本发明提供的另一种投屏数据共享装置的示意图,如图10所示,该投屏数据共享装置,应用于接收端,包括:
第二接收模块4000,用于接收虚拟现实VR设备通过组播发送的编码后的视频数据,其中,接收端与VR设备位于同一组播组,编码后的视频数据是对VR播放的视频数据进行编码获取的;
解码模块5000,用于对编码后的视频数据进行解码并播放。
可选地,该解码模块5000,还用于获取编码后的视频数据中的数据包序号和视频帧序号;按照数据包序号和视频帧序号进行排序,组装排序后的视频数据;按照预设的编码规则对排序后的视频数据进行解码,获取解码后的视频数据;将解码后的视频数据进行渲染后进行播放。
其中,组播组内包括至少一个接收端、至少一个VR设备。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-on-a-Chip,简称SOC)的形式实现。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种投屏数据共享方法,其特征在于,应用于虚拟现实VR设备,所述方法包括:
接收控制端的启动录制控制信号;
根据所述启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据;
通过组播向接收端发送所述编码后的视频数据,其中,所述接收端与所述VR设备位于同一组播组。
2.根据权利要求1所述的方法,其特征在于,所述根据所述启动录制控制信号,获取播放的视频数据并进行编码,获取编码后的视频数据,包括:
在渲染线程中截取播放的视频数据;
按照预设编码规则对截取的所述播放的视频数据进行编码,获取编码后的视频数据。
3.根据权利要求1所述的方法,其特征在于,所述通过组播向接收端发送所述编码后的视频数据之前,还包括:
将所述编码后的视频数据拆分成多个数据包;
对所述数据包分别添加数据包序号和视频帧序号,得到封包后的视频数据。
4.根据权利要求3所述的方法,其特征在于,所述通过组播向接收端发送所述编码后的视频数据,包括:
将所述封包后的视频数据发送至预设的组播地址,使得路由器将所述封包后的视频数据发送至所述组播地址对应的组播组内的至少一个接收端;
其中,所述组播组内包括至少一个所述接收端、至少一个所述VR设备。
5.根据权利要求2所述的方法,其特征在于,所述在渲染线程中截取播放的视频数据之后,还包括:
判断缓存队列中已有的视频数据量;
若所述缓存队列中已有的视频数据量小于预设数据量,则将截取的所述播放的视频数据加入所述缓存队列中;
所述按照预设编码规则对截取的所述播放的视频数据进行编码,获取编码后的视频数据,包括:
若所述缓存队列已有的视频数据量达到所述预设数据量,则将所述缓存队列中的已有视频数据按照预设编码规则进行编码,获取编码后的视频数据。
6.一种投屏数据共享方法,其特征在于,应用于接收端,所述方法包括:
接收虚拟现实VR设备通过组播发送的编码后的视频数据,其中,所述接收端与所述VR设备位于同一组播组,所述编码后的视频数据是对所述VR播放的视频数据进行编码获取的;
对所述编码后的视频数据进行解码并播放。
7.根据权利要求6所述的方法,其特征在于,所述对所述编码后的视频数据进行解码并播放,包括:
获取所述编码后的视频数据中的数据包序号和视频帧序号;
按照所述数据包序号和所述视频帧序号进行排序,组装排序后的视频数据;
按照预设的编码规则对所述排序后的视频数据进行解码,获取解码后的视频数据;
将所述解码后的视频数据进行渲染后进行播放。
8.根据权利要求6或7所述的方法,其特征在于,所述组播组内包括至少一个所述接收端、至少一个所述VR设备。
9.一种投屏数据共享系统,其特征在于,包括:控制端、虚拟现实VR设备、接收端;所述VR设备分别与所述控制端、所述接收端通信连接;其中,所述接收端与所述VR设备位于同一组播组;
所述VR设备用于执行权利要求1-5任一项所述的方法;所述接收端用于执行权利要求6-8任一项所述的方法。
10.根据权利要求9所述的系统,其特征在于,所述组播组内包括至少一个所述接收端、至少一个所述VR设备。
CN202210887349.6A 2022-07-26 2022-07-26 一种投屏数据共享方法及系统 Pending CN115278291A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210887349.6A CN115278291A (zh) 2022-07-26 2022-07-26 一种投屏数据共享方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210887349.6A CN115278291A (zh) 2022-07-26 2022-07-26 一种投屏数据共享方法及系统

Publications (1)

Publication Number Publication Date
CN115278291A true CN115278291A (zh) 2022-11-01

Family

ID=83769142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210887349.6A Pending CN115278291A (zh) 2022-07-26 2022-07-26 一种投屏数据共享方法及系统

Country Status (1)

Country Link
CN (1) CN115278291A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127702A (zh) * 2007-08-02 2008-02-20 北京航空航天大学 用于平面结构网络的多对多可靠组播错误恢复方法
CN104661111A (zh) * 2013-11-25 2015-05-27 上海益尚信息科技有限公司 一种i帧解析方法上行组播数据传输的方法及装置
CN105898359A (zh) * 2016-04-27 2016-08-24 乐视控股(北京)有限公司 虚拟现实终端及其视频的处理方法和装置
CN113242435A (zh) * 2021-04-13 2021-08-10 江苏视博云信息技术有限公司 一种投屏的方法、装置及系统
CN113873299A (zh) * 2020-06-30 2021-12-31 中兴通讯股份有限公司 组播业务访问方法和设备、电子设备及存储介质
CN114302221A (zh) * 2021-03-26 2022-04-08 海信视像科技股份有限公司 一种虚拟现实设备及投屏媒资播放方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127702A (zh) * 2007-08-02 2008-02-20 北京航空航天大学 用于平面结构网络的多对多可靠组播错误恢复方法
CN104661111A (zh) * 2013-11-25 2015-05-27 上海益尚信息科技有限公司 一种i帧解析方法上行组播数据传输的方法及装置
CN105898359A (zh) * 2016-04-27 2016-08-24 乐视控股(北京)有限公司 虚拟现实终端及其视频的处理方法和装置
CN113873299A (zh) * 2020-06-30 2021-12-31 中兴通讯股份有限公司 组播业务访问方法和设备、电子设备及存储介质
CN114302221A (zh) * 2021-03-26 2022-04-08 海信视像科技股份有限公司 一种虚拟现实设备及投屏媒资播放方法
CN113242435A (zh) * 2021-04-13 2021-08-10 江苏视博云信息技术有限公司 一种投屏的方法、装置及系统

Similar Documents

Publication Publication Date Title
CN113038287B (zh) 多人视频直播业务实现方法、装置、计算机设备
JP6727669B2 (ja) 情報インタラクション方法、デバイス、およびシステム
CN107979763B (zh) 一种虚拟现实设备生成视频、播放方法、装置及系统
US9370718B2 (en) System and method for delivering media over network
CN107801083A (zh) 一种基于三维虚拟技术的网络实时互动直播方法及装置
WO2018000609A1 (zh) 一种虚拟现实系统中分享3d影像的方法和电子设备
US20210084362A1 (en) Method and system of processing information flow and method of displaying comment information
CN113242435B (zh) 一种投屏的方法、装置及系统
CN110121734A (zh) 一种信息的处理方法及装置
CN102625149A (zh) 使用基于片的再现系统的低等待时间远程显示再现
WO2018103384A1 (zh) 一种360度全景视频的播放方法、装置及系统
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
CN113891117B (zh) 沉浸媒体的数据处理方法、装置、设备及可读存储介质
US8860720B1 (en) System and method for delivering graphics over network
CN109104619B (zh) 用于直播的图像处理方法和装置
US11663795B2 (en) Streaming-based VR multi-split system and method
CN112492324A (zh) 数据处理方法及系统
US11223662B2 (en) Method, system, and non-transitory computer readable record medium for enhancing video quality of video call
CN114139491A (zh) 一种数据处理方法、装置及存储介质
CN106937127B (zh) 一种智能搜索准备的显示方法及其系统
CN115278291A (zh) 一种投屏数据共享方法及系统
CN105739690A (zh) 一种双客户端控制方法、装置及系统
CN108683900B (zh) 一种图像数据处理方法及装置
CN116193197A (zh) 一种数据处理方法、装置、设备以及可读存储介质
CN113784094B (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