CN111163360B - 视频处理方法、装置、计算机可读存储介质和计算机设备 - Google Patents

视频处理方法、装置、计算机可读存储介质和计算机设备 Download PDF

Info

Publication number
CN111163360B
CN111163360B CN202010001932.3A CN202010001932A CN111163360B CN 111163360 B CN111163360 B CN 111163360B CN 202010001932 A CN202010001932 A CN 202010001932A CN 111163360 B CN111163360 B CN 111163360B
Authority
CN
China
Prior art keywords
file
video data
demonstration
video
presentation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010001932.3A
Other languages
English (en)
Other versions
CN111163360A (zh
Inventor
李杨
苏政豪
潘梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010001932.3A priority Critical patent/CN111163360B/zh
Publication of CN111163360A publication Critical patent/CN111163360A/zh
Application granted granted Critical
Publication of CN111163360B publication Critical patent/CN111163360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Abstract

本申请涉及一种视频处理方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取拍摄目标对象所得的视频数据;从演示文件中,读取在拍摄所述目标对象时所展示的演示子文件;获取所述演示子文件在展示过程中所生成的交互信息;当对所述视频数据进行编码时,将所述演示子文件和所述交互信息作为补充增强信息与所述视频数据进行封装,得到视频数据包;将所述视频数据包传输至对应的接收端。本申请提供的方案可以避免因视频传输采用双路传输的方式而占用大量的传输资源。

Description

视频处理方法、装置、计算机可读存储介质和计算机设备
技术领域
本申请涉及视频处理技术领域,特别是涉及一种视频处理方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着视频处理技术和网络技术的不断发展,越来越多的在线教学视频不断涌现,用户可以通过互联网在线观看直播或录播的教学视频。在教学视频中,通常有两个视频画面,一个是目标对象在授课的视频画面,另一个是授课时包含授课内容的演示文件画面。当包含两个视频画面的教学视频传输给用户时,通常是采用双路传输的方式,而双路传输的方式将会占用大量的传输资源。
发明内容
基于此,有必要针对因视频传输采用双路传输的方式而占用大量的传输资源的技术问题,提供一种视频处理方法、装置、计算机可读存储介质和计算机设备。
一种视频处理方法,包括:
获取拍摄目标对象所得的视频数据;
从演示文件中,读取在拍摄所述目标对象时所展示的演示子文件;
获取所述演示子文件在展示过程中所生成的交互信息;
当对所述视频数据进行编码时,将所述演示子文件和所述交互信息作为补充增强信息与所述视频数据进行封装,得到视频数据包;
将所述视频数据包传输至对应的接收端。
在一个实施例中,所述文件显示页面包括第一显示区域和第二显示区域;所述方法还包括:
将所述至少两个演示子文件以缩略图形式展示于所述第一显示区域;
所述将所提取的演示子文件展示于所述文件显示页面包括:
将所提取的演示子文件展示于所述第二显示区域。
在一个实施例中,所述将所述演示子文件和所述交互信息作为补充增强信息与所述视频数据进行封装包括:
将所述演示子文件和所述交互信息作为所述视频数据的补充增强信息;
构建包含所述补充增强信息的包头以及以所述视频数据为负荷的包体。
在一个实施例中,所述将所述演示子文件和所述交互信息作为补充增强信息与所述视频数据进行封装包括:
当所述演示子文件或所述视频数据的数据量达到预设阈值时,将所述演示子文件、所述视频数据和所述交互信息分别进行分割;
分别将分割后的演示子文件和交互信息作为补充增强信息,与分割后的对应视频数据进行封装,得到多个视频数据包。
在一个实施例中,所述方法还包括:
在拍摄所述目标对象的过程中,采集音频数据;
将所采集的音频数据进行封装,得到语音数据包;
所述将所述视频数据包传输至对应的接收端包括:
将所述视频数据包与所述语音数据包传输至对应的接收端。
一种视频处理装置,所述装置包括:
第一获取模块,用于获取拍摄目标对象所得的视频数据;
读取模块,用于从演示文件中,读取在拍摄所述目标对象时所展示的演示子文件;
第二获取模块,用于获取所述演示子文件在展示过程中所生成的交互信息;
封装模块,用于当对所述视频数据进行编码时,将所述演示子文件和所述交互信息作为补充增强信息与所述视频数据进行封装,得到视频数据包;
传输模块,用于将所述视频数据包传输至对应的接收端。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述视频处理方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述视频处理方法的步骤。
上述视频处理方法、装置、计算机可读存储介质和计算机设备,通过将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,与对应的视频数据进行封装,从而避免了传统方案中单独对拍摄目标对象所得的视频数据进行视频编码,以及单独对演示文件中的各演示子文件和交互信息所形成的视频流进行视频编码,从而可以采用单路传输的方式传输封装所得的视频数据包,无需占用大量的传输资源,提高了传输资源的利用率。此外,由于将将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,而非将其单独形成视频流,从而在播放视频数据和演示子文件时,无需额外做同步处理,也能确保同步,避免了额外的计算开销。
一种视频处理方法,包括:
接收视频数据包;
解析所述视频数据包,得到视频数据、演示子文件和交互信息;
在视频播放页面的第一播放区域播放所述视频数据;
在所述视频播放页面的第二播放区域展示所述演示子文件;以及,
在展示的所述演示子文件上,根据所述交互信息绘制对应的图形或文字。
在一个实施例中,所述方法还包括:
当确定所述交互信息为分割后的交互信息时,将解析所得的多个交互信息进行组装,得到完整的交互信息;
所述根据所述交互信息绘制对应的图形或文字包括:
根据所述完整的交互信息绘制对应的图形或文字。
在一个实施例中,所述补充增强信息在服务器中保存;所述方法还包括:
当授课中途通过进入所述视频播放页面时,从所述服务器保存的补充增强信息中获取最新的演示子文件;以及,
从所述服务器保存的补充增强信息中,拉取与所获取的演示子文件对应的交互信息;
通过所述最新的演示子文件和所拉取的交互信息匹配当前的播放进度。
一种视频处理装置,所述装置包括:
接收模块,用于接收视频数据包;
解析模块,用于解析所述视频数据包,得到视频数据、演示子文件和交互信息;
第一播放模块,用于在视频播放页面的第一播放区域播放所述视频数据;
第二播放模块,用于在所述视频播放页面的第二播放区域展示所述演示子文件;
绘制模块,用于在展示的所述演示子文件上,根据所述交互信息绘制对应的图形或文字。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述视频处理方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述视频处理方法的步骤。
上述视频处理方法、装置、计算机可读存储介质和计算机设备,由于将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,从而在播放视频数据和演示子文件时,无需额外做同步处理,也能确保同步,避免了额外的计算开销。此外,发送端通过将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,与对应的视频数据进行封装,从而避免了传统方案中单独对拍摄目标对象所得的视频数据进行视频编码,以及单独对演示文件中的各演示子文件和交互信息所形成的视频流进行视频编码,从而可以采用单路传输的方式传输封装所得的视频数据包,无需占用大量的传输资源,提高了传输资源的利用率。
附图说明
图1为一个实施例中视频处理方法的应用环境图;
图2为一个实施例中视频处理方法的流程示意图;
图3为一个实施例中文件显示页面的界面示意图;
图4为一个实施例中将PPT文件转换为PDF文件的流程示意图;
图5为另一个实施例中文件显示页面的界面示意图;
图6为一个实施例中视频数据包的结构示意图;
图7为另一个实施例中视频处理方法的流程示意图;
图8为一个实施例中RTP格式的视频数据包的结构示意图;
图9为一个实施例中授课老师未添加PPT文件时的视频播放页面的界面示意图;
图10为一个实施例中授课老师添加PPT文件后的视频播放页面的界面示意图;
图11为一个实施例中视频处理装置的结构框图;
图12为另一个实施例中视频处理装置的结构框图;
图13为另一个实施例中视频处理装置的结构框图;
图14为另一个实施例中视频处理装置的结构框图;
图15为一个实施例中计算机设备的结构框图;
图16为另一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中视频处理方法的应用环境图。参照图1,该视频处理方法应用于视频处理系统。该视频处理系统包括第一终端110、服务器120和第二终端130。终端110、服务器120和第二终端130通过网络连接。第一终端110可作为发送端,第二终端130可作为接收端。第一终端110获取拍摄目标对象所得的视频数据;从演示文件中,读取在拍摄目标对象时所展示的演示子文件;获取演示子文件在展示过程中所生成的交互信息;当对视频数据进行编码时,将演示子文件和交互信息作为补充增强信息与视频数据进行封装,得到视频数据包;将视频数据包通过服务器120传输至对应的第二终端130。
第二终端130接收第一终端110通过服务器120发送的视频数据包;解析视频数据包,得到视频数据、演示子文件和交互信息;在视频播放页面的第一播放区域播放视频数据;在视频播放页面的第二播放区域展示演示子文件;以及,在展示的演示子文件上,根据交互信息绘制对应的图形或文字。
其中,第一终端110和第二终端130具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种视频处理方法。本实施例主要以该方法应用于上述图1中的第一终端110来举例说明。参照图2,该视频处理方法具体包括如下步骤:
S202,获取拍摄目标对象所得的视频数据。
其中,目标对象可以指通过控制第一终端对演示文件中的演示子文件进行展示和切换,以及对该演示文件进行讲解的人员,如在线讲师(即在线的授课老师)。
在一个实施例中,第一终端在启动客户端进入直播间时,调用摄像头接口,通过该摄像头接口开启摄像头,通过该摄像头拍摄目标对象,以获取拍摄目标对象所得的视频数据。其中,该客户端可以是视频直播客户端,目标对象可以通过其账号进入第一系统(如授课系统),在该第一系统中,目标对象可以进行相应的操作(如显示和切换演示子文件,以及对所显示的演示子文件进行讲解)。
在一个实施例中,第一终端通过内置摄像头拍摄目标对象,得到对应的视频数据。或者,当与第一终端连接的独立摄像头拍摄目标对象得到视频数据时,第一终端可以从所连接的摄像头处获取该视频数据。
S204,从演示文件中,读取在拍摄目标对象时所展示的演示子文件。
其中,演示文件可以是能够在显示设备上显示的文件。例如,该演示文件具体可以是PPT(PowerPoint,演示文稿)格式的文件,其后缀名为ppt或pptx。演示子文件可以是演示文件中某一页(或多页)演示内容所对应的文件,例如PPT文件共有10页,那么PPT子文件则可以是第1页至第10页中任一页演示文本和/或图像的,然后将该页的演示文本和/或图像保存为PPT格式的文件。
在一个实施例中,S204之前,第一终端根据输入的操作指令显示演示文件中的演示子文件,该操作指令可以是定位指令或翻页指令。
例如,如图3所示,为文件显示页面,用户可以在文件显示页面左边的缩略图中选中其中一个缩略图,生成定位到第6页PPT的定位指令,从而在文件显示页面右边的显示区域显示第6页PPT的文字内容。
在一个实施例中,S204之前,第一终端启动客户端,然后在第一主操作页面(即首页)上展示各直播间的入口,根据输入的选择指令在第一主操作页面上选择并进入目标直播间。然后,第一终端在目标直播间中的文件显示页面,展示演示文件中的演示子文件。
在一个实施例中,当进入目标直播间时,第一终端展示文件显示页面;将演示文件拖动至文件显示页面;或者,通过文件显示页面中的添加控件添加演示文件;在文件显示页面中展示演示文件中的演示子文件。其中,文件显示页面可以是目标直播间中的直播页面,在该直播页面中可以展示演示文件,并且可以对演示文件进行控制,如切换显示演示文件中的演示子文件,或设定各演示子文件的展示时间等等。
例如,当文件显示页面以非全屏方式显示时,授课老师可以在对应的文件夹中将所要讲解的PPT文件拖入到文件显示页面,这样,PPT文件便可以在文件显示页面中进行显示。或者,当目标直播间或直播页面以全屏方式显示时,授课老师可以通过文件显示页面上设置的添加控件,将对应的文件夹中将所要讲解的PPT文件进行添加,这样,PPT文件便可以在文件显示页面中进行显示。
在一个实施例中,S204之前,第一终端可以将演示文件的格式进行转换,得到矢量图像格式的至少两个演示子文件,将转换后的演示子文件展示于文件显示页面,然后从转换后的演示文件中读取在拍摄目标对象时所展示的演示子文件。
例如,假设有10页的PPT文件,第一终端可以将该10页的PPT文件分页转换为PDF(Portable Document Format,便携式文档格式)文件,即可得到与该PPT文件对应的10个PDF文件(即每一页对应一个PDF文件)。在拍摄目标对象的过程中,当展示第1页的PDF文件时,第一终端则从该10个PDF文件中读取第1页的PDF文件。
具体地,第一终端调用文件格式转换接口;利用该文件格式转换接口对演示文件进行格式转换,得到矢量图像格式的至少两个演示子文件;在文件显示页面中展示演示文件中的演示子文件的步骤,具体可以包括:从至少两个演示子文件中提取对应页的演示子文件;将所提取的演示子文件展示于文件显示页面。
在一个实施例中,第一终端首先要判定演示文件的格式是否满足格式转换条件,当满足格式转换条件时,调用文件格式转换接口,然后利用该文件格式转换接口对演示文件进行格式转换,得到矢量图像格式的至少两个演示子文件。
例如,当演示文件的格式为PPT格式时,第一终端可以调用com接口,利用该com接口将PPT格式的演示文件(即PPT文件)转换为多个PDF格式的演示文件(即多个PDF文件)。其中,PDF格式的演示文件的数量与PPT格式的演示文件的页数相关,当PPT格式的演示文件共有10页时,可以转换为10个PDF格式的演示文件,如图4所示。
在一个实施例中,第一终端接收输入的操作指令,该操作指令可以是定位指令或翻页指令。第一终端从至少两个演示子文件中提取该操作指令指定的演示子文件,然后将所提取的演示子文件展示于文件显示页面。
在一个实施例中,上述的文件显示页面包括第一显示区域和第二显示区域;该方法还包括:将至少两个演示子文件以缩略图形式展示于第一显示区域;将所提取的演示子文件展示于文件显示页面包括:将所提取的演示子文件展示于第二显示区域。
例如,如图3所示,文件显示页面左边的区域(即第一显示区域)显示7个PDF文件的缩略图,在文件显示页面右边的区域(即第二显示区域)显示第6页的PDF文件。
S206,获取演示子文件在展示过程中所生成的交互信息。
其中,交互信息可以指目标对象在文件显示页面上执行交互操作所生成的交互信息(也即交互的信令),包括但不限于演示子文件的页码和交互操作的轨迹在文件显示页面中的坐标。例如,当授课老师在所显示的PDF文件上使用画笔书写(或绘制)时所生成的交互信息,如图5所示,在文件显示页面右边的区域所显示的第6页PDF文件上绘制了一个椭圆形框。
在一个实施例中,演示子文件在展示过程中,当目标对象在所展示的演示子文件上进行交互操作时,按照该交互操作生成对应的交互信息。
在一个实施例中,当目标对象在用于展示演示子文件的文件显示页面进行交互操作时,第一终端获取演示子文件的页码;确定交互操作的轨迹在文件显示页面中的坐标;将坐标和演示子文件的页码作为交互信息。
在一个实施例中,第一终端获得演示子文件的页码和交互操作的轨迹在文件显示页面中的坐标之后,还可以获取交互操作对应的轨迹类型、轨迹宽度和颜色等,将上述的坐标、轨迹类型(如书写类型)、轨迹宽度、颜色和演示子文件的页码作为交互信息。
例如,交互信息的数据结构为:{
书写类型:线;
坐标集合:{p1,p2,p3,p4,p5,……};
轨迹宽度:1像素;
轨迹颜色:红色;
轨迹对应的页码:10;}。
在一个实施例中,当演示子文件或视频数据的数据量达到预设阈值时,第一终端将演示子文件、视频数据和交互信息分别进行分割;分别将分割后的演示子文件和交互信息作为补充增强信息,与分割后的对应视频数据进行封装,得到多个视频数据包。
在一个实施例中,当目标对象在用于展示演示子文件的文件显示页面进行交互操作时,第一终端获取演示子文件的页码;确定交互操作的轨迹在文件显示页面中的坐标;将坐标和演示子文件的页码作为交互信息。
在一个实施例中,第一终端获得演示子文件的页码和交互操作的轨迹在文件显示页面中的坐标之后,还可以获取交互操作对应的包类型、轨迹宽度、颜色、PDF文件的大小(也即数据量)、本包序号、包个数、第一个包发送时间点等,将上述的坐标、包类型、轨迹宽度、颜色、PDF文件的大小(也即数据量)、本包序号、包个数、第一个包发送时间点和演示子文件的页码作为交互信息。
一个PDF文件的大小通常较小,因为是矢量文件,其存储的主要是文本字体等信息,部分场景中可能会嵌入图片,此时含有图片的PDF文件可能会超过10KB,将无法通过一个SEI单元完成传输。因此,将该PDF文件、交互信息和视频数据进行分割,然后将分割后的PDF文件、交互信息作为交互信息封装为SEI数据包,然后将该SEI数据包作为NAL头中的一部分与对应的视频数据进行组合,得到多个视频数据包。其中,该交互信息的数据结构为:
{包类型:pdf/书写;
子类型:页码/书写/擦除/圆心等…;
操作所对应的页码:10;
PDF文件完整大小:150KB;
本包序号:1;
包个数:5;
第一个包发送时间点:85s;
信令具体的数据:坐标集合,轨迹宽度,轨迹颜色;}。
S208,当对视频数据进行编码时,将演示子文件和交互信息作为补充增强信息与视频数据进行封装,得到视频数据包。
其中,视频数据包可以是通过H.264或H.265编码方式编码所得的数据包,其数据结构如图6所示,该视频数据包包括两个部分:NAL(Network Abstraction Layer,网络提取层)头和RBSP(Raw Byte Sequence Payload,原始字节序列负荷)。补充增强信息(Supplemental Enhancement Information)是H.264或H.265编码中的组成部分,属于NAL头中的一部分,提供了向视频码流中加入信息的办法,是H.264和H.265视频压缩标准的特性之一。
在一个实施例中,第一终端将演示子文件和交互信息作为视频数据的补充增强信息;构建包含补充增强信息的包头以及以视频数据为负荷的包体。
其中,上述的包头可以是NAL头,上述的包体可以是RBSP。
S210,将视频数据包传输至对应的接收端。
其中,上述的接收端为图1中的第二终端120。
在一个实施例中,第一终端通过RTP(Real-time Transport Protocol,实时传输协议)对该视频数据包进行再次封装,得到RTP视频数据包,然后将该RTP视频数据包传输至第二终端。
在一个实施例中,第一终端在拍摄目标对象的过程中,采集音频数据;将所采集的音频数据进行封装,得到语音数据包;S210具体可以包括:第二终端将视频数据包与语音数据包传输至对应的接收端。
上述实施例中,通过将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,与对应的视频数据进行封装,从而避免了传统方案中单独对拍摄目标对象所得的视频数据进行视频编码,以及单独对演示文件中的各演示子文件和交互信息所形成的视频流进行视频编码,从而可以采用单路传输的方式传输封装所得的视频数据包,无需占用大量的传输资源,提高了传输资源的利用率。此外,由于将将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,而非将其单独形成视频流,从而在播放视频数据和演示子文件时,无需额外做同步处理,也能确保同步,避免了额外的计算开销。
如图7所示,在一个实施例中,提供了一种视频处理方法。本实施例主要以该方法应用于上述图1中的第二终端130来举例说明。参照图7,该视频处理方法具体包括如下步骤:
S702,接收视频数据包。
其中,该视频数据包可以是RTP格式的视频数据包,该RTP格式的视频数据包中包含有RTP头和NAL单元,如图8所示。该NAL单元中的数据,是由H.264或H.265编码方式对视频数据进行编码所得的视频数据包。通过H.264或H.265编码所得的视频数据包中包含有NAL头和RBSP。NAL头中包含有视频数据的补充增强信息。RBSP是视频数据包的包体,该包体中承载了视频数据。
在一个实施例中,第一终端通过H.264或H.265编码方式对视频数据进行编码得到视频数据包之后,利用RTP方式对该视频数据包进行再次封装,得到RTP格式的视频数据包,然后将该RTP格式的视频数据包传输至第二终端。第二终端接收第一终端发送的RTP格式的视频数据包。
在一个实施例中,S702之前,第二终端启动客户端,根据用户的账号确定用户类型,用户类型包括学员和授课老师至少两种类型。当确定是学员时,第二终端则接入第二系统。
其中,该客户端可以是视频直播客户端,用户(如学员)可以通过其账号进入第二系统(如听课系统),在进入该第二系统中,第二终端可以接收第一终端发送过来的视频数据包并进行解析和播放。
在一个实施例中,当进入第二系统时,第二终端将显示第二主操作页面,在该第二主操作页面中显示有各直播间的入口。根据输入的选择指令在主操作页面上选择并进入目标直播间。
在一个实施例中,第二终端在进入直播间后,若未接收到视频数据包,则向发送端(即第一终端)或服务器发送重传请求,以指示第一终端或服务器重新传输视频数据包;当预设时长内接收到视频数据包时,执行S702;当预设时长内依然未接收到视频数据包时,则退出直播间,并重新进入直播间。
在一个实施例中,当预设时长内未接收到发送端发送的视频数据包时,第二终端退出该直播间,然后选择新的服务器进行接入,以重新进入直播间。
例如,当网络质量较差时,为了确保每个视频数据包的正确收取,将会采用重传机制,当第二终端未接收到视频数据包时,会向第一终端或服务器发送重传请求,以请求第一终端或服务器重新传输视频数据包。若视频数据包超过20s没有重传成功,第二终端将会自动退出直播间,选择新的服务器进行最优接入。
S704,解析视频数据包,得到视频数据和补充增强信息,该补充增强信息包括演示子文件和交互信息。
其中,视频数据可以是第一终端拍摄目标对象所得的视频数据。该目标对象可以指通过控制第一终端对演示文件中的演示子文件进行展示和切换,以及对该演示文件进行讲解的人员,如在线讲师(即在线的授课老师)。
演示子文件可以是演示文件的子文件,或者是演示文件经过格式转换后所得的矢量图像格式的子文件。其中,演示文件可以是能够在显示设备上显示的文件。例如,该演示文件具体可以是PPT(PowerPoint,演示文稿)格式的文件,其后缀名为ppt或pptx。演示子文件可以是演示文件中某一页(或多页)演示内容所对应的文件,例如PPT文件共有10页,那么PPT子文件则可以是第1页至第10页中任一页演示文本和/或图像的,然后将该页的演示文本和/或图像保存为PPT格式的文件。
S706,在视频播放页面的第一播放区域播放视频数据。
其中,视频播放页面可以是播放视频的页面,如图9和图10,第一播放区域位于该视频播放页面的右上角区域。图9为视频播放页面(视频播放页面的第一播放区域)显示授课老师的视频画面,由于授课老师未将演示文件添加到第一系统中,因此,第二终端无法在视频播放页面的第二播放区域上展示演示文件。
当授课老师将演示文件添加到第一系统时,第一终端将会把演示文件中的演示子文件随视频数据一并发送到第二终端,因此,第二终端可以在视频播放页面的第一播放区域显示授课老师的视频画面,以及在视频播放页面的第二播放区域上展示演示文件,如图10所示。
S708,在视频播放页面的第二播放区域展示演示子文件。
例如,如图10所示,第二播放区域位于视频播放页面的左侧,将演示子文件展示于视频播放页面的第二播放区域。由于演示子文件作为视频数据的补充增强信息与视频数据一起进行封装,因此,演示子文件的展示与视频数据的播放是同步的,无需对演示子文件的展示与视频数据的播放额外做同步处理。
当演示子文件或视频数据的数据量达到预设阈值时,由于第一终端会对演示子文件、视频数据和交互信息分别进行分割,分别将分割后的演示子文件和交互信息作为补充增强信息与分割后的对应视频数据进行封装,得到多个视频数据包。因此,第二终端在接收到经过分割所得的视频数据包时,会对这些视频数据包中的演示子文件(即分割后的部分演示子文件)进行组装,从而可以得到一个完整的交互信息。例如,一个PDF文件的大小为10KB时,第一终端会将该PDF文件分割成多块,将每一块PDF文件与对应分块的交互信息、视频数据进行封装。
在一个实施例中,当确定演示子文件为分割后的演示子文件时,第一终端将解析所得的多个演示子文件进行组装,得到完整的演示子文件;S710具体可以包括:第二终端将完整的演示子文件展示于视频播放页面的第二播放区域。
S710,在展示的演示子文件上,根据交互信息绘制对应的图形或文字。
在一个实施例中,当确定交互信息为分割后的交互信息时,第一终端将解析所得的多个交互信息进行组装,得到完整的交互信息;S710具体可以包括:第二终端根据完整的交互信息绘制对应的图形或文字。
当演示子文件或视频数据的数据量达到预设阈值时,由于第一终端会对演示子文件、视频数据和交互信息分别进行了分割。因此,第二终端在接收到经过分割所得的视频数据包时,会对这些视频数据包中的交互信息进行组装,从而可以得到一个完整的交互信息。
例如,当前解析所得的交互信息的数据结构为:
{包类型:pdf/书写;
子类型:页码/书写/擦除/圆心等…;
操作所对应的页码:10;
PDF文件完整大小:150KB;
本包序号:1;
包个数:5;
第一个包发送时间点:85s;
信令具体的数据:坐标集合,轨迹宽度,轨迹颜色;}
那么,第二终端将会继续接收后续的视频数据包并解析,直至得到所有分割的交互信息,然后将分割的交互信息进行组装,得到一个完整的交互信息。
在一个实施例中,补充增强信息在服务器中保存;该方法还包括:当授课中途通过进入视频播放页面时,第二终端从服务器保存的补充增强信息中获取最新的演示子文件;以及,从服务器保存的补充增强信息中,拉取与所获取的演示子文件对应的交互信息;通过最新的演示子文件和所拉取的交互信息匹配当前的播放进度。
例如,授课老师的客户端发送的补充增强信息会存储在服务器,当学员的客户端中途进入视频播放页面(或直播间)时,那么学生的客户端会到服务器拉取最近的SEI数据,以匹配当前直播进度,展示PDF文件的画面和授课老师在当前页码的书写文字或图形,具体逻辑如下:
1)拉取当前页码;
2)拉取当前页码对应的PDF文件;
3)拉取当前页码的交互信息,该交互信息用于在当前页码上绘制授课老师在PDF文件上书写文字或图形;
4)完成加载。
上述实施例中,由于将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,从而在播放视频数据和演示子文件时,无需额外做同步处理,也能确保同步,避免了额外的计算开销。此外,发送端通过将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,与对应的视频数据进行封装,从而避免了传统方案中单独对拍摄目标对象所得的视频数据进行视频编码,以及单独对演示文件中的各演示子文件和交互信息所形成的视频流进行视频编码,从而可以采用单路传输的方式传输封装所得的视频数据包,无需占用大量的传输资源,提高了传输资源的利用率。
作为一个示例,本实施例中提出了一种视频处理方法,可以利用一路视频流实现两路画面进行高清无损授课,具体内容包括:
(1)当授课老师启动客户端时,在授课系统上,授课老师打开摄像头,学员通过摄像头看到老师。
其中,该客户端可以是授课老师的视频直播客户端。学员的视频直播客户端可以与授课老师的视频直播客户端不同。
(2)将PPT转换为PDF文件:授课老师打开PPT文件开始授课时,客户端首先会把PPT文件转换为PDF文件。
首先需要把一个PPT文件转换为多个PDF文件,每一页PPT对应一个PDF文件。其中,对于PDF文件转换为PDF文件,可以使用powerpoint提供的com接口进行格式转换。
(3)多个PDF文件的组织:授课老师的客户端会按照页面顺序,对应PDF文件进行排序。
授课老师的客户端对授课老师隐藏多个PDF的细节,对授课老师而言,在文件显示页面上进行操作与操作PPT类型,如图3所示(左边是PDF文件的缩略图,右边是第6页对应的PDF文件的大图)。
(4)学员通过客户端展示PDF文件。
当授课老师翻页或者第一次打开PPT文件时,授课老师的客户端会把当前页的PDF文件随着视频数据的SEI载体发送给学员的客户端。
(5)授课老师的授课书写功能的实现。
支持在所展示的PDF文件上进行书写授课,当授课老师使用画笔书写时,书写的信息也会通过SEI载体发送给学员进行展示:
例如,授课老师进行书写产生如下信令,其数据结构:{
书写类型:线;
坐标集合:{p1,p2,p3,p4,p5,……}
线宽度:1个像素;
线颜色:红色;
操作的页码:10;}
授课老师使用画笔,每次落笔和抬笔的操作将产生一个交互的信令,该信令跟随视频数据发送给学员的客户端。
(6)大信令包处理。
PDF文件通常较小,由于是矢量文件,存储的信息通常是文本字体等信息,部分场景可能会嵌入图片,此时含有图片的PDF文件可能会超过10KB。因此,无法通过一个SEI载体完成传输,会把大信令分割为多个SEI数据包通过SEI传输,该SEI数据包结构为:{
包类型:pdf/书写;
子类型:页码/书写/擦除/圆心等…;
信令对应的页码:10;
完整大小:150KB;
本包序号:1;
包个数:5;
第一个包发送时间点:85s;
信令具体的数据:如坐标;
}
学员端在播放视频时,业务取出SEI,把多个SEI包组装成一个完整的业务包,业务包解析出交互信令,根据信令内容,执行信令交互命令,即可完成PDF的展示或者老师和学员的互动。
(7)除了通过SEI传输PDF文件的画面,还支持其他交互,目前支持以下信令:
1.1:课中练习;
1.2:抢鱼饼或优惠券(鱼饼是一种虚拟商城货币,可以用于购买学习用品);
1.3:签到;
1.4:答题卡;
1.5:课程推荐(授课老师可以推荐相关课程或者知识点强化课程,加强学习);
1.6:课程目录(录播课程中,点击知识点能直接跳转视频播放进度);
1.7:课程总结(录播课程中,点击知识点能直接跳转视频播放进度);
1.8:英语口语练习,发音评分纠正
交互性信令的功能,包括但不限于上面列出来的功能。
(8)特殊场景的兼容。
a)学员中途进房场景:
授课老师的客户端发送的SEI会存储在服务器,如果学员中途进房参加直播,那么学员的客户端会到服务器拉取最近的SEI,以匹配当前直播进度,展示PPT文件的画面和授课老师在当前页上书写的笔记,具体逻辑如下:
1)拉取当前页码;
2)拉取当前页码对应的pdf文件(上面列出的数据包,都有当前页面的信息,已经加粗);
3)拉取当前页码的信令;
4)完成加载。
b)网络较差场景。
对于网络较差的场景:为了确保每个视频数据包的正确收取,将会采用重传机制,当第二终端未接收到视频数据包时,会向第一终端或服务器发送重传请求,以请求第一终端或服务器重新传输视频数据包。若视频数据包超过20s没有重传成功,第二终端将会自动退出直播间,选择新的服务器进行最优接入,走中途进房逻辑可参考上述中途进房场景。
采用上述实施例,在一路视频流的基础之上,构建基于PPT授课画面为主,授课老师摄像头画面为辅,学员可以享受高清的直播授课体验。此外,能适配现有多种直播架构,同时丰富学员上视频直播课和录播课的趣味,增加教学质量,提高课程内容的丰富程度。
图2、7为一个实施例中视频处理方法的流程示意图。应该理解的是,虽然图2、7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图11所示,在一个实施例中,提供了一种视频处理装置,该装置包括:第一获取模块1102、读取模块1104、第二获取模块1106、封装模块1108和传输模块1110;其中:
第一获取模块1102,用于获取拍摄目标对象所得的视频数据;
读取模块1104,用于从演示文件中,读取在拍摄目标对象时所展示的演示子文件;
第二获取模块1106,用于获取演示子文件在展示过程中所生成的交互信息;
封装模块1108,用于当对视频数据进行编码时,将演示子文件和交互信息作为补充增强信息与视频数据进行封装,得到视频数据包;
传输模块1110,用于将视频数据包传输至对应的接收端。
在一个实施例中,如图12所示,该装置还包括:显示模块1112;其中:
显示模块1112,用于展示文件显示页面;将演示文件拖动至文件显示页面;或者,通过文件显示页面中的添加控件添加演示文件;在文件显示页面中展示演示文件中的演示子文件。
在一个实施例中,如图12所示,该装置还包括:转换模块1114;其中:
转换模块1114,用于调用文件格式转换接口;利用文件格式转换接口对演示文件进行格式转换,得到矢量图像格式的至少两个演示子文件;
显示模块1112,还用于从至少两个演示子文件中提取对应页的演示子文件;将所提取的演示子文件展示于文件显示页面。
在一个实施例中,文件显示页面包括第一显示区域和第二显示区域;显示模块1112,还用于:将至少两个演示子文件以缩略图形式展示于第一显示区域;将所提取的演示子文件展示于第二显示区域。
在一个实施例中,第二获取模块1106,还用于:当目标对象在用于展示演示子文件的文件显示页面进行交互操作时,获取演示子文件的页码;确定交互操作的轨迹在文件显示页面中的坐标;将坐标和演示子文件的页码作为交互信息。
在一个实施例中,封装模块1110,还用于:将演示子文件和交互信息作为视频数据的补充增强信息;构建包含补充增强信息的包头以及以视频数据为负荷的包体。
在一个实施例中,封装模块1110,还用于:将演示子文件和交互信息作为补充增强信息与视频数据进行封装包括:当演示子文件或视频数据的数据量达到预设阈值时,将演示子文件、视频数据和交互信息分别进行分割;分别将分割后的演示子文件和交互信息作为补充增强信息,与分割后的对应视频数据进行封装,得到多个视频数据包。
在一个实施例中,如图12所示,该装置还包括:采集模块1116;其中:
采集模块1116,用于在拍摄目标对象的过程中,采集音频数据;
封装模块1108,还用于将所采集的音频数据进行封装,得到语音数据包;
传输模块1110,还用于将视频数据包与语音数据包传输至对应的接收端。
上述实施例中,通过将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,与对应的视频数据进行封装,从而避免了传统方案中单独对拍摄目标对象所得的视频数据进行视频编码,以及单独对演示文件中的各演示子文件和交互信息所形成的视频流进行视频编码,从而可以采用单路传输的方式传输封装所得的视频数据包,无需占用大量的传输资源,提高了传输资源的利用率。此外,由于将将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,而非将其单独形成视频流,从而在播放视频数据和演示子文件时,无需额外做同步处理,也能确保同步,避免了额外的计算开销。
如图13所示,在一个实施例中,提供了一种视频处理装置,该装置包括:接收模块1302、解析模块1304、第一播放模块1306、第二播放模块1308和绘制模块1310;其中:
接收模块1302,用于接收视频数据包;
解析模块1304,用于解析所述视频数据包,得到视频数据、演示子文件和交互信息;
第一播放模块1306,用于在视频播放页面的第一播放区域播放所述视频数据;
第二播放模块1308,用于在所述视频播放页面的第二播放区域展示所述演示子文件;
绘制模块1310,用于在展示的所述演示子文件上,根据所述交互信息绘制对应的图形或文字。
在一个实施例中,如图14所示,该装置还包括:发送模块1312;其中:
发送模块1312,用于在进入视频播放页面后,若未接收到视频数据包,向发送端或服务器发送重传请求;服务器用于转发视频数据包;
解析模块1304,还用于当预设时长内未接收到视频数据包时,则退出视频播放页面。
在一个实施例中,如图14所示,该装置还包括:组装模块1314;其中:
组装模块1314,用于当确定交互信息为分割后的交互信息时,将解析所得的多个交互信息进行组装,得到完整的交互信息;
绘制模块1310,还用于根据完整的交互信息绘制对应的图形或文字。
在一个实施例中,补充增强信息在服务器中保存;该装置还包括:获取模块;其中:
获取模块,用于当授课中途通过进入视频播放页面时,从服务器保存的补充增强信息中获取最新的演示子文件;以及,从服务器保存的补充增强信息中,拉取与所获取的演示子文件对应的交互信息;
第一播放模块,还用于通过最新的演示子文件和所拉取的交互信息匹配当前的播放进度。
上述实施例中,由于将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,从而在播放视频数据和演示子文件时,无需额外做同步处理,也能确保同步,避免了额外的计算开销。此外,发送端通过将演示文件中的各演示子文件以及在演示子文件上生成的交互信息作为补充增强信息,与对应的视频数据进行封装,从而避免了传统方案中单独对拍摄目标对象所得的视频数据进行视频编码,以及单独对演示文件中的各演示子文件和交互信息所形成的视频流进行视频编码,从而可以采用单路传输的方式传输封装所得的视频数据包,无需占用大量的传输资源,提高了传输资源的利用率。
图15示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第一终端110。如图15所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的视频处理装置可以实现为一种计算机程序的形式,计算机程序可在如图15所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频处理装置的各个程序模块,比如,图11所示的第一获取模块1102、读取模块1104、第二获取模块1106、封装模块1108和传输模块1110。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频处理方法中的步骤。
例如,图15所示的计算机设备可以通过如图11所示的视频处理装置中的第一获取模块1102执行S202。计算机设备可通过读取模块1104执行S204。计算机设备可通过第二获取模块1106执行S206。计算机设备可通过封装模块1108执行S208。计算机设备可通过传输模块1110执行S210。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频处理方法的步骤。此处视频处理方法的步骤可以是上述各个实施例的视频处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频处理方法的步骤。此处视频处理方法的步骤可以是上述各个实施例的视频处理方法中的步骤。
图16示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第一终端110。如图16所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的视频处理装置可以实现为一种计算机程序的形式,计算机程序可在如图16所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频处理装置的各个程序模块,比如,图13所示的接收模块1302、解析模块1304、第一播放模块1306、第二播放模块1308和绘制模块1310。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频处理方法中的步骤。
例如,图16所示的计算机设备可以通过如图13所示的视频处理装置中的接收模块1302执行S702。计算机设备可通过解析模块1304执行S704。计算机设备可通过第一播放模块1306执行S706。计算机设备可通过第二播放模块1308执行S708。计算机设备可通过绘制模块1310执行S710。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频处理方法的步骤。此处视频处理方法的步骤可以是上述各个实施例的视频处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频处理方法的步骤。此处视频处理方法的步骤可以是上述各个实施例的视频处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种视频处理方法,包括:
获取拍摄目标对象所得的视频数据;
从演示文件中,读取在拍摄所述目标对象时在文件显示页面上所展示的演示子文件;所述演示子文件是所述演示文件经过格式转换后所得的矢量图像格式的子文件,包括所述演示文件中的至少一页演示内容;
获取所述演示子文件在展示过程中所述目标对象通过画笔进行操作所生成的交互信息;所述交互信息,是所述目标对象在所述文件显示页面上执行交互操作所生成的交互信令,用于绘制对应的图形或文字;
在对所述视频数据进行编码的过程中,当所述演示子文件或所述视频数据的数据量达到预设阈值时,将所述演示子文件、所述视频数据和所述交互信息分别进行分割;分别将分割后的演示子文件和交互信息作为补充增强信息,与分割后的对应视频数据进行封装,得到视频数据包;
依序将每次封装的所述视频数据包传输至对应的接收端,以在所述接收端的视频播放页面显示所述视频数据包中的演示子文件和视频数据,并在所述演示子文件上绘制对应的图形或文字。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
展示文件显示页面;
将所述演示文件拖动至所述文件显示页面;或者,通过所述文件显示页面中的添加控件添加所述演示文件;
在所述文件显示页面中展示所述演示文件中的演示子文件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
调用文件格式转换接口;
利用所述文件格式转换接口对所述演示文件进行格式转换,得到矢量图像格式的至少两个演示子文件;
所述在所述文件显示页面中展示所述演示文件中的演示子文件包括:
从所述至少两个演示子文件中提取对应页的演示子文件;
将所提取的演示子文件展示于所述文件显示页面。
4.根据权利要求1所述的方法,其特征在于,所述获取所述演示子文件在展示过程中所述目标对象通过画笔进行操作所生成的交互信息包括:
当所述目标对象通过画笔在用于展示所述演示子文件的文件显示页面进行交互操作时,获取所述演示子文件的页码;
确定所述交互操作的轨迹在所述文件显示页面中的坐标;
将所述坐标和所述演示子文件的页码作为交互信息。
5.一种视频处理方法,包括:
接收视频数据包;所述视频数据包,是当演示子文件或所述视频数据的数据量达到预设阈值时,将所述演示子文件、所述视频数据和交互信息分别进行分割,分别将分割后的演示子文件和交互信息作为补充增强信息,与分割后的对应视频数据进行封装所得的数据包;
解析所述视频数据包,得到视频数据和补充增强信息;所述补充增强信息包括演示子文件和交互信息;所述演示子文件是所述演示文件经过格式转换后所得的矢量图像格式的子文件,包括所述演示文件中的至少一页演示内容;所述交互信息,是目标对象在所述文件显示页面上执行交互操作所生成的交互信令,用于绘制对应的图形或文字;
在视频播放页面的第一播放区域播放所述视频数据;
在所述视频播放页面的第二播放区域展示所述演示子文件;以及,
在展示的所述演示子文件上,根据所述交互信息绘制对应的图形或文字。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在进入所述视频播放页面后,若未接收到视频数据包,向发送端或服务器发送重传请求;所述服务器用于转发所述视频数据包;
当预设时长内接收到视频数据包时,执行所述解析所述视频数据包的步骤;
当所述预设时长内未接收到所述视频数据包时,则退出所述视频播放页面。
7.一种视频处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取拍摄目标对象所得的视频数据;
读取模块,用于从演示文件中,读取在拍摄所述目标对象时在文件显示页面上所展示的演示子文件;所述演示子文件是所述演示文件经过格式转换后所得的矢量图像格式的子文件,包括所述演示文件中的至少一页演示内容;
第二获取模块,用于获取所述演示子文件在展示过程中所述目标对象通过画笔进行操作所生成的交互信息;所述交互信息,是所述目标对象在所述文件显示页面上执行交互操作所生成的交互信令,用于绘制对应的图形或文字;
封装模块,用于在对所述视频数据进行编码的过程中,当所述演示子文件或所述视频数据的数据量达到预设阈值时,将所述演示子文件、所述视频数据和所述交互信息分别进行分割;分别将分割后的演示子文件和交互信息作为补充增强信息,与分割后的对应视频数据进行封装,得到视频数据包;
传输模块,用于依序将每次封装的所述视频数据包传输至对应的接收端,以在所述接收端的视频播放页面显示所述视频数据包中的演示子文件和视频数据,并在所述演示子文件上绘制对应的图形或文字。
8.一种视频处理装置,其特征在于,所述装置包括:
接收模块,用于接收视频数据包;所述视频数据包,是当演示子文件或所述视频数据的数据量达到预设阈值时,将所述演示子文件、所述视频数据和交互信息分别进行分割,分别将分割后的演示子文件和交互信息作为补充增强信息,与分割后的对应视频数据进行封装所得的数据包;
解析模块,用于解析所述视频数据包,得到视频数据、演示子文件和交互信息;所述演示子文件是所述演示文件经过格式转换后所得的矢量图像格式的子文件,包括所述演示文件中的至少一页演示内容;所述交互信息,是目标对象在所述文件显示页面上执行交互操作所生成的交互信令,用于绘制对应的图形或文字;
第一播放模块,用于在视频播放页面的第一播放区域播放所述视频数据;
第二播放模块,用于在所述视频播放页面的第二播放区域展示所述演示子文件;
绘制模块,用于在展示的所述演示子文件上,根据所述交互信息绘制对应的图形或文字。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
CN202010001932.3A 2020-01-02 2020-01-02 视频处理方法、装置、计算机可读存储介质和计算机设备 Active CN111163360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010001932.3A CN111163360B (zh) 2020-01-02 2020-01-02 视频处理方法、装置、计算机可读存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010001932.3A CN111163360B (zh) 2020-01-02 2020-01-02 视频处理方法、装置、计算机可读存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN111163360A CN111163360A (zh) 2020-05-15
CN111163360B true CN111163360B (zh) 2021-11-16

Family

ID=70561168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010001932.3A Active CN111163360B (zh) 2020-01-02 2020-01-02 视频处理方法、装置、计算机可读存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN111163360B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654715B (zh) * 2020-06-08 2024-01-09 腾讯科技(深圳)有限公司 直播的视频处理方法、装置、电子设备及存储介质
CN111800665B (zh) * 2020-07-07 2022-09-13 深圳市九洲电器有限公司 设备健康检测的方法、系统、设备及可读存储介质
CN112148901A (zh) * 2020-09-22 2020-12-29 上海连尚网络科技有限公司 直播流的编辑方法和设备
EP4246961A4 (en) * 2020-12-11 2024-02-21 Huawei Tech Co Ltd DISPLAY SYNCHRONIZATION METHOD, ELECTRONIC DEVICE AND READABLE STORAGE MEDIUM
CN115190340B (zh) * 2021-04-01 2024-03-26 华为终端有限公司 直播数据的传输方法、直播设备和介质
CN115250366A (zh) * 2021-04-27 2022-10-28 浙江清捷智能科技有限公司 一种直播数据处理方法及装置
CN113453031A (zh) * 2021-06-11 2021-09-28 深圳十方融海科技有限公司 直播方法、装置、计算机设备及存储介质
CN113259990B (zh) * 2021-06-28 2021-11-02 南京微鲤科技有限公司 用于识别的智能信息传输系统及传输方法
CN113645486A (zh) * 2021-07-16 2021-11-12 北京爱笔科技有限公司 视频数据的处理方法、装置、计算机设备和存储介质
CN113573088B (zh) * 2021-07-23 2023-11-10 上海芯翌智能科技有限公司 一种为直播视频流同步绘制识别对象的方法与设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107750441A (zh) * 2015-01-26 2018-03-02 卢森堡商创研腾智权信托有限公司 安全动态通讯网络及协定
CN109981711A (zh) * 2017-12-28 2019-07-05 腾讯科技(深圳)有限公司 文档动态播放方法、装置、系统及计算机可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100412852C (zh) * 2004-05-10 2008-08-20 北京大学 网络上的多种媒体的同步合成存储发布系统及操作该系统的方法
US20090117556A1 (en) * 2007-11-07 2009-05-07 Stephen Stewart Moore Association of Single Nucleotide Polymorphisms in the CBFA2T1 and DECR1 Genes with Performance and Carcass Merit of Beef Cattle
CN101661459B (zh) * 2009-10-19 2011-08-31 中国电信股份有限公司 网络文档资源提供方法、平台及系统
JP5929305B2 (ja) * 2012-02-24 2016-06-01 株式会社リコー 通信システム、サーバ、端末、プログラム
GB2533775B (en) * 2014-12-23 2019-01-16 Imagination Tech Ltd In-band quality data
CN107995155A (zh) * 2017-10-11 2018-05-04 上海聚力传媒技术有限公司 视频数据编码、解码、展示方法、视频系统及存储介质
CN109275046B (zh) * 2018-08-21 2021-06-18 华中师范大学 一种基于双视频采集的教学数据标注方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107750441A (zh) * 2015-01-26 2018-03-02 卢森堡商创研腾智权信托有限公司 安全动态通讯网络及协定
CN109981711A (zh) * 2017-12-28 2019-07-05 腾讯科技(深圳)有限公司 文档动态播放方法、装置、系统及计算机可读存储介质

Also Published As

Publication number Publication date
CN111163360A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111163360B (zh) 视频处理方法、装置、计算机可读存储介质和计算机设备
CN108401192B (zh) 视频流处理方法、装置、计算机设备及存储介质
CN109547831B (zh) 一种白板与视频同步的方法、装置、计算设备及存储介质
CN110784730B (zh) 直播视频数据的传输方法、装置、设备和存储介质
CN111954053B (zh) 获取蒙版帧数据的方法、计算机设备及可读存储介质
CN111899322B (zh) 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN111954060B (zh) 弹幕蒙版的渲染方法、计算机设备及可读存储介质
US20210084362A1 (en) Method and system of processing information flow and method of displaying comment information
CN107547933B (zh) 播放画面生成方法、装置及系统
CN111479162B (zh) 直播数据传输方法、装置以及计算机可读存储介质
CN112653700A (zh) 一种基于webrtc网页视频通信的方法
CN112019907A (zh) 直播画面分流方法、计算机设备及可读存储介质
CN111723558A (zh) 文档展示方法、装置、电子设备以及存储介质
CN112616089A (zh) 一种网课直播拼接推流方法、系统及介质
CN112135155A (zh) 音视频的连麦合流方法、装置、电子设备及存储介质
CN109963176A (zh) 视频码流处理方法、装置、网络设备和可读存储介质
CN105635188B (zh) 一种可视化内容分发方法及系统
CN112492324A (zh) 数据处理方法及系统
CN114363648A (zh) 直播系统混流过程中音视频对齐的方法、设备及存储介质
CN113099282A (zh) 一种数据处理方法、装置及设备
CN111064986B (zh) 带透明度的动画数据发送方法、播放方法和计算机设备
CN102047662B (zh) 编码器
CN112019906A (zh) 直播方法、计算机设备及可读存储介质
CN112565799B (zh) 视频数据处理方法和装置
KR20200050774A (ko) Html5 기반 웹 반응형 콘텐츠 인터렉티브 소셜 러닝 시스템

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