CN105812922A - Multimedia file data processing method, system, player and client - Google Patents
Multimedia file data processing method, system, player and client Download PDFInfo
- Publication number
- CN105812922A CN105812922A CN201410842842.1A CN201410842842A CN105812922A CN 105812922 A CN105812922 A CN 105812922A CN 201410842842 A CN201410842842 A CN 201410842842A CN 105812922 A CN105812922 A CN 105812922A
- Authority
- CN
- China
- Prior art keywords
- filter
- file data
- media file
- player
- client
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种多媒体文件数据的处理方法及系统、播放器和客户端,其中该方法包括:在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;第一过滤器将接收的源过滤器发送的媒体文件数据透传到第二过滤器;第二过滤器向客户端发送媒体文件数据。通过本发明,解决了相关技术中进行视频播放时,会出现视频播放很不流畅、不清晰以及虚拟机CPU使用率过高的问题,此外在本发明中播放器中不对媒体文件进行解码和渲染,节省了CPU资源。
The present invention provides a method and system for processing multimedia file data, a player and a client, wherein the method includes: when the player builds a graphics filter, calling the first filter and the second filter preset by the system according to preset rules Two filters; the first filter transparently transmits the received media file data sent by the source filter to the second filter; the second filter sends the media file data to the client. The present invention solves the problems of unsmooth and unclear video playback and high CPU usage of the virtual machine during video playback in the related art. In addition, the player does not decode and render media files in the present invention. , saving CPU resources.
Description
技术领域 technical field
本发明涉及通信领域,具体而言,涉及一种多媒体文件数据的处理方法及系统、播放器和客户端。 The present invention relates to the communication field, in particular to a multimedia file data processing method and system, a player and a client.
背景技术 Background technique
在云桌面中使用传统的带内视频方案播放视频时,视频文件在虚机内进行音视频解码,再把解码后的音视频数据分别通过传输协议的放音通道和传输协议的显示通道发送到客户端进行呈现。在虚机端解码会额外占用虚机的CPU使用率,也降低了同一主机能承载运行的虚机数量;同时解码后的数据量是未解码数据量的几十倍甚至上百倍,大量占用网络带宽,影响虚机和桌面之间的数据传输效率。 When using the traditional in-band video solution to play video in the cloud desktop, the video file is decoded in the virtual machine, and then the decoded audio and video data is sent to the The client renders. Decoding on the virtual machine side will additionally occupy the CPU usage of the virtual machine, and also reduce the number of virtual machines that can be run on the same host; at the same time, the amount of decoded data is dozens or even hundreds of times the amount of undecoded data, which occupies a large amount of network Bandwidth affects the efficiency of data transmission between virtual machines and desktops.
图1是相关技术中云桌面中Windows播放器架构示意图,在云桌面中使用多媒体播放器,如WindowsMediaPlayer、暴风影音,播放多媒体文件;如图1所示,在Windows虚拟机中,媒体文件被读取、解码、渲染播放,经过解码后的多媒体数据通过Spice通道传递到客户端,最后在客户端呈现。目前Windows平台上的播放器核心组件基于DirectShow,Vista以后Windows版本默认基于MediaFoundation架构,由不同的插件完成数据的读取、解压和呈现。在此基础上,不同播放器应用实现个性化的UI,整合不同的视频入口。 Figure 1 is a schematic diagram of the Windows player architecture in the cloud desktop in the related art, using multimedia players in the cloud desktop, such as WindowsMediaPlayer, Baofengyingyin, to play multimedia files; as shown in Figure 1, in the Windows virtual machine, the media files are read Fetching, decoding, rendering and playing, the decoded multimedia data is transmitted to the client through the Spice channel, and finally presented on the client. At present, the core components of the player on the Windows platform are based on DirectShow, and Windows versions after Vista are based on the MediaFoundation architecture by default, and different plug-ins complete data reading, decompression and presentation. On this basis, different player applications realize personalized UI and integrate different video portals.
图2是相关技术中流媒体开发包的架构示意图,如图2,流媒体开发包DirectShow的架构主要分为图形过滤器管理装置FilterGraphManager和三种类型过滤器Filter。FilterGraphManager用来管理整个数据流的处理过程,管理播放过程的开始、暂停、停止等功能。按照功能Filter分为三类:SourceFilters用语获取数据,数据源可以是文件,因特网计算机里的采集卡数字摄像机等;TransformFilters用于数据的格式转换,例如数据流分离/合成,解码/编码等;RenderingFilters用语数据的最终去向将数据传给显卡,声卡进行多媒体的演示,或者输出到文件进行存储。 FIG. 2 is a schematic diagram of the architecture of the streaming media development kit in the related art. As shown in FIG. 2 , the architecture of the streaming media development kit DirectShow is mainly divided into a graphic filter management device FilterGraphManager and three types of filters. FilterGraphManager is used to manage the processing of the entire data stream, and manage functions such as the start, pause, and stop of the playback process. Filters are divided into three categories according to their functions: SourceFilters are used to obtain data, and the data source can be files, digital cameras of acquisition cards in Internet computers, etc.; TransformFilters are used for data format conversion, such as data stream separation/synthesis, decoding/encoding, etc.; RenderingFilters The final destination of the language data is to transfer the data to the graphics card, the sound card for multimedia presentation, or output to a file for storage.
可见,相关技术中Spice视频方案为了节省网络带宽,在SpiceServer对虚拟机内播放的视频还要进行H.264压缩,而解码和压缩都会导致服务器CPU占用较高,影响服务器支持虚机数量。而且视频文件在虚机中解码,而现在各种视频编码压缩率很高,但同时压缩过程和解压缩也越来越复杂,导致视频文件在虚机解码时占用了大量的CPU资源,CPU使用率过高;另外,解码后的多媒体数据量非常大,当这些数据在Spice通道内传输时,占用了大量的带宽,严重影响了其它Spice通道的通信;可见在相关技术中进行视频播放时,会出现视频播放很不流畅、不清晰,经常出现卡顿,同时导致虚拟机CPU使用率过高,直接导致整个桌面出现卡死的现象。 It can be seen that in the Spice video solution in the related art, in order to save network bandwidth, the SpiceServer needs to perform H.264 compression on the video played in the virtual machine, and decoding and compression will cause high CPU usage of the server, affecting the number of virtual machines supported by the server. Moreover, video files are decoded in the virtual machine, and now various video encodings have a high compression rate, but at the same time the compression process and decompression are becoming more and more complicated, resulting in a large amount of CPU resources being occupied when the video file is decoded in the virtual machine. In addition, the amount of multimedia data after decoding is very large. When these data are transmitted in the Spice channel, a large amount of bandwidth is taken up, which seriously affects the communication of other Spice channels; The video playback is not smooth and clear, and often freezes. At the same time, the CPU usage of the virtual machine is too high, which directly causes the entire desktop to freeze.
针对相关技术中进行视频播放时,会出现视频播放很不流畅、不清晰以及虚拟机CPU使用率过高的问题,目前尚未提出有效的解决方案。 Aiming at the problems that the video playback is not smooth and clear and the CPU usage rate of the virtual machine is too high when the video is played in the related technology, no effective solution has been proposed yet.
发明内容 Contents of the invention
本发明的主要目的在于提供一种多媒体文件数据的处理方法及系统、播放器和客户端,以至少解决相关技术中进行视频播放时,会出现视频播放很不流畅、不清晰以及虚拟机CPU使用率过高的问题。 The main purpose of the present invention is to provide a processing method, system, player and client of multimedia file data, so as to at least solve the problem of unsmooth and unclear video playback and virtual machine CPU usage during video playback in related technologies. The problem of high rates.
根据本发明个一个方面,提供了一种多媒体文件数据的处理方法,包括:在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;所述第一过滤器将接收的源过滤器发送的媒体文件数据透传到所述第二过滤器;所述第二过滤器向客户端发送所述媒体文件数据。 According to one aspect of the present invention, a method for processing multimedia file data is provided, including: calling the first filter and the second filter preset by the system according to preset rules when the player builds a graphic filter; The first filter transparently transmits the received media file data sent by the source filter to the second filter; the second filter sends the media file data to the client.
进一步地,在所述系统为Windowsxp时,所述第一过滤器为空解码过滤器,所述第二过滤器为远程渲染过滤器,依据预设规则调用系统预设的第一过滤器和第二过滤器包括:接收用户触发的指令,依据所述指令调用所述空解码过滤器和所述远程渲染过滤器;或依据所述系统预设的优先级调用所述空解码过滤器和所述远程渲染过滤器,其中,所述空解码过滤器和所述远程渲染过滤器具有最高优先级。 Further, when the system is Windowsxp, the first filter is an empty decoding filter, the second filter is a remote rendering filter, and the first filter and the second filter preset by the system are invoked according to preset rules. The second filter includes: receiving an instruction triggered by the user, calling the empty decoding filter and the remote rendering filter according to the instruction; or calling the empty decoding filter and the remote rendering filter according to the priority preset by the system A remote rendering filter, wherein the null decoding filter and the remote rendering filter have the highest priority.
进一步地,在所述系统为Windows7时,所述第一过滤器和所述第二过滤器都为远程渲染过滤器,依据预设规则调用系统预设的第一过滤器和第二过滤器包括:获取应用程序编程接口的函数信息;判断所述函数信息是否指示调用所述系统默认的过滤器,在判断结果为是时,由当前所述系统默认的过滤器切换到所述远程渲染过滤器。 Further, when the system is Windows7, both the first filter and the second filter are remote rendering filters, and the first filter and the second filter preset by the system are invoked according to preset rules, including : Obtain the function information of the application programming interface; judge whether the function information indicates to call the default filter of the system, and switch from the current default filter of the system to the remote rendering filter when the judgment result is yes .
进一步地,所述第二过滤器通过IP链路向所述客户端发送所述媒体文件数据。 Further, the second filter sends the media file data to the client through an IP link.
根据本发明的另一个方面,提供了一种多媒体文件数据的处理方法,客户端接收播放器发送的媒体文件数据;所述客户端对所述媒体文件数据进行解码和渲染;所述客户端依据解码和渲染后的媒体文件数据,将对应于所述媒体文件数据的视频进行播放。 According to another aspect of the present invention, a kind of processing method of multimedia file data is provided, and client receives the media file data that player sends; Described client decodes and renders described media file data; Described client according to After decoding and rendering the media file data, the video corresponding to the media file data is played.
根据本发明的再一个方面,提供了一种播放器,包括:调用模块,用于在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;所述第一过滤器,用于将接收的源过滤器发送的媒体文件数据透传到所述第二过滤器;所述第二过滤器,用于向客户端发送所述媒体文件数据。 According to still another aspect of the present invention, a player is provided, including: a calling module, configured to call the first filter and the second filter preset by the system according to preset rules when the player constructs a graphic filter; The first filter is configured to transparently transmit the received media file data sent by the source filter to the second filter; the second filter is configured to send the media file data to the client.
进一步地,在所述系统为Windowsxp时,所述第一过滤器为空解码过滤器,所述第二过滤器为远程渲染过滤器;所述调用模块,用于接收用户触发的指令,依据所述指令调用所述空解码过滤器和所述远程渲染过滤器;或,依据所述系统预设的优先级顺序调用所述空解码过滤器和所述远程渲染过滤器,其中,所述空解码过滤器和所述远程渲染过滤器具有最高优先级。 Further, when the system is Windowsxp, the first filter is an empty decoding filter, and the second filter is a remote rendering filter; the calling module is used to receive an instruction triggered by a user, and according to the The above instruction calls the empty decoding filter and the remote rendering filter; or, calls the empty decoding filter and the remote rendering filter according to the priority order preset by the system, wherein the empty decoding The filter and the remote rendering filter have the highest priority.
进一步地,在所述系统为Windows7时,所述第一过滤器和所述第二过滤器都为远程渲染过滤器;所述调用模块包括:获取单元,用于获取应用程序编程接口的函数信息;判断单元,用于判断所述函数信息是否指示调用所述系统默认的过滤器;切换单元,用于在判断结果为是时,由当前所述系统默认的过滤器切换到所述远程渲染过滤器。 Further, when the system is Windows7, both the first filter and the second filter are remote rendering filters; the calling module includes: an acquisition unit, configured to acquire function information of an application programming interface ; Judging unit, used to judge whether the function information indicates to call the default filter of the system; switching unit, used to switch from the current default filter of the system to the remote rendering filter when the judgment result is yes device.
根据本发明的再一个方面,提供了一种客户端,包括:接收模块,用于接收播放器发送的媒体文件数据;处理模块,用于对所述媒体文件数据进行解码和渲染处理;播放模块,用于依据解码和渲染后的媒体文件数据,将对应于所述媒体文件数据的视频进行播放。 According to still another aspect of the present invention, a client is provided, including: a receiving module, configured to receive media file data sent by the player; a processing module, configured to decode and render the media file data; a playing module , for playing the video corresponding to the media file data according to the decoded and rendered media file data.
根据本发明的又一个方面,提供了一种多媒体文件数据的处理系统,所述系统包括:以上所述播放器和所述客户端。 According to yet another aspect of the present invention, a multimedia file data processing system is provided, and the system includes: the above-mentioned player and the client.
通过本发明,采用在播放器构建图像过滤器时,调用第一过滤器和第二过滤器,而该第一过滤器和第二过滤不对媒体文件数据进行格式的转换和渲染,仅仅是将获取到的媒体文件数据透传到客户端,在客户端进行媒体文件的格式转换和渲染,通过上述方式在播放器中不对媒体文件进行解码和渲染,节省了CPU资源。 Through the present invention, when the player constructs the image filter, the first filter and the second filter are called, and the first filter and the second filter do not convert and render the format of the media file data, but only obtain The received media file data is transparently transmitted to the client, and the format conversion and rendering of the media file are performed on the client. In the above method, the media file is not decoded and rendered in the player, which saves CPU resources.
附图说明 Description of drawings
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: The accompanying drawings described here are used to provide a further understanding of the present invention and constitute a part of the application. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations to the present invention. In the attached picture:
图1是相关技术中云桌面中Windows播放器架构示意图; Fig. 1 is a schematic diagram of the Windows player architecture in the cloud desktop in the related art;
图2是相关技术中流媒体开发包的架构示意图; Fig. 2 is a schematic diagram of the architecture of the streaming media development kit in the related art;
图3是根据本发明实施例的多媒体文件数据的处理方法流程图一; FIG. 3 is a first flow chart of a method for processing multimedia file data according to an embodiment of the present invention;
图4是根据本发明实施例的多媒体文件数据的处理方法流程图二; 4 is a second flow chart of a method for processing multimedia file data according to an embodiment of the present invention;
图5是根据本发明实施例的播放器结构框图; Fig. 5 is a structural block diagram of a player according to an embodiment of the present invention;
图6是根据本发明实施例的客户端结构框图; Fig. 6 is a structural block diagram of a client according to an embodiment of the present invention;
图7是根据本发明实施例的多媒体文件数据的处理系统结构框图; Fig. 7 is a structural block diagram of a processing system for multimedia file data according to an embodiment of the present invention;
图8是根据本发明可选实施例的系统整体结构框图; FIG. 8 is a block diagram of the overall structure of the system according to an optional embodiment of the present invention;
图9是根据本发明实施例的在Windowsxp系统下视频重定向的示意图; Fig. 9 is a schematic diagram of video redirection under the Windowsxp system according to an embodiment of the present invention;
图10是根据本发明实施例的在Windows7下视频重定向示意图。 Fig. 10 is a schematic diagram of video redirection under Windows 7 according to an embodiment of the present invention.
具体实施方式 detailed description
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。 Hereinafter, the present invention will be described in detail with reference to the drawings and examples. It should be noted that, in the case of no conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.
在本实施例中提供了一种多媒体文件数据的处理方法,图3是根据本发明实施例的多媒体文件数据的处理方法流程图一,如图3所示,该流程包括如下步骤: In this embodiment, a method for processing multimedia file data is provided. FIG. 3 is a flowchart one of a method for processing multimedia file data according to an embodiment of the present invention. As shown in FIG. 3 , the process includes the following steps:
步骤S302:在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器; Step S302: When the player builds a graphics filter, call the first filter and the second filter preset by the system according to preset rules;
步骤S304:第一过滤器将接收的源过滤器发送的媒体文件数据透传到第二过滤器; Step S304: the first filter transparently transmits the received media file data sent by the source filter to the second filter;
步骤S306:第二过滤器向客户端发送媒体文件数据。 Step S306: the second filter sends the media file data to the client.
通过本实施例,采用在播放器构建图像过滤器时,调用第一过滤器和第二过滤器,而该第一过滤器和第二过滤不对媒体文件数据进行格式的转换和渲染,仅仅是将获取到的媒体文件数据透传到客户端,在客户端进行媒体文件的格式转换和渲染。通过本实施例在播放器中不对媒体文件进行解码和渲染,节省了CPU资源。 Through this embodiment, when the player builds an image filter, the first filter and the second filter are called, but the first filter and the second filter do not perform format conversion and rendering on the media file data, but only convert the The obtained media file data is transparently transmitted to the client, and the format conversion and rendering of the media file is performed on the client. Through this embodiment, the media file is not decoded and rendered in the player, which saves CPU resources.
在本实施例中,不同的系统调用第一过滤器和第二过滤器的方式也是不一样的,而且,在不同的系统中第一过滤器和第二过滤器也是不相同的;下面以Windowsxp和Windows7为例进行相应的说明; In this embodiment, different systems call the first filter and the second filter in different ways, and the first filter and the second filter are also different in different systems; Take Windows7 as an example for corresponding description;
应用场景一:在系统为Windowsxp时,第一过滤器为空解码过滤器,第二过滤器为远程渲染过滤器,上述步骤S102中依据预设规则调用系统预设的第一过滤器和第二过滤器的方式可以通过如下方式来实现: Application scenario 1: When the system is Windowsxp, the first filter is an empty decoding filter, and the second filter is a remote rendering filter. In the above step S102, the first filter and the second filter preset by the system are called according to the preset rules. Filters can be implemented in the following ways:
方式一:接收用户触发的指令,依据指令调用空解码过滤器和远程渲染过滤器。 Method 1: Receive an instruction triggered by the user, and call the empty decoding filter and the remote rendering filter according to the instruction.
方式二:依据系统预设的优先级调用空解码过滤器和远程渲染过滤器,其中,空解码过滤器和远程渲染过滤器具有最高优先级。 Method 2: call the empty decoding filter and the remote rendering filter according to the priority preset by the system, wherein the empty decoding filter and the remote rendering filter have the highest priority.
应用场景二:在系统为Windows7时,第一过滤器和第二过滤器都为远程渲染过滤器,上述步骤S102中依据预设规则调用系统预设的第一过滤器和第二过滤器的方式可以通过如下方式来实现: Application Scenario 2: When the system is Windows7, both the first filter and the second filter are remote rendering filters, the method of invoking the first filter and the second filter preset by the system according to the preset rules in the above step S102 This can be achieved by:
步骤S11:获取应用程序编程接口的函数信息; Step S11: Obtain function information of the application programming interface;
步骤S12:判断函数信息是否指示调用系统默认的过滤器,在判断结果为是时,由当前系统默认的过滤器切换到远程渲染过滤器。 Step S12: Judging whether the function information indicates calling the system default filter, and switching from the current system default filter to the remote rendering filter if the judgment result is yes.
需要说明的是,上述两种系统仅仅是用来进行举例说明,在其他能实现第一过滤器和第二过滤器相应的功能的系统也在本发明的保护范围之内。 It should be noted that the above two systems are only used for illustration, and other systems that can realize the corresponding functions of the first filter and the second filter are also within the protection scope of the present invention.
可选地,在本实施例的一个可选实施方式中,第二过滤器通过IP链路向客户端发送媒体文件数据,可选的该IP链路为Socket通道。而对于该Socket通道走的是带外,没有通过简单协议独立计算环境(SimpleProtocolforIndependentComputingEnvironment简称为Spice),进而有效地节省了带宽。 Optionally, in an optional implementation manner of this embodiment, the second filter sends the media file data to the client through an IP link, and the IP link is optionally a Socket channel. However, the Socket channel is out-of-band and does not use the Simple Protocol for Independent Computing Environment (Spice for short), thereby effectively saving bandwidth.
图4是根据本发明实施例的多媒体文件数据的处理方法流程图二,如图4所示,该方法包括: Fig. 4 is the second flowchart of the method for processing multimedia file data according to an embodiment of the present invention. As shown in Fig. 4, the method includes:
步骤S402:客户端接收播放器发送的媒体文件数据; Step S402: the client receives the media file data sent by the player;
步骤S404:客户端对媒体文件数据进行解码和渲染; Step S404: the client decodes and renders the media file data;
步骤S406:客户端依据解码和渲染后的媒体文件数据,将对应于媒体文件数据的视频进行播放。 Step S406: The client plays the video corresponding to the media file data according to the decoded and rendered media file data.
通过本实施例,将需要播放的媒体文件数据在客户端进行解码和渲染,从而不需要在云桌面的播放器中进行媒体文件数据的解码和渲染,节省了CPU的资源。 Through this embodiment, the media file data to be played is decoded and rendered on the client side, so that the media file data does not need to be decoded and rendered in the cloud desktop player, saving CPU resources.
在本实施例中还提供了一种播放器以及客户端,该播放器和客户端用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。 In this embodiment, a player and a client are also provided, and the player and the client are used to implement the above embodiments and preferred implementation manners, and those that have already been described will not be repeated. As used below, the term "module" may be a combination of software and/or hardware that realizes a predetermined function.
图5是根据本发明实施例的播放器结构框图,如图5所示,该播放器包括: Fig. 5 is a structural block diagram of a player according to an embodiment of the present invention. As shown in Fig. 5, the player includes:
调用模块52,用于在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器54和第二过滤器56;第一过滤器54与调用模块52耦合连接,用于将接收的源过滤器发送的媒体文件数据透传到第二过滤器;第二过滤器56与第一过滤器54耦合连接,用于向客户端发送媒体文件数据。 The calling module 52 is used to call the first filter 54 and the second filter 56 preset by the system according to preset rules when the player builds a graphic filter; the first filter 54 is coupled to the calling module 52 for Transparently transmit the received media file data sent by the source filter to the second filter; the second filter 56 is coupled to the first filter 54 and used for sending the media file data to the client.
在本实施例中,不同的系统调用第一过滤器和第二过滤器的方式也是不一样的,而且,在不同的系统中第一过滤器和第二过滤器也是不相同的;下面以Windowsxp和Windows7为例进行相应的说明; In this embodiment, different systems call the first filter and the second filter in different ways, and the first filter and the second filter are also different in different systems; Take Windows7 as an example for corresponding description;
应用场景一:在系统为Windowsxp时,第一过滤器为空解码过滤器,第二过滤器为远程渲染过滤器; Application scenario 1: When the system is Windowsxp, the first filter is an empty decoding filter, and the second filter is a remote rendering filter;
可选地,调用模块52,用于接收用户触发的指令,依据指令调用空解码过滤器和远程渲染过滤器;或,依据系统预设的优先级顺序调用空解码过滤器和远程渲染过滤器,其中,空解码过滤器和远程渲染过滤器具有最高优先级。 Optionally, the calling module 52 is configured to receive an instruction triggered by the user, and call the empty decoding filter and the remote rendering filter according to the instruction; or, call the empty decoding filter and the remote rendering filter according to the priority sequence preset by the system, Among them, the empty decoding filter and the remote rendering filter have the highest priority.
应用场景二:在系统为Windows7时,第一过滤器和第二过滤器都为远程渲染过滤器; Application Scenario 2: When the system is Windows7, both the first filter and the second filter are remote rendering filters;
调用模块52还可以包括:获取单元,用于获取应用程序编程接口的函数信息;判断单元与获取单元耦合连接,用于判断函数信息是否指示调用系统默认的过滤器;切换单元与判断单元耦合连接,用于在判断结果为是时,由当前系统默认的过滤器切换到远程渲染过滤器。 The calling module 52 may also include: an acquisition unit, used to acquire the function information of the application programming interface; the judgment unit is coupled to the acquisition unit, and used to judge whether the function information indicates the default filter of the calling system; the switching unit is coupled to the judgment unit , used to switch from the current system default filter to the remote rendering filter when the judgment result is yes.
图6是根据本发明实施例的客户端结构框图,如图6所示,该客户端包括:接收模块62,用于接收播放器发送的媒体文件数据;处理模块64与接收模块62耦合连接,用于对媒体文件数据进行解码和渲染;播放模块66与处理模块64耦合连接,用于依据解码和渲染后的媒体文件数据,将对应于媒体文件数据的视频进行播放。 Fig. 6 is a structural block diagram of a client according to an embodiment of the present invention. As shown in Fig. 6, the client includes: a receiving module 62 for receiving the media file data sent by the player; a processing module 64 coupled with the receiving module 62, It is used to decode and render the media file data; the playing module 66 is coupled to the processing module 64, and is used to play the video corresponding to the media file data according to the decoded and rendered media file data.
图7是根据本发明实施例的多媒体文件数据的处理系统结构框图,如图7所示,该系统包括:本发明实施例中播放器和客户端。 Fig. 7 is a structural block diagram of a multimedia file data processing system according to an embodiment of the present invention. As shown in Fig. 7, the system includes: a player and a client in the embodiment of the present invention.
下面结合本发明的可选实施例对本发明进行举例说明; The present invention is illustrated below in conjunction with optional embodiments of the present invention;
在本可选实施例中使用了Detour和远程注入技术,播放器以WindowsMediaPlayer为例,结合图8、图9以及图10对本发明可选实施例进行详细说明,图8是根据本发明可选实施例的系统整体结构框图,如图8所示,该装置中Windows虚拟机中的播放器包含有媒体文件,而在客户端中包括用于对多媒体数据进行解码和播放的组件。 In this optional embodiment, Detour and remote injection technology are used. The player takes WindowsMediaPlayer as an example. The optional embodiment of the present invention is described in detail in conjunction with FIG. 8, FIG. 9 and FIG. 10. FIG. 8 is an optional implementation according to the present invention As shown in FIG. 8 , the player in the Windows virtual machine in the device includes media files, and the client includes components for decoding and playing multimedia data.
图9是根据本发明实施例的在Windowsxp系统下视频重定向的示意图,如图9所示,Windowsxp下的WindowsMediaPlayer的视频重定向方案:在系统中注册我们写的NullFilter和RemoteRendererFilter,播放器在构建FilterGraph时会调用我们的Filter,这样就实现了视频重定向。为避免在虚拟机内做软解码,并支持各种不同的播放器,则必须将播放器所创建FilterGraph中的DecoderFilter和RendererFilter替换掉,如图5所示,NULLDecoder为不进行实际编码的Filter,只是将SourceFilter发送的数据透传给RemoteRender,由RemoteRender建立于客户端的连接,并将未解码的数据发送给客户端,由客户端进行解码和呈现。 Fig. 9 is the schematic diagram of video redirection under Windowsxp system according to the embodiment of the present invention, as shown in Fig. 9, the video redirection scheme of WindowsMediaPlayer under Windowsxp: register NullFilter and RemoteRendererFilter that we write in system, player is building FilterGraph will call our Filter, thus realizing video redirection. In order to avoid soft decoding in the virtual machine and support various players, the DecoderFilter and RendererFilter in the FilterGraph created by the player must be replaced, as shown in Figure 5, NULLDecoder is a Filter that does not perform actual encoding. It just transparently transmits the data sent by SourceFilter to RemoteRender, and RemoteRender establishes a connection with the client, and sends the undecoded data to the client, which decodes and presents it.
针对采用智能连接的播放器,可以通过将NULLDecoder以及RemoteRendererFilter的优先级Merit值设置成高优先级,从而播放器在构造FilterGraph时自动选择NULLDecoder以及RemoteRendererFilter,从而实现媒体数据的重定向。 For players using smart connections, you can set the priority Merit value of NULLDecoder and RemoteRendererFilter to a high priority, so that the player automatically selects NULLDecoder and RemoteRendererFilter when constructing the FilterGraph, thereby realizing media data redirection.
图10是根据本发明实施例的在Windows7下视频重定向示意图,如图10所示, Fig. 10 is a schematic diagram of video redirection under Windows 7 according to an embodiment of the present invention, as shown in Fig. 10,
首先在媒体播放器构建FilterGraph的过程中根据用户需啊哟修改Windows7系统选定的Filter,通过截获WindowsDirectShow的API,在钩子函数里面判断:如果是Decoder/Render,则将其替换成RemoteRender,该RemoteRender在接收到媒体数据后不会进行视频的解码和渲染,而是直接把媒体数据通过Socket发送到客户端。 Firstly, in the process of constructing the FilterGraph by the media player, modify the Filter selected by the Windows 7 system according to the needs of the user. By intercepting the API of WindowsDirectShow, judge in the hook function: if it is Decoder/Render, replace it with RemoteRender, and the RemoteRender is in the hook function. After receiving the media data, the video will not be decoded and rendered, but the media data will be directly sent to the client through the Socket.
通过本可选实施例,在虚机桌面中播放视频时,将虚机的视频编码提取出来和桌面协议分离,视频不在虚机中解码而是直接传输到客户端进行解码播放,降低了CPU的使用率。而且传输是通过Socket通过,即走的是带外,而不需要通过Spice通道,有效地节省了带宽。需要说明的是经过视频重定向的播放器可以支持多种格式如AVI、FLV、RM、RMVB。 Through this optional embodiment, when playing video on the desktop of the virtual machine, the video encoding of the virtual machine is extracted and separated from the desktop protocol. The video is not decoded in the virtual machine but is directly transmitted to the client for decoding and playback, which reduces the CPU load. usage rate. Moreover, the transmission is through the Socket, that is, it is out-of-band, and does not need to pass through the Spice channel, which effectively saves bandwidth. It should be noted that the player after video redirection can support multiple formats such as AVI, FLV, RM, RMVB.
针对本发明实施例涉及到的英文缩写进行解释如下表: The English abbreviations involved in the embodiments of the present invention are explained in the following table:
以上仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 The above are only optional embodiments of the present invention, and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and changes. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.
Claims (10)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410842842.1A CN105812922A (en) | 2014-12-30 | 2014-12-30 | Multimedia file data processing method, system, player and client |
| PCT/CN2015/086168 WO2016107174A1 (en) | 2014-12-30 | 2015-08-05 | Method and system for processing multimedia file data, player and client |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410842842.1A CN105812922A (en) | 2014-12-30 | 2014-12-30 | Multimedia file data processing method, system, player and client |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN105812922A true CN105812922A (en) | 2016-07-27 |
Family
ID=56284119
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201410842842.1A Pending CN105812922A (en) | 2014-12-30 | 2014-12-30 | Multimedia file data processing method, system, player and client |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN105812922A (en) |
| WO (1) | WO2016107174A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107222783A (en) * | 2017-07-13 | 2017-09-29 | 山东超越数控电子有限公司 | A kind of video based on SPICE protocol redirects implementation method |
| CN108600860A (en) * | 2018-03-13 | 2018-09-28 | 山东超越数控电子股份有限公司 | A kind of method and system accelerating video based on SPICE protocol |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101453662A (en) * | 2007-12-03 | 2009-06-10 | 华为技术有限公司 | Stereo video communication terminal, system and method |
| CN101820535A (en) * | 2008-08-15 | 2010-09-01 | 北京北大众志微系统科技有限责任公司 | Network computer multimedia video playing method and system |
| CN102158553A (en) * | 2011-03-31 | 2011-08-17 | 华为技术有限公司 | Method and device for playing multi-media files for remote desktop |
| US20110265083A1 (en) * | 2010-04-26 | 2011-10-27 | Vmware, Inc. | File system independent content aware cache |
| CN102460393A (en) * | 2009-05-01 | 2012-05-16 | 思杰系统有限公司 | Systems and methods for establishing a cloud bridge between virtual storage resources |
| CN102713882A (en) * | 2009-11-16 | 2012-10-03 | 思杰系统有限公司 | Methods and systems for selective implementation of progressive display techniques |
| CN103460207A (en) * | 2011-01-27 | 2013-12-18 | 韦斯技术有限公司 | Self-provisioning of configuration for a specific-purpose client having a windows-based embedded image with a write-filter |
| CN103873924A (en) * | 2012-12-12 | 2014-06-18 | 华为技术有限公司 | Video redirecting method, device and system |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100591120C (en) * | 2007-04-29 | 2010-02-17 | 华为技术有限公司 | Video communication method and device |
| CN101902471B (en) * | 2010-07-16 | 2013-01-16 | 福建升腾资讯有限公司 | Streaming media mapping method under RDP (Remote Desktop Protocol) environment |
| GB2483081A (en) * | 2010-08-25 | 2012-02-29 | Sony Corp America | Tamper resistance in media processing using an obfuscated buffer handle |
-
2014
- 2014-12-30 CN CN201410842842.1A patent/CN105812922A/en active Pending
-
2015
- 2015-08-05 WO PCT/CN2015/086168 patent/WO2016107174A1/en not_active Ceased
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101453662A (en) * | 2007-12-03 | 2009-06-10 | 华为技术有限公司 | Stereo video communication terminal, system and method |
| CN101820535A (en) * | 2008-08-15 | 2010-09-01 | 北京北大众志微系统科技有限责任公司 | Network computer multimedia video playing method and system |
| CN102460393A (en) * | 2009-05-01 | 2012-05-16 | 思杰系统有限公司 | Systems and methods for establishing a cloud bridge between virtual storage resources |
| CN102713882A (en) * | 2009-11-16 | 2012-10-03 | 思杰系统有限公司 | Methods and systems for selective implementation of progressive display techniques |
| US20110265083A1 (en) * | 2010-04-26 | 2011-10-27 | Vmware, Inc. | File system independent content aware cache |
| CN103460207A (en) * | 2011-01-27 | 2013-12-18 | 韦斯技术有限公司 | Self-provisioning of configuration for a specific-purpose client having a windows-based embedded image with a write-filter |
| CN102158553A (en) * | 2011-03-31 | 2011-08-17 | 华为技术有限公司 | Method and device for playing multi-media files for remote desktop |
| CN103873924A (en) * | 2012-12-12 | 2014-06-18 | 华为技术有限公司 | Video redirecting method, device and system |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107222783A (en) * | 2017-07-13 | 2017-09-29 | 山东超越数控电子有限公司 | A kind of video based on SPICE protocol redirects implementation method |
| CN108600860A (en) * | 2018-03-13 | 2018-09-28 | 山东超越数控电子股份有限公司 | A kind of method and system accelerating video based on SPICE protocol |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2016107174A1 (en) | 2016-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10721282B2 (en) | Media acceleration for virtual computing services | |
| CN101582926B (en) | Method for realizing redirection of playing remote media and system | |
| KR101780782B1 (en) | Method and apparatus for cloud streaming service | |
| CN105191326A (en) | Video streaming in a wireless communication system | |
| CN106034241A (en) | Multimedia redirection method, device and system | |
| CN105262825A (en) | SPICE cloud desktop transporting and displaying method and system on the basis of H.265 algorithm | |
| CN104053019A (en) | Video playing and processing method and device based on virtual desktop | |
| CN105898506A (en) | Method and system for multi-screen playing of media files | |
| CN115243074A (en) | Video stream processing method and device, storage medium, and electronic device | |
| CN104639951A (en) | Video bitstream frame extraction process and device | |
| CN111031389B (en) | Video processing method, electronic device and storage medium | |
| US20240373047A1 (en) | Audio and video transcoding apparatus and method, device, medium, and product | |
| CN104067627A (en) | Video redirecting method, device, system and computer readable medium | |
| CN114157919B (en) | Data processing method and system, cloud terminal, server and computing device | |
| CN104639501B (en) | A kind of method of data stream transmitting, equipment and system | |
| CN105812922A (en) | Multimedia file data processing method, system, player and client | |
| CN115086282B (en) | Video playback method, device and storage medium | |
| CN113747099B (en) | Video transmission method and device | |
| US8762545B2 (en) | Network data sharing system for sharing multimedia data on network and handheld electronic device thereof | |
| US20240129537A1 (en) | Method and apparatus for signaling cmaf switching sets in isobmff | |
| CN111200580B (en) | A kind of player and playing method | |
| WO2025010981A1 (en) | Screen sharing method and related device | |
| WO2025107266A9 (en) | Video transmission method and device | |
| WO2025112012A1 (en) | Video transmission method and device | |
| CN117439980A (en) | Video-on-demand method, device, equipment and storage medium based on intermediate number |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160727 |
|
| RJ01 | Rejection of invention patent application after publication |