CN110798700B - 视频处理方法、视频处理装置、存储介质与电子设备 - Google Patents
视频处理方法、视频处理装置、存储介质与电子设备 Download PDFInfo
- Publication number
- CN110798700B CN110798700B CN201911079400.5A CN201911079400A CN110798700B CN 110798700 B CN110798700 B CN 110798700B CN 201911079400 A CN201911079400 A CN 201911079400A CN 110798700 B CN110798700 B CN 110798700B
- Authority
- CN
- China
- Prior art keywords
- host application
- video data
- application program
- video
- extension component
- 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
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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 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
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
Abstract
本公开提供了一种视频处理方法、视频处理装置、计算机可读存储介质与电子设备,属于计算机技术领域。所述方法包括:通过宿主应用程序的扩展组件采集原始视频数据;从所述宿主应用程序获取视频规格信息;采用所述扩展组件将所述原始视频数据处理为符合所述视频规格信息的目标视频数据;将所述目标视频数据从所述扩展组件发送至所述宿主应用程序。本公开可以实现扩展组件与宿主应用程序之间的视频数据传输,操作简单,且具有较高的适用性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种视频处理方法、视频处理装置、计算机可读存储介质与电子设备。
背景技术
随着计算机技术的发展,应用程序的功能呈现多样化,例如在社交应用中,用户可以分享图片、音乐、视频等,还可以购物、支付,甚至玩游戏等。这些扩展性的功能一般是通过扩展组件实现的,相对应的,实现主要功能部分的称为宿主应用程序。
扩展组件是依附于宿主应用程序的独立功能程序单元,其功能的实现需要用到宿主应用程序中的数据。目前,扩展组件与宿主应用程序之间的数据交互主要依赖于数据本地共享,实质上是通过共享容器来存放文件或数据,一般只能应用于较小的数据,例如更改用户设置、系统配置等,对于较大的数据,例如视频,则难以采用上述方式来满足扩展组件的数据需求。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供了一种视频处理方法、视频处理装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善现有技术中扩展组件与宿主应用程序之间难以实现视频数据交互的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种视频处理方法,所述方法包括:通过宿主应用程序的扩展组件采集原始视频数据;从所述宿主应用程序获取视频规格信息;采用所述扩展组件将所述原始视频数据处理为符合所述视频规格信息的目标视频数据;将所述目标视频数据从所述扩展组件发送至所述宿主应用程序。
在本公开的一种示例性实施方式中,在通过宿主应用程序的扩展组件采集原始视频数据后,所述方法还包括:在所述扩展组件内建立与所述宿主应用程序对应的服务端;如果通过所述服务端接收到由所述宿主应用程序发送的连接请求,则建立所述服务端和所述宿主应用程序之间的连接;所述从所述宿主应用程序获取视频规格信息,包括:通过所述连接接收由所述宿主应用程序发送的视频规格信息;所述将所述目标视频数据从所述扩展组件发送至所述宿主应用程序,包括:通过所述连接将所述目标视频数据发送至所述宿主应用程序。
在本公开的一种示例性实施方式中,在建立所述服务端和所述宿主应用程序之间的连接时,所述方法还包括:当所述连接失败时,所述宿主应用程序向所述服务端按照预设时间间隔重新发送所述连接请求。
在本公开的一种示例性实施方式中,所述方法还包括:当所述宿主应用程序接收所述目标视频数据完成时,通过所述连接向所述服务端发送完成确认信息,所述服务端接收到所述完成确认信息后,断开所述连接。
在本公开的一种示例性实施方式中,所述将所述目标视频数据从所述扩展组件发送至所述宿主应用程序,包括:将所述目标视频数据拆分为多个连续的视频数据包,并根据每个所述视频数据包的长度生成长度信息数据包,将所述长度信息数据包插入至所述多个视频数据包之前;将所述长度信息数据包和所述多个视频数据包发送至所述宿主应用程序。
在本公开的一种示例性实施方式中,在将所述长度信息数据包和所述多个视频数据包发送至所述宿主应用程序后,所述方法还包括:当所述宿主应用程序接收到所述长度信息数据包时,根据所述长度信息数据包中的长度信息接收对应长度的所述视频数据包,并将接收到的所述视频数据包连接为所述目标视频数据。
在本公开的一种示例性实施方式中,所述方法还包括:当根据所述长度信息检测到所述视频数据包存在缺失时,通过所述宿主应用程序向所述扩展组件发送关于缺失的所述视频数据包的重传请求。
在本公开的一种示例性实施方式中,所述扩展组件为与所述宿主应用程序关联的录屏工具或视频拍摄工具。
在本公开的一种示例性实施方式中,所述方法还包括:如果所述宿主应用程序当前运行于隐私模式,则在所述宿主应用程序中显示预设图像。
在本公开的一种示例性实施方式中,所述视频规格信息包括以下至少一种:所述宿主应用程序所需的视频帧率、分辨率、传输码率。
根据本公开的第二方面,提供一种视频处理装置,所述视频处理装置包括:采集模块,用于通过宿主应用程序的扩展组件采集原始视频数据;获取模块,用于从所述宿主应用程序获取视频规格信息;处理模块,用于采用所述扩展组件将所述原始视频数据处理为符合所述视频规格信息的目标视频数据;发送模块,用于将所述目标视频数据从所述扩展组件发送至所述宿主应用程序。
在本公开的一种示例性实施方式中,在通过宿主应用程序的扩展组件采集原始视频数据后,所述采集模块还包括:第一建立单元,用于在所述扩展组件内建立与所述宿主应用程序对应的服务端;第二建立单元,用于在通过所述服务端接收到由所述宿主应用程序发送的连接请求时,建立所述服务端和所述宿主应用程序之间的连接;所述获取模块,用于通过所述连接接收由所述宿主应用程序发送的视频规格信息;所述发送模块,用于通过所述连接将所述目标视频数据发送至所述宿主应用程序。
在本公开的一种示例性实施方式中,所述第二建立单元,还用于当所述连接失败时,所述宿主应用程序向所述服务端按照预设时间间隔重新发送所述连接请求。
在本公开的一种示例性实施方式中,所述发送模块还用于当所述宿主应用程序接收所述目标视频数据完成时,通过所述连接向所述服务端发送完成确认信息,所述服务端接收到所述完成确认信息后,断开所述连接。
在本公开的一种示例性实施方式中,所述发送模块还包括:拆分单元,用于将所述目标视频数据拆分为多个连续的视频数据包,并根据每个所述视频数据包的长度生成长度信息数据包,将所述长度信息数据包插入至所述多个视频数据包之前;发送单元,用于将所述长度信息数据包和所述多个视频数据包发送至所述宿主应用程序。
在本公开的一种示例性实施方式中,所述发送模块还用于当所述宿主应用程序接收到所述长度信息数据包时,根据所述长度信息数据包中的长度信息接收对应长度的所述视频数据包,并将接收到的所述视频数据包连接为所述目标视频数据。
在本公开的一种示例性实施方式中,所述发送模块还包括:检测单元,用于当根据所述长度信息检测到所述视频数据包存在缺失时,通过所述宿主应用程序向所述扩展组件发送关于缺失的所述视频数据包的重传请求。
在本公开的一种示例性实施方式中,所述扩展组件为与所述宿主应用程序关联的录屏工具或视频拍摄工具。
在本公开的一种示例性实施方式中,所述发送模块还包括:显示单元,用于当所述宿主应用程序当前运行于隐私模式时,在所述宿主应用程序中显示预设图像。
在本公开的一种示例性实施方式中,所述视频规格信息包括以下至少一种:所述宿主应用程序所需的视频帧率、分辨率、传输码率。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种视频处理方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种视频处理方法。
本公开具有以下有益效果:
本公开示例性实施方式提供了一种视频处理方法,通过由宿主应用程序的扩展组件采集原始视频数据,由扩展组件根据视频规格信息将原始视频数据转换为目标视频数据,并将目标视频数据发送至宿主应用程序,以进行保存或播放。一方面,通过扩展组件与宿主应用程序之间的交互实现了通信双方视频数据的传输,提高了扩展组件与宿主应用程序进行数据传输的灵活性,且所提方法可以仅在本地客户端进行操作,无需依赖网络连接;另一方面,通过视频规格信息能够满足扩展组件与宿主应用程序之间不同类型视频数据的快速适配,使宿主应用程序无需对视频数据做转换处理,可以应用于各种视频数据的传输,具有较高的适用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种视频处理方法的流程图;
图2示出本示例性实施方式中一种视频处理方法的交互图;
图3示出本示例性实施方式中另一种视频处理方法的流程图;
图4示出本示例性实施方式中一种视频处理装置的结构框图;
图5示出本示例性实施方式中一种用于实现上述方法的计算机可读存储介质;
图6示出本示例性实施方式中一种用于实现上述方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
本公开的示例性实施方式首先提供了一种视频处理方法,该方法可以由电子设备或应用程序后台的服务器执行,生成用于计算机或应用程序保存或播放的视频数据,其中电子设备可以是智能手机、平板电脑、便携式计算机等。
图1示出了本示例性实施方式的一种流程,可以包括以下步骤S110~S140:
步骤S110.通过宿主应用程序的扩展组件采集原始视频数据。
其中,宿主应用程序是承载扩展组件的容器,因此也可以称为容器应用程序;扩展组件是执行单独任务的应用程序,例如新闻类应用中的今日视图、通知中心、直播组件等,该直播组件可以使用户在电子设备的显示屏幕上进行直播,通知组件可以为用户展示最新的电子设备或应用程序的通知信息;原始视频数据是指由扩展组件采集或获取的视频数据。通常,宿主应用程序与扩展组件是两个独立的可执行程序,各自运行于自己的独立进程中,因此不能直接通信。
本示例性实施方式中,宿主应用程序可以是具有扩展组件的应用程序,该扩展组件可以用于采集视频数据,例如可以是与上述应用程序关联的录屏工具或视频拍摄工具,在宿主应用程序中,扩展组件可以用相应的操作图标表示,用户可以通过选择操作图标来触发扩展组件采集原始视频数据的功能;也可以将扩展组件的触发操作设置为相应的触控操作或虚拟操作,例如当用户用三指同时在电子设备的显示屏幕上点击时,自动触发视频拍摄功能,从而采集原始视频数据。
在通过宿主应用程序的扩展组件采集原始视频数据后,可以将原始视频数据发送至宿主应用程序以进行保存或者播放,由于宿主应用程序与扩展组件不能直接通信,因此,在一种可选的实施方式中,可以通过在宿主应用程序与扩展组件之间建立连接,以使其进行视频数据传输,图2示出了本示例性实施方式中视频处理方法的一种交互流程图,如图所示,210为扩展组件,220为宿主应用程序,由此,上述通过在宿主应用程序与扩展组件之间建立连接,以使其进行视频数据传输的过程可以通过以下步骤S201~S202实现:
步骤S201.在扩展组件内建立与宿主应用程序对应的服务端;
步骤S202.如果通过服务端接收到由宿主应用程序发送的连接请求,则建立服务端和宿主应用程序之间的连接。
其中,服务端是为扩展组件210与宿主应用程序220提供业务逻辑的程序代码,可以是基于扩展组件的,即位于扩展组件内,通过协议等规则可以将业务逻辑转达至宿主应用程序220。
在有数据需要传输时,扩展组件210可以通过服务端向宿主应用程序220发送连接请求,该连接请求可以包括服务端的标识信息,在宿主应用程序220接收到连接请求时,根据上述标识信息识别扩展组件210对应的服务端,从而与服务端建立连接。
在一种可选的实施方式中,在建立服务端与宿主应用程序的连接时,为了提高建立连接的成功率,可以在服务端与宿主应用程序的一次连接失败后,由宿主应用程序按照预设时间间隔,例如:每隔5秒向服务端重新发送连接请求,预设时间间隔通常可以根据传输数据类型等进行设置,例如在直播组件的视频数据传输中,实时性要求较高,因此可以设置为较短的时间间隔。
步骤S120.从宿主应用程序获取视频规格信息。
其中,视频规格信息是宿主应用程序接收视频数据的规格信息,例如可以包括宿主应用程序接收的视频数据的帧率、分辨率和传输码率中的一种或多种。在上述视频规格信息中,帧率是指在视频数据中每秒显示图像的数量,帧率越高,表示图像数量越多,视频数据的显示则更流畅;分辨率指图像中存储的信息量,即每英寸图像内有多少个像素点;传输码率是指视频数据在单位时间内使用的数据流量,在相同分辨率下,码率越高,视频中图像的质量更好。
扩展组件采集的视频数据为原始视频数据,其分辨率、帧率等视频规格信息通常与电子设备的性能和设置有关,而宿主应用程序播放或接收的视频数据规格是基于宿主应用程序,其与原始视频数据规格通常是不同的,以直播类宿主应用程序为例,播放或接收的视频数据相比原始视频数据可以是分辨率较低,增加了画面效果的视频数据,因此,在视频数据传输之前,宿主应用程序可以向扩展组件发送接收视频数据的规格信息,以使扩展组件可以按照规格信息将视频数据处理为符合宿主应用程序规格的目标视频数据。
在一种可选的实施方式中,参考图2中步骤S203所示,宿主应用程序220向扩展组件210发送视频规格信息可以通过服务端实现,即在服务端与宿主应用程序220的连接下,宿主应用程序220向服务端发送视频规格信息,由服务端将视频规格信息转发至扩展组件210。
视频规格信息由于仅包含宿主应用程序所需的规格数据,其数据量一般较小,因此,在一种可选的实施方式中,视频规格信息也可以存储在本地,在视频数据传输前,由扩展组件从相应的本地文件路径中进行读取。
步骤S130.采用扩展组件将原始视频数据处理为符合视频规格信息的目标视频数据。
其中,目标视频数据为宿主应用程序可以接收或播放的视频数据,例如目标视频数据的分辨率和数据量大小均小于原始视频数据,还可以包括相应的视频效果等。
在接收到宿主应用程序发送的视频规格信息后,参考图2中步骤S204所示,扩展组件210可以读取视频规格信息,例如分辨率、宿主应用程序接收的视频数据的帧率、传输码率等,然后根据上述视频规格信息将原始视频数据处理为符合视频规格信息要求的视频数据,例如将原始视频数据中图像的分辨率转换为视频规格信息中的标准分辨率,在转换过程中可以采用Metal框架(一种低层次的渲染应用程序编程接口),该框架是将原始视频数据中的原始图像按一定的缩放比计算顶点和图像纹理坐标,将其渲染成Metal纹理,最后输出渲染后的图像,该方法可以在执行GPU(Graphics Processing Unit,图形处理器)任务时减少CPU(central processing unit,中央处理器)的损耗,消除在GPU执行图形和数据并行计算操作时的性能瓶颈,能够有效的使用多线程并行创建和提交命令到GPU,在完成视频数据转换后,将经过转换处理的视频数据作为目标视频数据。
由于视频数据可以存储为多个连续的帧图像,因此,在一种可选的实施方式中,视频规格信息可以包括视频数据的帧率和每个帧图像的规格,例如大小、像素值等,在接收到上述视频规格信息后,扩展组件可以按照视频数据的帧率对原始视频数据进行图像采样,以得到符合帧率规格的一系列连续的图像;然后将得到的每个图像转换为符合帧图像规格的一系列连续的目标图像数据,进而将连续的目标图像数据确定为目标视频数据。
在一种可选的实施方式中,视频规格信息还可以包括宿主应用程序接收视频数据的标准长度信息,也就是宿主应用程序单次接收视频数据的长度,当其长度小于原始视频数据的长度时,在接收到上述视频规格信息后,扩展组件可以根据标准长度信息对原始视频数据进行拆分处理,将其转换为多个标准长度的视频数据,最后将上述多个标准长度的视频数据作为目标视频数据。
步骤S140.将目标视频数据从扩展组件发送至宿主应用程序。
在得到符合视频规格信息的目标视频数据之后,目标视频数据暂存在扩展组件对应的内存空间中,此时可以将目标视频数据由扩展组件发送至宿主应用程序,以使宿主应用程序保存或播放目标视频数据。
在一种可选的实施方式中,服务端可以作为中继站可以实现扩展组件与宿主应用程序之间的视频数据传输,即参考图2中步骤S205所示,可以通过服务端将目标视频数据从扩展组件210转发至宿主应用程序220。
由于视频数据通常较大,而宿主应用程序单次可接收的数据量往往是有限的,因此可以将目标视频数据拆分为多个视频数据包发送至宿主应用程序,同时由于在视频数据包传输过程中,扩展组件需要等缓冲区满才将视频数据发送给宿主应用程序,故当扩展组件同一时间发送多个视频数据包时,宿主应用程序会接收到多个视频数据包组合而成的数据包,造成数据粘包;当扩展组件发送的单个视频数据包的大小超过缓冲区的数据容量时,宿主应用程序不能接收完整的视频数据包,造成数据断包,因此可以在发送视频数据包时额外发送一个长度数据包,以使宿主应用程序按照长度数据包接收对应的视频数据包,具体的,将目标视频数据拆分为视频数据包,并将视频数据包发送至宿主应用程序的方法可以通过以下方式实现:
将目标视频数据拆分为多个连续的视频数据包,并根据每个视频数据包的长度生成长度信息数据包,将长度信息数据包插入至多个视频数据包之前;
将长度信息数据包和上述多个视频数据包发送至宿主应用程序。
将宿主应用程序单次可接收的视频数据作为标准数据包,将目标视频数据拆分为连续的多个视频数据包,该视频数据包可以包括视频帧头数据、音频帧头数据等,其中视频帧头数据包含视频流信息参数,例如编码器如H264(一种压缩数字视频编解码器标准)、Profile(图像的压缩率)、Level(图像的解码性能)、图像的宽和高等;音频帧头数据可以包括视频编码器AAC(Advanced Audio Coding,进阶音讯编码)、采样率和码率等,根据每个视频数据包生成长度信息数据包,通常,每个视频数据包的长度应与标准数据包一致,特别的,若视频数据包为目标视频数据的最后一个数据包,则其长度可以小于或等于标准数据包的长度;在发送拆分后的每个视频数据包时,可以将生成的长度信息数据包插入至拆分后的多个视频数据包之前,由扩展组件将长度信息数据包和多个视频数据包依次发送至宿主应用程序。
在一种可选的实施方式中,上述长度信息数据包也可以按照其对应关系分别插入至对应的视频数据包之前,即每个视频数据包的首部包含确定字节的长度信息数据包,以表示该视频数据包的长度。
当宿主应用程序接收到长度信息数据包时,可以根据长度信息数据包中的长度信息接收对应长度的视频数据包,在全部视频数据包接收完成后,去掉数据包中的长度信息数据包,并将读取到的视频数据包按照顺序依次连接,得到目标视频数据。
由于宿主应用程序在接收视频数据包时可能存在延时情况而导致接收到的视频数据包顺序发生变化,因此,在一种可选的实施方式中,上述长度信息数据包中还可以包括对应视频数据包的序号,在宿主应用程序接收到视频数据包时,可以按照上述序号对每个视频数据包进行解析,从而按照正确的顺序连接每个视频数据包,以得到目标视频数据。宿主应用程序在得到目标视频数据后,可以直接复写到本地媒体格式文件,如MPEG4(MovingPicture Experts Group 4,一种音视频编码标准)、FLV(FlashVideo,一种视频格式)文件等,也可以直接转发至视频服务器,以进行播放。
宿主应用程序可以根据接收到的长度信息数据包检测视频数据包是否存在缺失,当检测到视频数据包存在缺失时,宿主应用程序可以向扩展组件发送关于缺失的视频数据包的重传请求。在一种可选的实施方式中,宿主应用程序发送重传请求可以通过服务端发送至扩展组件。
在一种可选的实施方式中,在发送目标视频数据时,宿主应用程序可以向扩展组件发送关于视频数据播放的模式信息,当宿主应用程序运行于隐私模式下时,在宿主应用程序中显示预设图像,该预设图像可以是宿主应用程序预先保存的图像,也可以是在扩展组件接收到宿主应用程序发送的模式信息时,将预设图像发送至宿主应用程序。此外,上述模式信息也可以包括在视频规格信息中,由宿主应用程序发送至扩展组件。
进一步的,在通过服务端将目标视频数据发送至宿主应用程序时,当发生异常导致服务端与宿主应用程序之间断开连接时,宿主应用程序可以自动与服务端进行重连,扩展组件对应的服务端响应于宿主应用程序的重连请求,可以与其建立连接,由扩展组件自动重新发送上述每个视频数据包。
综上,本公开示例性实施方式提供了一种视频处理方法,通过由宿主应用程序的扩展组件采集原始视频数据,由扩展组件根据视频规格信息将原始视频数据转换为目标视频数据,并将目标视频数据发送至宿主应用程序,以进行保存或播放。一方面,通过扩展组件与宿主应用程序之间的交互实现了通信双方视频数据的传输,提高了扩展组件与宿主应用程序进行数据传输的灵活性,且所提方法可以仅在本地客户端进行操作,无需依赖网络连接;另一方面,通过视频规格信息能够满足扩展组件与宿主应用程序之间不同类型视频数据的快速适配,使宿主应用程序无需对视频数据做转换处理,可以应用于各种视频数据的传输,具有较高的适用性。
图3示出了本公开示例性实施方式中另一种视频处理方法的流程图,可以包括以下步骤S310~S370:
步骤S310.通过扩展组件采集原始视频数据。
步骤S320.扩展组件建立服务端。
其中,服务端位于扩展组件内,可以是为扩展组件与宿主应用程序提供业务逻辑的程序代码。
步骤S330.宿主应用程序通过服务端向扩展组件发送连接请求,以建立服务端与宿主应用程序之间的连接。
步骤S340.宿主应用程序通过服务端向扩展组件发送视频规格信息。
步骤S350.扩展组件根据接收到的视频规格信息处理原始视频数据,得到目标视频数据。
扩展组件在接收到视频规格信息后,可以解析出宿主应用程序对于传输或保存、播放视频数据的规格数据,然后根据该规格数据将原始视频数据转换为符合要求的视频数据,即得到目标视频数据。
步骤S360.扩展组件将目标视频数据通过服务端发送至宿主应用程序。
步骤S370.宿主应用程序接收目标视频数据,并进行本地保存或直接进行播放。
通过在扩展组件内建立服务端,可以在宿主应用程序与扩展组件之间建立数据传输的“桥梁”,而不需要通过网络连接实现数据传输,提高了视频数据传输的灵活性。
本公开的示例性实施方式还提供了一种视频处理装置,参考图4所示,视频处理装置400包括:采集模块410,用于通过宿主应用程序的扩展组件采集原始视频数据;获取模块420,用于从宿主应用程序获取视频规格信息;处理模块430,用于采用扩展组件将原始视频数据处理为符合视频规格信息的目标视频数据;发送模块440,用于将目标视频数据从扩展组件发送至宿主应用程序。
在本公开的一种示例性实施方式中,在通过宿主应用程序的扩展组件采集原始视频数据后,采集模块410还可以包括:第一建立单元,可以用于在扩展组件内建立与宿主应用程序对应的服务端;第二建立单元,可以用于在通过服务端接收到由宿主应用程序发送的连接请求时,建立服务端和宿主应用程序之间的连接;获取模块420,可以用于通过连接接收由宿主应用程序发送的视频规格信息;发送模块440,可以用于通过连接将目标视频数据发送至宿主应用程序。
在本公开的一种示例性实施方式中,第二建立单元,还可以用于当连接失败时,宿主应用程序向服务端按照预设时间间隔重新发送连接请求。
在本公开的一种示例性实施方式中,发送模块440还可以用于当宿主应用程序接收目标视频数据完成时,通过连接向服务端发送完成确认信息,服务端接收到完成确认信息后,断开连接。
在本公开的一种示例性实施方式中,发送模块440还可以包括:拆分单元,用于将目标视频数据拆分为多个连续的视频数据包,并根据每个视频数据包的长度生成长度信息数据包,将长度信息数据包插入至多个视频数据包之前;发送单元,用于将长度信息数据包和多个视频数据包发送至宿主应用程序。
在本公开的一种示例性实施方式中,发送模块440还可以用于当宿主应用程序接收到长度信息数据包时,根据长度信息数据包中的长度信息接收对应长度的视频数据包,并将接收到的视频数据包连接为目标视频数据。
在本公开的一种示例性实施方式中,发送模块440还可以包括:检测单元,用于当根据长度信息检测到视频数据包存在缺失时,通过宿主应用程序向扩展组件发送关于缺失的视频数据包的重传请求。
在本公开的一种示例性实施方式中,扩展组件可以是与宿主应用程序关联的录屏工具或视频拍摄工具。
在本公开的一种示例性实施方式中,发送模块440还可以包括:显示单元,用于当宿主应用程序当前运行于隐私模式时,在宿主应用程序中显示预设图像。
在本公开的一种示例性实施方式中,视频规格信息包括以下至少一种:宿主应用程序所需的视频帧率、分辨率、传输码率。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的方案细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
参考图5所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品500,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品500可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图6来描述根据本公开的这种示例性实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图6所示,电子设备600可以以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630和显示单元640。
其中,存储单元620存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元610可以执行图1至图3所示的方法步骤等。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)621和/或高速缓存存储单元622,还可以进一步包括只读存储单元(ROM)623。
存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块625包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例性实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开示例性实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (12)
1.一种视频处理方法,其特征在于,所述方法包括:
通过宿主应用程序的扩展组件采集原始视频数据;
在所述扩展组件内建立与所述宿主应用程序对应的服务端,所述服务端是为所述扩展组件与所述宿主应用程序提供业务逻辑的程序代码;
如果通过所述服务端接收到由所述宿主应用程序发送的连接请求,则建立所述服务端和所述宿主应用程序之间的连接;
从所述宿主应用程序获取视频规格信息,包括:通过所述连接接收由所述宿主应用程序发送的视频规格信息;
采用所述扩展组件将所述原始视频数据处理为符合所述视频规格信息的目标视频数据;
将所述目标视频数据从所述扩展组件发送至所述宿主应用程序,包括:通过所述连接将所述目标视频数据发送至所述宿主应用程序。
2.根据权利要求1所述的视频处理方法,其特征在于,在建立所述服务端和所述宿主应用程序之间的连接时,所述方法还包括:
当所述连接失败时,所述宿主应用程序向所述服务端按照预设时间间隔重新发送所述连接请求。
3.根据权利要求1所述的视频处理方法,其特征在于,所述方法还包括:
当所述宿主应用程序接收所述目标视频数据完成时,通过所述连接向所述服务端发送完成确认信息,所述服务端接收到所述完成确认信息后,断开所述连接。
4.根据权利要求1所述的视频处理方法,其特征在于,所述将所述目标视频数据从所述扩展组件发送至所述宿主应用程序,包括:
将所述目标视频数据拆分为多个连续的视频数据包,并根据每个所述视频数据包的长度生成长度信息数据包,将所述长度信息数据包插入至所述多个视频数据包之前;
将所述长度信息数据包和所述多个视频数据包发送至所述宿主应用程序。
5.根据权利要求4所述的视频处理方法,其特征在于,在将所述长度信息数据包和所述多个视频数据包发送至所述宿主应用程序后,所述方法还包括:
当所述宿主应用程序接收到所述长度信息数据包时,根据所述长度信息数据包中的长度信息接收对应长度的所述视频数据包,并将接收到的所述视频数据包连接为所述目标视频数据。
6.根据权利要求5所述的视频处理方法,其特征在于,所述方法还包括:
当根据所述长度信息检测到所述视频数据包存在缺失时,通过所述宿主应用程序向所述扩展组件发送关于缺失的所述视频数据包的重传请求。
7.根据权利要求1至6任一项所述的视频处理方法,其特征在于,所述扩展组件为与所述宿主应用程序关联的录屏工具或视频拍摄工具。
8.根据权利要求7所述的视频处理方法,其特征在于,所述方法还包括:
如果所述宿主应用程序当前运行于隐私模式,则在所述宿主应用程序中显示预设图像。
9.根据权利要求1至6任一项所述的视频处理方法,其特征在于,所述视频规格信息包括以下至少一种:所述宿主应用程序所需的视频帧率、分辨率、传输码率。
10.一种视频处理装置,其特征在于,所述装置包括:
采集模块,用于通过宿主应用程序的扩展组件采集原始视频数据,以及在所述扩展组件内建立与所述宿主应用程序对应的服务端,所述服务端是为所述扩展组件与所述宿主应用程序提供业务逻辑的程序代码;如果通过所述服务端接收到由所述宿主应用程序发送的连接请求,则建立所述服务端和所述宿主应用程序之间的连接;
获取模块,用于从所述宿主应用程序获取视频规格信息,包括:通过所述连接接收由所述宿主应用程序发送的视频规格信息;
处理模块,用于采用所述扩展组件将所述原始视频数据处理为符合所述视频规格信息的目标视频数据;
发送模块,用于将所述目标视频数据从所述扩展组件发送至所述宿主应用程序,包括:通过所述连接将所述目标视频数据发送至所述宿主应用程序。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-9任一项所述的方法。
12.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911079400.5A CN110798700B (zh) | 2019-11-07 | 2019-11-07 | 视频处理方法、视频处理装置、存储介质与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911079400.5A CN110798700B (zh) | 2019-11-07 | 2019-11-07 | 视频处理方法、视频处理装置、存储介质与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110798700A CN110798700A (zh) | 2020-02-14 |
CN110798700B true CN110798700B (zh) | 2022-03-04 |
Family
ID=69442980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911079400.5A Active CN110798700B (zh) | 2019-11-07 | 2019-11-07 | 视频处理方法、视频处理装置、存储介质与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110798700B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949684A (zh) * | 2021-10-11 | 2022-01-18 | 杭州网易智企科技有限公司 | 视频传输方法、装置、介质和计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587510A (zh) * | 2018-12-10 | 2019-04-05 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN109982053A (zh) * | 2019-04-02 | 2019-07-05 | 珠海全志科技股份有限公司 | 音视频播放方法、计算机装置及计算机可读存储介质 |
CN110324654A (zh) * | 2019-08-02 | 2019-10-11 | 广州虎牙科技有限公司 | 主播端直播视频帧处理方法、装置、设备、系统及介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8302127B2 (en) * | 2000-09-25 | 2012-10-30 | Thomson Licensing | System and method for personalized TV |
US20040046787A1 (en) * | 2001-06-01 | 2004-03-11 | Attachmate Corporation | System and method for screen connector design, configuration, and runtime access |
CN104751356B (zh) * | 2015-03-04 | 2017-05-31 | 深圳市亮新光电显示技术有限公司 | 视频播放器交易系统 |
CN105808233B (zh) * | 2016-01-04 | 2019-06-25 | 平安科技(深圳)有限公司 | 屏幕录制方法和装置 |
CN106303329A (zh) * | 2016-08-11 | 2017-01-04 | 广州爱九游信息技术有限公司 | 录屏直播方法和装置、移动设备及直播系统 |
CN107454457B (zh) * | 2017-06-28 | 2020-01-03 | 武汉斗鱼网络科技有限公司 | 切换录屏直播分辨率的方法及装置 |
CN108810585A (zh) * | 2018-06-08 | 2018-11-13 | 四川乐望崇智科技有限公司 | 基于iOS系统手机的投屏方法 |
CN108777812B (zh) * | 2018-06-25 | 2021-03-23 | 香港乐蜜有限公司 | 一种录屏直播方法、装置、电子设备及存储介质 |
-
2019
- 2019-11-07 CN CN201911079400.5A patent/CN110798700B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587510A (zh) * | 2018-12-10 | 2019-04-05 | 广州虎牙科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN109982053A (zh) * | 2019-04-02 | 2019-07-05 | 珠海全志科技股份有限公司 | 音视频播放方法、计算机装置及计算机可读存储介质 |
CN110324654A (zh) * | 2019-08-02 | 2019-10-11 | 广州虎牙科技有限公司 | 主播端直播视频帧处理方法、装置、设备、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110798700A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106998485B (zh) | 视频直播方法及装置 | |
CN111221491A (zh) | 交互控制方法及装置、电子设备、存储介质 | |
WO2015144084A1 (en) | Video synchronous playback method, apparatus, and system | |
CN109040786B (zh) | 摄像头数据的传输方法、装置、系统及存储介质 | |
CN108337246B (zh) | 防止重放延迟的媒体重放设备和媒体服务设备 | |
US20140229542A1 (en) | System, Apparatus, and Method for Sharing a Screen Having Multiple Visual Components | |
US20180213232A1 (en) | Graphical instruction data processing method and apparatus, and system | |
CN112073543B (zh) | 一种云视频录制方法、系统和可读存储介质 | |
CN110891084A (zh) | 一种基于自主hvdp协议的瘦客户端远程桌面控制系统 | |
CN104918123A (zh) | 用于运动视频回放的方法和系统 | |
CN104053015A (zh) | 一种传输媒体数据的方法及虚拟桌面服务器 | |
CN111726657A (zh) | 直播视频的播放处理方法、装置及服务器 | |
CN113766270A (zh) | 视频播放方法、系统、服务器、终端设备、以及电子设备 | |
WO2013030166A2 (en) | Method for transmitting video signals from an application on a server over an ip network to a client device | |
CN110798700B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
US20100049832A1 (en) | Computer program product, a system and a method for providing video content to a target system | |
CN115766695A (zh) | 基于WebSocket的工业相机实时画面的远程浏览方法及装置 | |
WO2022057362A1 (zh) | 图像处理方法及装置、云真机系统、存储介质和电子设备 | |
CN112954374B (zh) | 视频数据处理方法、装置、电子设备及存储介质 | |
CN112039961B (zh) | 流媒体系统、数据流收集方法以及存储介质 | |
JP2010186369A (ja) | 画像転送装置、方法及びプログラム | |
KR20160087226A (ko) | 클라우드 스트리밍 서비스 시스템, 단말 성능을 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
CN113938753B (zh) | 直播数据处理方法、装置、存储介质和设备 | |
KR101251879B1 (ko) | 멀티미디어 클라우드 시스템에서 화면변화에 따른 광고영상 출력 장치 및 방법 | |
CN113727183B (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 |