CN112004101B - 虚拟直播数据的传输方法、装置及存储介质 - Google Patents
虚拟直播数据的传输方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112004101B CN112004101B CN202010762773.9A CN202010762773A CN112004101B CN 112004101 B CN112004101 B CN 112004101B CN 202010762773 A CN202010762773 A CN 202010762773A CN 112004101 B CN112004101 B CN 112004101B
- Authority
- CN
- China
- Prior art keywords
- data
- limb
- face
- frame
- packet
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 159
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000006835 compression Effects 0.000 claims description 32
- 238000007906 compression Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000012856 packing Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000009877 rendering Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种虚拟直播数据的传输方法、装置及存储介质。其中,虚拟直播数据的传输方法包括:获取待传输的肢体数据和/或脸部数据;将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输。
Description
技术领域
本申请涉及数据传输技术领域,特别是涉及一种虚拟直播数据的传输方法、装置及存储介质。
背景技术
随着电子娱乐产业和网络传输技术的发展,虚拟直播作为一种全新的网上娱乐方式,即采用虚拟人物以三维动画的方式与观众进行实时交互的直播方式,越来越受到年轻观众的青睐。目前,虚拟直播大多采用动态捕捉设备实时捕捉真实的演员动作信息(演员的肢体数据)以及通过摄像头实时采集演员的脸部数据。由于传统的直播所采用的数据传输通道只能传输视频流数据,因此需要直播平台的服务器根据采集到的肢体数据和脸部数据对虚拟人物进行渲染和驱动,生成实时视频后传输至直播平台的客户端进行直播。相比较于传输实时视频而言,如果能够直接将采集到的肢体数据和脸部数据传输至直播平台的客户端,由客户端进行虚拟人物的渲染和驱动,生成实时视频并直播,将会大大减少网络传输数据的量级。但是,目前缺少一种能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,用以减少网络传输数据的量级的传输方法。
针对上述的现有技术中存在的缺少一种能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,用以减少网络传输数据的量级的传输方法的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开的实施例提供了一种虚拟直播数据的传输方法、装置及存储介质,以至少解决现有技术中存在的缺少一种能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,用以减少网络传输数据的量级的传输方法的技术问题。
根据本公开实施例的一个方面,提供了一种虚拟直播数据的传输方法,包括:获取待传输的肢体数据和/或脸部数据;将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输。
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种虚拟直播数据的传输装置装置,包括:第一获取模块,用于获取待传输的肢体数据和/或脸部数据;第一封包模块,用于将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及第一传输模块,用于将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输。
根据本公开实施例的另一个方面,还提供了一种虚拟直播数据的传输装置装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取待传输的肢体数据和/或脸部数据;将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输。
在本公开实施例中,预先自定义与肢体数据和/或脸部数据相关的数据传输协议和建立支持自定义的数据传输协议的数据传输通道,在获取到待传输的肢体数据和/或脸部数据后,将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包并通过支持自定义的数据传输协议的数据传输通道进行传输。从而,实现了能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级的技术效果。进而解决了现有技术中存在的缺少一种能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,用以减少网络传输数据的量级的传输方法的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
图2是根据本公开实施例1的第一个方面所述的虚拟直播数据的传输方法的流程示意图;
图3是根据本公开实施例1所述的NAL头的示意图;
图4是根据本公开实施例2所述的虚拟直播数据的传输装置的示意图;以及
图5是根据本公开实施例3所述的虚拟直播数据的传输装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本实施例,提供了一种虚拟直播数据的传输方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在服务器或者类似的计算设备中执行。图1示出了一种用于实现虚拟直播数据的传输方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的虚拟直播数据的传输方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的虚拟直播数据的传输方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
在上述运行环境下,根据本实施例的第一个方面,提供了一种虚拟直播数据的传输方法。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
S202:获取待传输的肢体数据和/或脸部数据;
S204:将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及
S206:将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输。
正如上述背景技术中所述的,目前的虚拟直播大多采用动态捕捉设备实时捕捉真实的演员动作信息(演员的肢体数据)以及通过摄像头实时采集演员的脸部数据。由于传统的直播所采用的数据传输通道只能传输视频流数据,因此需要直播平台的服务器根据采集到的肢体数据和脸部数据对虚拟人物进行渲染和驱动,生成实时视频后传输至直播平台的客户端进行直播。相比较于传输实时视频而言,如果能够直接将采集到的肢体数据和脸部数据传输至直播平台的客户端,由客户端进行虚拟人物的渲染和驱动,生成实时视频并直播,将会大大减少网络传输数据的量级。
为了解决上述技术问题,参照图2以及图3所示,在本实施例中,预先自定义数据传输协议和建立支持自定义的数据传输协议的数据传输通道。具体为在RTMP协议(实时信息传输协议)的基础上对RTMP协议中的NAL头的含义进行自定义,即复用了RTMP协议原有的NAL头,并对其含义进行了重新定义,然后建立支持上述自定义的数据传输协议的数据传输通道。因此,在虚拟直播数据的传输过程中,首先获取待传输的肢体数据和/或脸部数据。其中,肢体数据可以从动态捕捉设备获取,脸部数据可以从图像采集设备获取。
进一步地,将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,最后将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输。从而,实现了能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级的技术效果。进而解决了现有技术中存在的缺少一种能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,用以减少网络传输数据的量级的传输方法的技术问题。
可选地,获取待传输的肢体数据和/或脸部数据的操作之前,还包括通过以下操作对RTMP协议中的NAL头的含义进行自定义:将NAL头的第一位表示为数据传输协议的错误位;将NAL头的第二位和第三位表示为帧类型;以及将NAL头的后五位表示为数据包的类型,其中NAL头的后五位的不同取值表示不同类型的数据。
具体地,参照图3所述,对RTMP协议中的NAL头的含义进行自定义的过程中,首先将NAL头分为0区域、1区域和2区域这三个区域,0区域包含NAL头的第一位(即,第一个bit),1区域包含NAL头的第二位和第三位(即,第二个bit和第三个bit),2区域包含NAL头的后五位(即,最后五个bit)。然后赋予各个区域不同的表示,将NAL头的0区域(即,第一位)表示为数据传输协议的错误位,将NAL头的1区域(即,第二位和第三位)表示为帧类型,将NAL头的2区域(即,后五位)表示为数据包的类型。其中NAL头的后五位的不同取值表示不同类型的数据。
在一个优选实施例中,NAL头的后五位的取值为5时表示肢体数据和/或脸部数据,NAL头的后五位的取值为6时表示远程命令,远程命令例如为播放特效以及事件等。此外,RTMP协议的NAL头的第一位的取值为0,而本申请为非视频编码,默认为1。考虑到兼容性,在发现NAL头的第一位的取值为1影响传输时,将NAL头的第一位的取值改为0。进一步地,NAL头的第二位和第三位的不同取值也表示不同类型的帧数据。示例性的,当NAL头的第二位和第三位的取值为3时表示帧数据的类型为全帧,取值为1时表示帧数据的类型为补帧,取值为2时表示帧数据的类型为补帧的中间帧。需要特别说明的是,NAL头的各个bit的取值也可以为其他值,此处不做具体的限定。
可选地,直播用户的终端设备预先安装有与直播平台对应的直播客户端,并且获取待传输的肢体数据和/脸部数据的操作,包括:从动态捕捉设备获取肢体数据和/或从图像采集设备获取脸部数据;以及将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输的操作包括:将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道传输至直播客户端。
具体地,可以从动态捕捉设备获取肢体数据,其中动态捕捉设备例如为NoitomLegacy设备,可以通过Noitom Legacy设备进行真人的肢体数据的实时采集。还可以从图像采集设备获取脸部数据,其中图像采集设备例如为摄像头,可以通过摄像头实时采集真人的脸部数据。
进一步地,直播用户的终端设备预先安装有与直播平台对应的直播客户端,可以预先在直播平台的服务器和直播平台的各个直播客户端之间建立支持上述自定义的数据传输协议的数据传输通道,然后将肢体数据包和/或脸部数据包通过该数据传输通道传输至直播客户端。使得直播客户端能够利用预先配置的实时渲染引擎进行虚拟人物的渲染和驱动,生成实时视频并直播。通过这种方式,不仅能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,还能够通过
可选地,该方法还包括:获取待传输至直播客户端的音频数据;将音频数据按照RTMP协议进行封包操作,生成音频数据包;以及将音频数据包通过支持RTMP协议的数据传输通道传输至直播客户端。
具体地,在本实施例中,可以从音频采集设备获取待传输至直播客户端的音频数据,然后使用现有的RTMP协议进行封包操作,生成音频数据包,并通过支持RTMP协议的数据传输通道传输至直播客户端。通过这种方式,能够快速地将音频数据传输至直播客户端。
可选地,将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包的操作,包括:根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及将压缩编码数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包。
具体地,由于所获取的肢体数据和/或脸部数据的相邻帧之间存在很大的相关性,存在着很多相同的数据,因此需要根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据后,将压缩编码数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包。从而,有效提高了传输层的传输速度和带宽压力。
可选地,肢体数据和/或脸部数据为肢体帧数据集合和/或脸部帧数据集合,其中肢体帧数据集合由多个与肢体相关的帧数据组成,脸部帧数据集合由多个与脸部相关的帧数据组成,并且根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据的操作,包括:对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型,其中帧数据的类型包括原始帧和变化帧;将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定类型为变化帧的帧数据中发生变化的单元数据;确定发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据;根据物体数据ID、单元数据下标和单元数据,将类型为变化帧的帧数据编码为变化帧数据;以及根据类型为原始帧的帧数据和变化帧数据,生成压缩编码数据。
具体地,获取的肢体数据和/或脸部数据为肢体帧数据集合和/或脸部帧数据集合。在本实施例中,预设的压缩编码算法的核心思路为将帧数据分为很多单元数据,每一个单元数据包括x,y,z轴的空间信息以及对应的旋转信息,需要找出相邻帧之间的重复单元并对其进行压缩编码,以提高传输层的传输速度和带宽压力。因此,根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据的操作包括:首先肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型,即确定每一帧数据的类型为原始帧(I帧)还是变化帧(P帧)。
进一步地,将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定类型为变化帧的帧数据中发生变化的单元数据,从而找出相邻帧之间重复的单元数据。对于重复的单元数据,可以直接进行压缩,对于发生变化的单元数据,需要确定发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据。其中,物体数据例如为人的肢体数据。最后,根据物体数据ID、单元数据下标和单元数据,将类型为变化帧的帧数据编码为变化帧数据,以及根据类型为原始帧的帧数据和变化帧数据,生成压缩编码数据。通过这种方式,能够有效的找出相邻帧之间的重复单元并对其进行压缩编码,以提高传输层的传输速度和带宽压力。
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图4示出了根据本实施例所述的虚拟直播数据的传输装置400,该装置400与根据实施例1的第一个方面所述的方法相对应。参考图4所示,该装置400包括:第一获取模块410,用于获取待传输的肢体数据和/或脸部数据;第一封包模块420,用于将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及第一传输模块430,用于将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输。
可选地,装置300还包括:定义模块,用于通过以下子模块对RTMP协议中的NAL头的含义进行自定义:第一定义子模块,用于将NAL头的第一位表示为数据传输协议的错误位;第二定义子模块,用于将NAL头的第二位和第三位表示为帧类型;以及第三定义子模块,用于将NAL头的后五位表示为数据包的类型,其中NAL头的后五位的不同取值表示不同类型的数据。
可选地,NAL头的后五位的取值为5时表示肢体数据和/或脸部数据,NAL头的后五位的取值为6时表示远程命令。
可选地,直播用户的终端设备预先安装有与直播平台对应的直播客户端,并且第一获取模块410包括:获取子模块,用于从动态捕捉设备获取肢体数据和/或从图像采集设备获取脸部数据;以及第一传输模块430包括:传输子模块,用于将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道传输至直播客户端。
可选地,装置300还包括:第二获取模块,用于获取待传输至直播客户端的音频数据;第二封包模块,用于将音频数据按照RTMP协议进行封包操作,生成音频数据包;以及第二传输模块,用于将音频数据包通过支持RTMP协议的数据传输通道传输至直播客户端。
可选地,第一封包模块420包括:压缩编码子模块,用于根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及封包子模块,用于将压缩编码数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包。
可选地,肢体数据和/或脸部数据为肢体帧数据集合和/或脸部帧数据集合,其中肢体帧数据集合由多个与肢体相关的帧数据组成,脸部帧数据集合由多个与脸部相关的帧数据组成,并且压缩编码子模块,包括:解析单元,用于对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型,其中帧数据的类型包括原始帧和变化帧;比对单元,用于将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定类型为变化帧的帧数据中发生变化的单元数据;确定单元,用于确定发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据;编码单元,用于根据物体数据ID、单元数据下标和单元数据,将类型为变化帧的帧数据编码为变化帧数据;以及生成单元,用于根据类型为原始帧的帧数据和变化帧数据,生成压缩编码数据。
从而根据本实施例,预先自定义与肢体数据和/或脸部数据相关的数据传输协议和建立支持自定义的数据传输协议的数据传输通道,在获取到待传输的肢体数据和/或脸部数据后,将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包并通过支持自定义的数据传输协议的数据传输通道进行传输。从而,实现了能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级的技术效果。进而解决了现有技术中存在的缺少一种能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,用以减少网络传输数据的量级的传输方法的技术问题。
实施例3
图5示出了根据本实施例所述的虚拟直播数据的传输装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:处理器510;以及存储器520,与处理器510连接,用于为处理器510提供处理以下处理步骤的指令:获取待传输的肢体数据和/或脸部数据;将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输。
可选地,存储器520还用于为处理器510提供处理以下处理步骤的指令:获取待传输的肢体数据和/或脸部数据的操作之前,通过以下操作对RTMP协议中的NAL头的含义进行自定义:将NAL头的第一位表示为数据传输协议的错误位;将NAL头的第二位和第三位表示为帧类型;以及将NAL头的后五位表示为数据包的类型,其中NAL头的后五位的不同取值表示不同类型的数据。
可选地,NAL头的后五位的取值为5时表示肢体数据和/或脸部数据,NAL头的后五位的取值为6时表示远程命令。
可选地,直播用户的终端设备预先安装有与直播平台对应的直播客户端,并且获取待传输的肢体数据和/脸部数据的操作,包括:从动态捕捉设备获取肢体数据和/或从图像采集设备获取脸部数据;以及将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道进行传输的操作包括:将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道传输至直播客户端。
可选地,存储器520还用于为处理器510提供处理以下处理步骤的指令:获取待传输至直播客户端的音频数据;将音频数据按照RTMP协议进行封包操作,生成音频数据包;以及将音频数据包通过支持RTMP协议的数据传输通道传输至直播客户端。
可选地,将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包的操作,包括:根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及将压缩编码数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包。
可选地,肢体数据和/或脸部数据为肢体帧数据集合和/或脸部帧数据集合,其中肢体帧数据集合由多个与肢体相关的帧数据组成,脸部帧数据集合由多个与脸部相关的帧数据组成,并且根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据的操作,包括:对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型,其中帧数据的类型包括原始帧和变化帧;将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定类型为变化帧的帧数据中发生变化的单元数据;确定发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据;根据物体数据ID、单元数据下标和单元数据,将类型为变化帧的帧数据编码为变化帧数据;以及根据类型为原始帧的帧数据和变化帧数据,生成压缩编码数据。
从而根据本实施例,预先自定义与肢体数据和/或脸部数据相关的数据传输协议和建立支持自定义的数据传输协议的数据传输通道,在获取到待传输的肢体数据和/或脸部数据后,将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包并通过支持自定义的数据传输协议的数据传输通道进行传输。从而,实现了能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级的技术效果。进而解决了现有技术中存在的缺少一种能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,用以减少网络传输数据的量级的传输方法的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种虚拟直播数据的传输方法,其特征在于,包括:
获取待传输的肢体数据和/或脸部数据;
将所述肢体数据和/或所述脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中所述自定义的数据传输协议为在RTMP协议的基础上对所述RTMP协议中的NAL头的含义进行自定义得到的;以及
将所述肢体数据包和/或所述脸部数据包通过支持所述自定义的数据传输协议的数据传输通道进行传输;其中
获取待传输的肢体数据和/或脸部数据的操作之前,还包括通过以下操作对所述RTMP协议中的NAL头的含义进行自定义:
将所述NAL头的第一位表示为所述数据传输协议的错误位;
将所述NAL头的第二位和第三位表示为帧类型;并且其中
将所述NAL头的后五位表示为数据包的类型,其中所述NAL头的后五位的不同取值表示不同类型的数据;以及
所述NAL头的后五位的取值为5时表示所述肢体数据和/或所述脸部数据,所述NAL头的后五位的取值为6时表示远程命令。
2.根据权利要求1所述的方法,其特征在于,直播用户的终端设备预先安装有与直播平台对应的直播客户端,并且
获取待传输的肢体数据和/脸部数据的操作,包括:从动态捕捉设备获取所述肢体数据和/或从图像采集设备获取所述脸部数据;以及
将所述肢体数据包和/或所述脸部数据包通过支持所述自定义的数据传输协议的数据传输通道进行传输的操作包括:将所述肢体数据包和/或所述脸部数据包通过支持所述自定义的数据传输协议的数据传输通道传输至所述直播客户端。
3.根据权利要求2所述的方法,其特征在于,还包括:
获取待传输至所述直播客户端的音频数据;
将所述音频数据按照所述RTMP协议进行封包操作,生成音频数据包;以及
将所述音频数据包通过支持所述RTMP协议的数据传输通道传输至所述直播客户端。
4.根据权利要求1所述的方法,其特征在于,将所述肢体数据和/或所述脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包的操作,包括:
根据预设的压缩编码算法对所述肢体数据和/或所述脸部数据进行压缩编码,生成压缩编码数据;以及
将所述压缩编码数据按照所述自定义的数据传输协议进行封包操作,生成所述肢体数据包和/或所述脸部数据包。
5.根据权利要求4所述的方法,其特征在于,所述肢体数据和/或所述脸部数据为肢体帧数据集合和/或脸部帧数据集合,其中所述肢体帧数据集合由多个与肢体相关的帧数据组成,所述脸部帧数据集合由多个与脸部相关的帧数据组成,并且根据预设的压缩编码算法对所述肢体数据和/或所述脸部数据进行压缩编码,生成压缩编码数据的操作,包括:
对所述肢体帧数据集合和/或所述脸部帧数据集合中的帧数据进行解析,确定所述帧数据的类型,其中所述帧数据的类型包括原始帧和变化帧;
将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定所述类型为变化帧的帧数据中发生变化的单元数据;
确定所述发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据;
根据所述物体数据ID、所述单元数据下标和所述单元数据,将所述类型为变化帧的帧数据编码为变化帧数据;以及
根据所述类型为原始帧的帧数据和所述变化帧数据,生成所述压缩编码数据。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至5中任意一项所述的方法。
7.一种虚拟直播数据的传输装置,其特征在于,包括:
第一获取模块,用于获取待传输的肢体数据和/或脸部数据;
第一封包模块,用于将所述肢体数据和/或所述脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中所述自定义的数据传输协议为在RTMP协议的基础上对所述RTMP协议中的NAL头的含义进行自定义得到的;
第一传输模块,用于将所述肢体数据包和/或所述脸部数据包通过支持所述自定义的数据传输协议的数据传输通道进行传输;
定义模块,用于通过以下子模块对所述RTMP协议中的NAL头的含义进行自定义:第一定义子模块,用于将所述NAL头的第一位表示为所述数据传输协议的错误位;
第二定义子模块,用于将所述NAL头的第二位和第三位表示为帧类型;并且其中
第三定义子模块,用于将所述NAL头的后五位表示为数据包的类型,其中所述NAL头的后五位的不同取值表示不同类型的数据;以及
所述NAL头的后五位的取值为5时表示所述肢体数据和/或脸部数据,所述NAL头的后五位的取值为6时表示远程命令。
8.一种虚拟直播数据的传输装置,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
获取待传输的肢体数据和/或脸部数据;
将所述肢体数据和/或所述脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中所述自定义的数据传输协议为在RTMP协议的基础上对所述RTMP协议中的NAL头的含义进行自定义得到的;
将所述肢体数据包和/或所述脸部数据包通过支持所述自定义的数据传输协议的数据传输通道进行传输;其中
获取待传输的肢体数据和/或脸部数据的操作之前,还包括通过以下操作对所述RTMP协议中的NAL头的含义进行自定义:
将所述NAL头的第一位表示为所述数据传输协议的错误位;
将所述NAL头的第二位和第三位表示为帧类型;并且其中
将所述NAL头的后五位表示为数据包的类型,其中所述NAL头的后五位的不同取值表示不同类型的数据;以及
所述NAL头的后五位的取值为5时表示所述肢体数据和/或所述脸部数据,所述NAL头的后五位的取值为6时表示远程命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762773.9A CN112004101B (zh) | 2020-07-31 | 2020-07-31 | 虚拟直播数据的传输方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762773.9A CN112004101B (zh) | 2020-07-31 | 2020-07-31 | 虚拟直播数据的传输方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112004101A CN112004101A (zh) | 2020-11-27 |
CN112004101B true CN112004101B (zh) | 2022-08-26 |
Family
ID=73463277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010762773.9A Active CN112004101B (zh) | 2020-07-31 | 2020-07-31 | 虚拟直播数据的传输方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112004101B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584800B (zh) * | 2022-03-16 | 2024-09-20 | 京东科技信息技术有限公司 | 流媒体传输方法、装置和电子设备 |
WO2023206359A1 (zh) * | 2022-04-29 | 2023-11-02 | 云智联网络科技(北京)有限公司 | 直播过程中虚拟形象的视觉行为和音频的传输播放方法和交互系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567948B2 (en) * | 1997-10-27 | 2003-05-20 | Kencast, Inc. | Method and system for reliable broadcasting of data files and streams |
CN107147916A (zh) * | 2017-06-09 | 2017-09-08 | 苏州蜗牛数字科技股份有限公司 | 一种在传输层上传输h.265编码视频数据的方法 |
CN108076391A (zh) * | 2016-12-23 | 2018-05-25 | 北京市商汤科技开发有限公司 | 用于直播场景的图像处理方法、装置和电子设备 |
CN110650354A (zh) * | 2019-10-12 | 2020-01-03 | 苏州大禹网络科技有限公司 | 虚拟动漫角色直播方法、系统、设备及存储介质 |
CN111010589A (zh) * | 2019-12-19 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 基于人工智能的直播方法、装置、设备及存储介质 |
CN111147873A (zh) * | 2019-12-19 | 2020-05-12 | 武汉西山艺创文化有限公司 | 基于5g通信的虚拟形象直播方法及系统 |
-
2020
- 2020-07-31 CN CN202010762773.9A patent/CN112004101B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567948B2 (en) * | 1997-10-27 | 2003-05-20 | Kencast, Inc. | Method and system for reliable broadcasting of data files and streams |
CN108076391A (zh) * | 2016-12-23 | 2018-05-25 | 北京市商汤科技开发有限公司 | 用于直播场景的图像处理方法、装置和电子设备 |
CN107147916A (zh) * | 2017-06-09 | 2017-09-08 | 苏州蜗牛数字科技股份有限公司 | 一种在传输层上传输h.265编码视频数据的方法 |
CN110650354A (zh) * | 2019-10-12 | 2020-01-03 | 苏州大禹网络科技有限公司 | 虚拟动漫角色直播方法、系统、设备及存储介质 |
CN111010589A (zh) * | 2019-12-19 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 基于人工智能的直播方法、装置、设备及存储介质 |
CN111147873A (zh) * | 2019-12-19 | 2020-05-12 | 武汉西山艺创文化有限公司 | 基于5g通信的虚拟形象直播方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112004101A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3557534A1 (en) | Information processing method and apparatus | |
US20200092600A1 (en) | Method and apparatus for presenting video information | |
CN112004101B (zh) | 虚拟直播数据的传输方法、装置及存储介质 | |
KR100785013B1 (ko) | 3d 압축 데이터 생성, 복원 방법 및 그 장치 | |
CN108200447A (zh) | 直播数据传输方法、装置、电子设备、服务器及存储介质 | |
CN108063946B (zh) | 图像编码方法和装置、存储介质及电子装置 | |
CN110519607B (zh) | 视频解码方法及装置,视频编码方法及装置 | |
CN110519247B (zh) | 一种一对多虚拟现实展示方法及装置 | |
CN114584737B (zh) | 一种云会议中实时多人同场景自定义的方法与系统 | |
CN114786040B (zh) | 数据通信方法、系统、电子设备和存储介质 | |
CN115567661A (zh) | 视频数据的处理方法、系统、计算机设备和存储介质 | |
CN113473106A (zh) | 图像传输方法、图像显示及处理设备、及图像传输系统 | |
CN110650357B (zh) | 视频解码方法及装置 | |
CN111970522A (zh) | 虚拟直播数据的处理方法、装置及存储介质 | |
CN106792133A (zh) | 虚拟现实服务器、视频数据传输方法及系统 | |
CN110572673A (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
CN113207040A (zh) | 一种视频远程快速回放的数据处理方法、装置及系统 | |
CN110662071A (zh) | 视频解码方法和装置、存储介质及电子装置 | |
CN110572672A (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
KR100785012B1 (ko) | 3d 압축 데이터 생성, 복원 방법 및 그 장치 | |
CN108124183B (zh) | 以同步获取影音以进行一对多影音串流的方法 | |
CN115103228A (zh) | 视频流传输方法、装置、电子设备、存储介质及产品 | |
CN108900893A (zh) | 一种图片处理方法及装置 | |
CN114466224A (zh) | 视频数据的编解码方法和装置、存储介质及电子设备 | |
CN110636295A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220324 Address after: 414, floor 4, courtyard 19, Xinyuan Xili, Chaoyang District, Beijing Applicant after: Beijing Xinyu Technology Co.,Ltd. Address before: 100000 1603B, block a, Shangdu international, Chaoyang District, Beijing Applicant before: BEIJING LINYUN INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |